自建DNS服务器(dnsmasq),对抗DNS污染
背景
- 学校网络出口劫持严重,上淘宝加返利———-等等等等等等
- 一直更新hosts不方便,要上google,全平台不好弄
- 项目组需要
目的
- 搭建一个可访问个人公网DNS服务器
- 提高DNS加载速度
- 规避运营商的DNS劫持
- 不影响学校内网访问
- 简单的能上google
准备
- 一台有公网IP的vps,开放了53端口(端口扫描显示开放了53端口)
- 装的是linux系统(以 CentOS 6.4 为例)
- WinSCP(或其他文件管理)
- putty.exe(或者其他SSH登陆工具)
- 没了。。。。
DNSmasq原理和说明
- DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络。作为域名解析服务器(DNS),dnsmasq可以通过缓存 DNS 请求来提高对访问过的网址的连接速度。
- 通过设置DNSmasq的上游DNS地址为无污染DNS来解决运营商的DNS污染。
- DNSmasq可以对单独的网址设置DNS服务器。对于学校内网地址设置为学校教育网的DNS解析。对于类似于youtube这种由于DNS污染没法访问的地址,可以先收集无污染的DNS地址,然后交与无污染DNS解析得到正确地址。
- DNSmasq再对网址提交上游DNS解析前,可以先通过本地hosts匹配。设置合适hosts可以实现科学上网。
开始!
步骤
安装dnsmasq
1
yum install dnsmasq -y
配置Dnsmasq
- Dnsmasq的配置文件是 /etc/dnsmasq.conf .通过WinSCP加载修改。
- 此次使用的配置如下
1 2 3 4 5 6 7 8 9 10 11
#指定给dnsmasq使用的hosts addn-hosts=/etc/dnsmasq.host #不使用/etc/resolv.conf(VPS默认DNS)来进行上游dns服务器解析需要配置的比较少直接写在dnsmasq.conf文件里了 no-resolv #上游DNS地址这里为腾讯DNS和中科大DNS server=119.29.29.29 server=202.141.162.123 server=/google.com/202.141.162.123 #这一行是针对学校内网访问,学校内地址使用学校内网DNS。具体地区调整。 server=/.edu.cn/202.141.162.123
- 上游DNS推荐
这里需要在VPS上测试各个DNS后决定。- 常用靠谱DNS
阿里DNS 223.5.5.5 223.6.6.6
114DNS 114.114.114.114
腾讯DNS 119.29.29.29
V2EX DNS 199.91.73.222 178.79.131.110(访问苹果商店有buff加速) - 无污染DNS
目前比较稳定的只有中科大DNS和一些自建的小型DNS。小型DNS通过反带来访问google等,会带来一些隐私和安全风险,还是推荐自建DNS/hosts访问。
中科大DNS
202.38.93.153 (教育网)
202.141.176.93 (中国移动)
202.141.162.123 (中国电信) - 其他DNS请自行GOOGLE
- 常用靠谱DNS
- 千万注意!!! 配置文件中有listen-address配置,网络大多数教程中有
listen-address=127.0.0.1
这是指Dnsmasq只服务于本机的DNS请求。如果需要搭建公网DNS服务,这个绝对不能有!!
创建/修改/etc/dnsmasq.host文件
- 一些常用去广告hosts/科学上网hosts的内容,
具体不多说hosts科学上网是一天比一天死的快。没有找到靠谱的地址推荐。自行搜索把!
重启Dnsmasq服务
1
sudo service dnsmasq restart
测试53端口
1
netstat -tunlp|grep 53
- 如果正常应该如下
1 2 3
[root@VM_27_70_centos ~]# netstat -tunlp|grep 53 tcp 0 0 0.0.0.0:53 0.0.0.0:* LIST EN 4226/dnsmasq udp 0 0 0.0.0.0:53 0.0.0.0:* 4226/dnsmasq
修改本地DNS地址
- 这个不多说了,不会的自行google了。。
结束语
创建完了,本地DNS快多了,访问淘宝再也没有了牛皮癣。
创建完了,本地DNS快多了,访问淘宝再也没有了牛皮癣。