Ubuntu使用dnsmasq作本地DNS缓存

Dnsmasq是一个很实用的小工具,解决局域网的需求看来非常合适,特别是网关和防火墙上。
它同时也可以作为一个dns查询服务器,虽然不如bind等完善,但基本功能也够用了。
它可以提供如下几个实用的功能:

sudo apt-get install dnsmasq

修改/etc/resolv.conf文件。

sudo gedit /etc/resolv.conf 

将原有的内容全部注释,然后在第一行写上

nameserver 127.0.0.1

也可以使用ubuntu的网络管理小程序“Network Manager”在桌面右上角有一个它的图标,右键点击该图标,选择“编辑连接”,选择你所使用的连接,点击编辑,在“IPv4设置”标签的“DNS服务器”输入框中,把原有的DNS服务器删除,输入 127.0.0.1

在/etc目录下新建resolv.dnsmasq文件。 文件的内容为DNS服务器的地址,是真正的DNS服务器,如我的文件内容是:

nameserver 199.91.73.222 nameserver 42.120.21.30 nameserver 8.8.8.8 

可以不按帮助文档所说的执行“dnsmasq-r/etc/resolv.dnsmasq”命令,如果这样,岂不是每次都得在命令行里输入,非常麻烦,当然,可以考虑把这个命令写入“/etc/rc.local”文件中,让系统每次启动时帮你运行。 我所使用的方法是编辑“/etc/dnsmasq.conf”文件。

sudo gedit /etc/dnsmasq.conf

找到下面这一项 resolv-file=

用下面的一条语句替换 resolv-file=/etc/resolv.dnsmasq

其实也就是执行dnsmasq命令中-r参数后面的内容。

编辑 /etc/dhcp3/dhclient.conf

sudo gedit /etc/dhcp3/dhclient.conf 

找到下面这一项 #prepend domain-name-servers 127.0.0.1将前面的“#”删除。这么做的目的是为了在使用自动连接时,能在/etc/resolv.conf文件的第一行添加上“nameserver 127.0.0.1”,这样,dns缓存依然有效。

编辑 /etc/ppp/peers/dsl-provider

sudo gedit /etc/ppp/peers/dsl-provider 

可能有的系统没有“/etc/ppp/peers/dsl-provider”文件,而是“/etc/ppp/peers/provider”文件,找到下面这一项 usepeerdns 在前面增加“#”,也就是把这条语句注释掉,以防resolv.conf的设置被pppoe复盖。

对于12.04版本
由于该版本已经安装dnsmasq-base,则必须先修改/etc/NetworkManager/NetworkManager.conf文件

sudo gedti /etc/NetworkManager/NetworkManager.conf 

找到dns=dnsmasq,在前面增加“#”,也就是把这句注释掉。

sudo gedit /etc/default/dnsmasq

找到IGNORE_RESOLVCONF=yes,这一条要删除注释,删掉#号。

sudo /etc/init.d/dnsmasq restart
sudo service dnsmasq restart

随便找一个网址,测试两次就能看出查询时间的差异:

dig google.com

两次返回结果的时间不一样,第二次一般是0ms;多试几个网址,证明成功了。

最后,留下自己的dnsmasq.conf设置备份。

listen-address=127.0.0.1 strict-order #no-hosts #no-poll resolv-file=/etc/resolv.dnsmasq.conf #反电信劫持-114导航 bogus-nxdomain=218.30.64.194 #bogus-nxdomain=67.215.66.132 # Set the cachesize here. cache-size=2048 #国内指定DNS server=/cn/114.114.114.114 server=/taobao.com/114.114.114.114 server=/taobaocdn.com/114.114.114.114 server=/tbcache.com/114.114.114.114 server=/tdimg.com/114.114.114.114 server=/weibo.com/114.114.114.114 server=/weibo.cn/114.114.114.114 server=/xunlei.com/114.114.114.114 #国外指定DNS server=/google.com/42.120.21.30 server=/twitter.com/42.120.21.30 server=/facebook.com/42.120.21.30 #host区段 #本机 address=/tp.set/192.168.2.1 address=/dx.set/192.168.1.1 #其他 address=/t66y.com/184.154.128.246 #address=/github.com/192.30.252.131

 

原文链接:https://www.cnblogs.com/liuye1990/p/13187488.html

原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/23522

(0)
上一篇 2024年4月13日 22:51
下一篇 2024年4月13日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

优速盾注册领取大礼包www.cdnb.net
/sitemap.xml