返回顶部

松鼠窝

在ubuntu14版本上使用dnsmasq配置自定义的简易DNS服务

2015年02月23日

现在的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>

返回顶部