本文首发于个人博客,内容略有改动
原文连接:使用 Dnsmasq 自建 DNSdom
Dnsmasq 的功能比较多,本文介绍它的 DNS 功能。
有些 Linux 发行版中预装了 Dnsmasq, 若是没有能够经过软件管理器安装,这里不赘述。
Dnsmasq 的配置文件通常在 /etc/dnsmasq.conf
。
几个关键的参数:code
port
DNS的端口resolv-file
指向另外一个文件,里面定义了上游 DNS,当遇到本地的 DNS 没法解析的域名,则会向上游 DNS 进行查询listen-address
这里填写监听的 ip,若是要应用于全部的网卡可设为0.0.0.0
,或者设为指定的 ip 也可最为重要的参数就是 address
了。blog
这个参数即为注册的 DNS 记录。
例如:address=/test.domain.com/192.168.1.1
dns
Dnsmasq 比 SkyDNS (以及修改 hosts 文件的方案)强大的一点就是支持泛域名解析,例如:address=/.domain.com/192.168.1.1
会将 domain.com
下的全部子域名都解析到指定的 ip 上,另有配置的除外。ip
配置好之后重启一下 Dnsmasq 服务便可生效。get
Dnsmasq 能够用于本机做为高级的 hosts 使用,也可搭建在国外的 VPS 上,防止 DNS 污染。博客
注意:CentOS7 系统中会有一个默认由 libvirtd 管理的 dnsmasq 服务和一个 systemd 管理的 dnsmasq 服务。建议使用 virsh net-autostart --disable default
命令关闭由 libvirtd 启动的 dnsmasq,经过 systemctl enable dnsmasq.service
实现开机启动。域名