Dnsmasq安装与配置 太过爱你忘了你带给我的痛 2022-05-19 01:37 170阅读 0赞 # 默认的情况下,我们平时上网用的本地DNS服务器都是使用电信或者联通的,但是这样也导致了不少的问题,首当其冲的就是上网时经常莫名地弹出广告,或者莫名的流量被消耗掉导致网速变慢。其次是部分网站域名不能正常被解析,莫名其妙地打不开,或者时好时坏。 # 如果碰上不稳定的本地DNS,还可能经常出现无法解析的情况。除了要避免“坏”的DNS的影响,我们还可以利用DNS做些“好”事,例如管理局域网的DNS、给手机App Store加速、纠正错误的DNS解析记录、保证上网更加安全、去掉网页讨厌的广告等等。 这时候搭建一个属于自己的本地DNS服务器就十分必要了,本篇文章就来分享一下[Dnsmasq][]安装与配置方法,利用Dnsmasq来搭建一个属于自己的本地DNS服务器,享受更干净无污染、更智能快速和没有广告干扰的DNS解析服务。 选择好的本地DNS可以让我们上网更快更舒心,而对于网站,选择一个好的DNS域名解析服务也是十分重要: * 1、DNS排名:[十大免费DNS域名解析服务-稳定,可靠,好用的免费DNS服务][DNS_-_DNS] * 2、国外DNS:[Linode免费DNS使用方法和He.net稳定功能强大的DNS解析服务][Linode_DNS_He.net_DNS] * 3、国内DNS:[360网站卫士免费DNS和CDN申请使用及CDN缓存无法切换移动主题][360_DNS_CDN_CDN] **Dnsmasq安装与配置-搭建本地DNS服务器 享受更干净更快无广告DNS解析** **一、Dnsmasq安装** 1、执行以下命令在VPS上安装Dnsmasq: yum install dnsmasq -y service dnsmasq start [![Dnsmasq安装][Dnsmasq 1]][Dnsmasq_Dnsmasq 1] **二、Dnsmasq配置** 1、Dnsmasq的配置文件是放在 /etc/dnsmasq.conf 中。 [![Dnsmasq配置文件][Dnsmasq 2]][Dnsmasq_Dnsmasq 2] 2、打开编辑,配置:resolv-file=/etc/resolv.dnsmasq.conf,表示dnsmasq 会从这个指定的文件中寻找上游dns服务器。同时取消 strict-order 前面的注册\#号。 [![Dnsmasq去除注释号][Dnsmasq 3]][Dnsmasq_Dnsmasq 3] 3、检查一下no-hosts前面是不是已经有了\#号,默认的情况下是有的,dnsmasq 会首先寻找本地的 hosts 文件再去寻找缓存下来的域名, 最后去上游dns 服务器寻找。 [![Dnsmasq检查配置][Dnsmasq 4]][Dnsmasq_Dnsmasq 4] 4、设置:listen-address=127.0.0.1,表示这个 dnsmasq 本机自己使用有效。注意:如果你想让本机所在的局域网的其它电脑也能够使用上Dnsmasq,应该把本机的局域网IP加上去:listen-address=192.168.1.123,127.0.0.1。注意:**如果想允许所有的用户使用你的DNS解析服务器,把listen-address去掉即可**。 [![Dnsmasq局域网IP][Dnsmasq_IP]][Dnsmasq_IP_Dnsmasq_IP] 5、修改好了dnsmasq.conf 后,就可以将它重新上传覆盖原文件了。 6、另外我们还需要修改/etc/resolv.conf这个文件,执行以下命令: echo 'nameserver 127.0.0.1' > /etc/resolv.conf cp /etc/resolv.conf /etc/resolv.dnsmasq.conf echo 'nameserver 8.8.8.8' > /etc/resolv.dnsmasq.conf echo 'nameserver 199.91.73.222' > /etc/resolv.dnsmasq.conf cp /etc/hosts /etc/dnsmasq.hosts echo 'addn-hosts=/etc/dnsmasq.hosts' >> /etc/dnsmasq.conf [![Dnsmasq添加NS服务器IP][Dnsmasq_NS_IP]][Dnsmasq_NS_IP_Dnsmasq_NS_IP] 7、resolv.dnsmasq.conf中设置的是真正的Nameserver,可以用谷歌、V2EX等公共的DNS。 **三、Dnsmasq启动** 1、执行以下命令设置Dnsmasq开机启动并启动Dnsmasq服务: chkconfig dnsmasq on /etc/init.d/dnsmasq restart [![Dnsmasq启动服务][Dnsmasq 5]][Dnsmasq_Dnsmasq 5] 2、执行命令:netstat -tunlp|grep 53 可以查看Dnsmasq是不是已经正常启动: [![Dnsmasq检查是否正常启动][Dnsmasq 6]][Dnsmasq_Dnsmasq 6] 3、测试:dig www.freehao123.com,第一次是没有缓存,所以时间是200多。 [![Dnsmasq查询时间][Dnsmasq 7]][Dnsmasq_Dnsmasq 7] 4、第二次再次测试,因为已经有了缓存,所以查询时间已经变成了0. [![Dnsmasq缓存生效][Dnsmasq 8]][Dnsmasq_Dnsmasq 8] **四、Dnsmasq使用** **1、本地DNS。**将Dnsmasq作为本地DNS服务器使用,直接修改电脑的本地DNS的IP地址即可。 [![Dnsmasq本地DNS服务器使用][Dnsmasq_DNS]][Dnsmasq_DNS_Dnsmasq_DNS] **2、应对ISP的DNS劫持。**输入一个不存在的域名,正常的情况下浏览器是显示无法连接,DNS劫持会跳转到一个广告页面。先随便nslookup 一个不存在的域名,看看ISP商劫持的IP地址。 [![Dnsmasq检查DNS劫持][Dnsmasq_DNS 1]][Dnsmasq_DNS_Dnsmasq_DNS 1] 3、接着编辑/etc/dnsmasq.conf文件,将:bogus-nxdomain=123.123.123.123 加入进去,后面的IP是刚刚查询到的DNS劫持IP地址。 4、重启dnsmasq,再尝试打开不存在的域名,这时浏览器就会显示正常的无法连接页面了。 [![Dnsmasq无法显示网页][Dnsmasq 9]][Dnsmasq_Dnsmasq 9] **5、智能DNS加快解析速度。**打开/etc/dnsmasq.conf文件,server=后面可以添加指定的DNS,例如国内外不同的网站使用不同的DNS。 #国内指定DNS server=/cn/114.114.114.114 server=/taobao.com/114.114.114.114 server=/taobaocdn.com/114.114.114.114 #国外指定DNS server=/google.com/223.5.5.5 6、server=/cn/表示所有的cn域名都使用114这个公共DNS,server=/taobao.com/表示所有的taobao.com域名都用114,223.5.5.5 是阿里云的公共DNS,你可以换成其它的。 **7、屏蔽网页广告。**将指广告的URL指定127这个IP,就可以将网页上讨厌的广告给去掉了。 address=/ad.youku.com/127.0.0.1 address=/ad.iqiyi.com/127.0.0.1 **8、指定域名解析到特定的IP上。**这个功能可以让你控制一些网站的访问,非法的DNS就经常把一些正规的网站解析到不正确IP上。 address=/freehao123.com/123.123.123.123 **9、内网DNS。**首先将局域网中的所有的设备的本地DNS设置为已经安装Dnsmasq的服务器IP地址。然后修改已经安装Dnsmasq的服务器Hosts文件:/etc/hosts,指定域名到特定的IP中。 10、例如想让局域网中的所有用户访问www.freehao123.com时跳转到192.168.0.2,添加:192.168.0.2 www.freehao123.com在Hosts文件中既可,整个过程也可以说是“DNS劫持”。 **五、Dnsmasq小结** 1、Dnsmasq作为[本地DNS服务器][DNS]安装方便,操作简单,改动的地方也不是很多,如果用国内的VPS来搭建本地DNS,响应的速度会更快,也更稳定。 2、Dnsmasq的功能强大,反DNS劫持、加快解析速度、屏蔽广告、控制内网DNS、强制域名跳转到特定IP上等这些功能在我们的实际的生活中都是很有用的。 文章 [Dnsmasq]: https://www.freehao123.com/tag/dnsmasq/ [DNS_-_DNS]: https://www.freehao123.com/ten-dns/ [Linode_DNS_He.net_DNS]: https://www.freehao123.com/linode-he-net/ [360_DNS_CDN_CDN]: https://www.freehao123.com/360-cdn-dns/ [Dnsmasq 1]: https://images2015.cnblogs.com/blog/880592/201610/880592-20161015200005750-1709382948.png [Dnsmasq_Dnsmasq 1]: https://o903xqe5h.qnssl.com/wp-content/uploads/2014/08/Dnsmasq_01.gif [Dnsmasq 2]: https://images2015.cnblogs.com/blog/880592/201610/880592-20161015200006484-2127738208.png [Dnsmasq_Dnsmasq 2]: https://o903xqe5h.qnssl.com/wp-content/uploads/2014/08/Dnsmasq_02.gif [Dnsmasq 3]: https://images2015.cnblogs.com/blog/880592/201610/880592-20161015200006937-1460948635.png [Dnsmasq_Dnsmasq 3]: https://o903xqe5h.qnssl.com/wp-content/uploads/2014/08/Dnsmasq_03.gif [Dnsmasq 4]: https://images2015.cnblogs.com/blog/880592/201610/880592-20161015200007609-1469832750.png [Dnsmasq_Dnsmasq 4]: https://o903xqe5h.qnssl.com/wp-content/uploads/2014/08/Dnsmasq_05.gif [Dnsmasq_IP]: https://images2015.cnblogs.com/blog/880592/201610/880592-20161015200007937-1927193607.png [Dnsmasq_IP_Dnsmasq_IP]: https://o903xqe5h.qnssl.com/wp-content/uploads/2014/08/Dnsmasq_06.gif [Dnsmasq_NS_IP]: https://images2015.cnblogs.com/blog/880592/201610/880592-20161015200008281-683784040.png [Dnsmasq_NS_IP_Dnsmasq_NS_IP]: https://o903xqe5h.qnssl.com/wp-content/uploads/2014/08/Dnsmasq_04.gif [Dnsmasq 5]: https://images2015.cnblogs.com/blog/880592/201610/880592-20161015200008625-1906668863.png [Dnsmasq_Dnsmasq 5]: https://o903xqe5h.qnssl.com/wp-content/uploads/2014/08/Dnsmasq_07.gif [Dnsmasq 6]: https://images2015.cnblogs.com/blog/880592/201610/880592-20161015200008906-1803175466.png [Dnsmasq_Dnsmasq 6]: https://o903xqe5h.qnssl.com/wp-content/uploads/2014/08/Dnsmasq_08.gif [Dnsmasq 7]: https://images2015.cnblogs.com/blog/880592/201610/880592-20161015200009500-1183596677.png [Dnsmasq_Dnsmasq 7]: https://o903xqe5h.qnssl.com/wp-content/uploads/2014/08/Dnsmasq_09.gif [Dnsmasq 8]: https://images2015.cnblogs.com/blog/880592/201610/880592-20161015200009796-386495208.png [Dnsmasq_Dnsmasq 8]: https://o903xqe5h.qnssl.com/wp-content/uploads/2014/08/Dnsmasq_10.gif [Dnsmasq_DNS]: https://images2015.cnblogs.com/blog/880592/201610/880592-20161015200010515-897987932.png [Dnsmasq_DNS_Dnsmasq_DNS]: https://o903xqe5h.qnssl.com/wp-content/uploads/2014/08/Dnsmasq_11.gif [Dnsmasq_DNS 1]: https://images2015.cnblogs.com/blog/880592/201610/880592-20161015200011031-1644650819.png [Dnsmasq_DNS_Dnsmasq_DNS 1]: https://o903xqe5h.qnssl.com/wp-content/uploads/2014/08/Dnsmasq_12.gif [Dnsmasq 9]: https://images2015.cnblogs.com/blog/880592/201610/880592-20161015200011343-443054723.png [Dnsmasq_Dnsmasq 9]: https://o903xqe5h.qnssl.com/wp-content/uploads/2014/08/Dnsmasq_13.gif [DNS]: https://www.freehao123.com/tag/local-dns-server/
还没有评论,来说两句吧...