lzy20021010

阿里云国际版ECS搭建本地DNS服务器——实现更干净更快无广告DNS解析
本文开始前,首先先祝大家中秋快乐!DNS在平时上网中扮演重要角色,如果不注意DNS的话,可能会导致网速慢、弹窗广告...
扫描右侧二维码阅读全文
04
2017/10

阿里云国际版ECS搭建本地DNS服务器——实现更干净更快无广告DNS解析

本文开始前,首先先祝大家中秋快乐!
DNS在平时上网中扮演重要角色,如果不注意DNS的话,可能会导致网速慢、弹窗广告、网址打不开、打开不是自己想要的网站、淘宝客劫持等一系列问题。一般我们默认使用的DNS服务器的都是电信、联通、移动等ISP运营商的,但ISP为了某些目的,对DNS进行了某些操作,导致网民使用正常的上网设置无法通过域名解析出正确的IP地址。
除了要避免“坏”的DNS的影响,我们还可以利用DNS做些“好”事,例如管理局域网的DNS、给手机App Store加速、纠正错误的DNS解析记录、保证上网更加安全、去掉网页讨厌的广告等等。
这时候搭建一个属于自己的本地DNS服务器就十分必要了,本篇文章就来分享一下在阿里云国际版ECS上的CentOS系统上使用DNSmasq软件搭建一个属于自己的本地DNS服务器。

DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。它服务那些只在本地适用的域名,这些域名是不会在全球的DNS服务器中出现的。

1. DNSmasq安装
CentOS用户仅需执行以下命令即可在ECS上安装Dnsmasq:

yum install dnsmasq -y #安装DNSmasq
service dnsmasq start #启动DNSmasq
chkconfig dnsmasq on #设置DNSmasq开机启动

2. Dnsmasq基本配置
进入 /etc 文件夹,直接编辑dnsmasq.conf配置文件
1.编辑第29行,配置:resolv-file=/etc/resolv.dnsmasq.conf,表示dnsmasq 会从这个指定的文件中寻找上游dns服务器。同时删除 strict-order 前面的#号。

Dnsmasq基本配置

2.编辑第110行,配置:addn-hosts=/etc/dnsmasq.hosts,表示dnsmasq 会首先寻找本地的 hosts 文件再去寻找缓存下来的域名, 最后去上游dns 服务器寻找,同时删除 no-hosts 前面的#号。

Dnsmasq基本配置

3.最后再执行下列命令并重启DNSmasq,DNSmasq的基本配置就完成了。

echo 'nameserver 127.0.0.1' > /etc/resolv.conf 
cp /etc/resolv.conf /etc/resolv.dnsmasq.conf 
cp /etc/hosts /etc/dnsmasq.hosts
echo 'nameserver 8.8.8.8' > /etc/resolv.dnsmasq.conf
echo 'nameserver 8.8.4.4' > /etc/resolv.dnsmasq.conf

resolv.dnsmasq.conf中设置的是真正的本地DNS服务器,可以用谷歌、阿里等公共的DNS。

4.然后开放阿里云国际版ECS的DNS端口(TCP/UCP 53),然后修改电脑本地DNS的IP地址为ECS的IP地址即可使用。

2. Dnsmasq的应用
1.解决ISP的DNS劫持问题
首先去掉第535行(即最后一行)的#号,然后到Github下载bogus-nxdomain.china.conf,放到/etc/dnsmasq.d文件夹即可。
如果还是存在该问题,可以Ping一个不存在的域名,然后将得到的IP添加进bogus-nxdomain.china.conf即可。
添加格式:bogus-nxdomain=Ping得到的IP
2.指定域名解析DNS
首先去掉第535行(即最后一行)的#号,然后到Github下载accelerated-domains.china.conf,放到/etc/dnsmasq.d文件夹即可。
同理,可以下载google.china.conf和apple.china.conf来加速解析谷歌和苹果的域名
你也可以手动添加,例如:

#国内指定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

server=/cn/表示所有的cn域名都使用114这个公共DNS,server=/taobao.com/表示所有的taobao.com域名都用114,223.5.5.5 是阿里云的公共DNS,你可以换成其它的。
3.屏蔽广告
将广告的URL指定到本地IP,就可以将网页上讨厌的广告给去掉了,例如:

address=/atm.youku.com/127.0.0.1
address=/fvid.atm.youku.com/127.0.0.1
address=/html.atm.youku.com/127.0.0.1
address=/valb.atm.youku.com/127.0.0.1
address=/valc.atm.youku.com/127.0.0.1
address=/valf.atm.youku.com/127.0.0.1
address=/valo.atm.youku.com/127.0.0.1
address=/valp.atm.youku.com/127.0.0.1
address=/vid.atm.youku.com/127.0.0.1
address=/walp.atm.youku.com/127.0.0.1
address=/lstat.youku.com/127.0.0.1
address=/speed.lstat.youku.com/127.0.0.1
address=/static.lstat.youku.com/127.0.0.1
address=/urchin.lstat.youku.com/127.0.0.1
address=/stat.youku.com/127.0.0.1
address=/adextensioncontrol.tudou.com/127.0.0.1
address=/iwstat.tudou.com/127.0.0.1
address=/nstat.tudou.com/127.0.0.1
address=/stats.tudou.com/127.0.0.1
address=/p2v.tudou.com/127.0.0.1
address=/at-img1.tdimg.com/127.0.0.1
address=/at-img2.tdimg.com/127.0.0.1
address=/at-img3.tdimg.com/127.0.0.1
address=/adplay.tudou.com/127.0.0.1
address=/adcontroL.tudou.com/127.0.0.1
address=/stat.tudou.com/127.0.0.1
address=/googlesyndication.com/127.0.0.1
address=/cpro.baidu.com/127.0.0.1
address=/union.baidu.com/127.0.0.1
address=/google-analytics.com/127.0.0.1
address=/admaster.com.cn/127.0.0.1
  1. 总结
    1、Dnsmasq作为本地DNS服务器安装方便,操作简单,改动的地方也不是很多,建议在国内或香港的VPS/ECS/服务器上安装。

2、Dnsmasq的功能强大,反DNS劫持、加快解析速度、屏蔽广告、控制内网DNS、强制域名跳转到特定IP上等这些功能在我们的实际的生活中都是很有用的,更多功能可以自行探索。
3.参考来源:
http://www.cnblogs.com/wudonghang/p/8c0398641968f848746b289b87855f61.html
http://lesca.me/archives/speed-up-your-web-with-dnsmasq-and-squid.html
https://github.com/felixonmars/dnsmasq-china-list

Last modification:October 4th, 2017 at 09:28 pm
If you think my article is useful to you, please feel free to appreciate

2 comments

  1. 新闻头条

    文章不错支持一下吧

  2. 快乐网讯

    文章不错支持一下吧

Leave a Comment