现在的UBUNTU桌面发行版已经自带了dnsmasq,如何再配置自己的DNS配置?
UBUNTU桌面版中的dnsmasq
不记得从哪个版本开始,大概是13.04以后,UBUNTU的网络设置工具会自带一下dnsmasq工具,用于适应各种不同网卡的DNS配置。可以看到进程信息类似:
nobody 2138 1197 0 09:50 ? 00:00:00 /usr/sbin/dnsmasq --no-resolv --keep-in-foreground --no-hosts --bind-interfaces --pid-file=/run/sendsigs.omit.d/network-manager.dnsmasq.pid --listen-address=127.0.1.1 --conf-file=/var/run/NetworkManager/dnsmasq.conf --cache-size=0 --proxy-dnssec --enable-dbus=org.freedesktop.NetworkManager.dnsmasq --conf-dir=/etc/NetworkManager/dnsmasq.d
这个dnsmasq的作用,是把NetWorkManager中的DNS服务器配置作为上级DNS,在127.0.1.1这个地址虚拟一个本地DNS服务。而UBUNTU会把本机的/etc/resolv.conf中的内容改为:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
search router
叠床架屋?——启用dnsmasq服务
由于这个dnsmasq是属于dnsmasq-base包的,只有运行程序,没有安装配置文件和开机启动服务,因此可以通过配置dnsmasq服务来再启动一个本地简易DNS,同时还继承原有配置。
首先需要安装dnsmasq包,即:
sudo apt-get install dnsmasq
此软件包包括/etc/dnsmasq.conf,/etc/dnsmasq.d,/etc/init.d/dnsmasq等配置文件,实现了开机从配置文件启动。
简单的DNS配置
配置格式为:address=/域名/IP地址
域名可以使用“泛域名”,如下面的配置:
address=/.squirrel.org/127.0.0.1
这一配置将所有squirrel.org和它的下级域名都解析为127.0.0.1了。
参考
http://www.cnblogs.com/sink_cup/archive/2012/08/17/router_dnsmasq_android_hosts.html
<p class=’post-footer’>
原文链接地址:
http://pangyi.github.io/blog/20150223/zai-ubuntu14ban-ben-shang-shi-yong-dnsmasqpei-zhi-zi-ding-yi-de-jian-yi-dnsfu-wu/
written by PangYi
posted at http://pangyi.github.io
</p>