树莓派/香橙派自建本地DNS加速解析
2017-06-24 本文已影响654人
不着调的小男生
Dnsmasq介绍
- Dnsmasq 提供 DNS 缓存和 DHCP 服务功能。作为域名解析服务器(DNS),dnsmasq可以通过缓存 DNS 请求来提高对访问过的网址的连接速度。作为DHCP 服务器,dnsmasq 可以用于为局域网电脑分配内网ip地址和提供路由。DNS和DHCP两个功能可以同时或分别单独实现。dnsmasq轻量且易配置,适用于个人用户或少于50台主机的网络。此外它还自带了一个 PXE 服务器。
Dnsmasq我们用来干什么?
- 我们主要用于加速DNS解析与减少DNS污染。中国著名的长城防火墙就是属于高级DNS污染,他妈太强了,但是对我们需要查找文章资料的,不做坏事的,长城防火墙就有点恶心了.DNS解析给你一个错误的IP,让你打不开Google,Youtube之类的网站,而且对于Youtube的域名 r*.googlevideo.com ,长城还有一个特殊的ip列表.唉!
- 当然这个封锁有点像 闭关锁国,有好的一面,减少了网络的攻击,所以我们适当翻墙吧.
Dnsmasq本地DNS搭建
- 环境(Pi)
- Armbian (对于Zero比官方系统个人认为比较好,但是还是有些H2+的特性用不了)
- 256M
- OrangePi Zero(小巧适中)
### 安装Dnsmasq (update)
sudo apt install -y dnsmasq
### 修改配置文件,配置文件一般位于路径/etc/dnsmasq.conf
#备份默认配置文件
cp /etc/dnsmasq.conf /etc/dnsmasq.conf.bak
#备份dns配置文件
cp /etc/resolv.conf /etc/resolv.conf.bak
#修改本地dns为127.0.0.1
echo 'nameserver 127.0.0.1' > /etc/resolv.conf
#添加上游dns服务器
cp /etc/resolv.conf /etc/resolv.dnsmasq.conf
#自定义上游DNS
echo 'nameserver 114.114.115.115' >> /etc/resolv.dnsmasq.conf
echo 'nameserver 114.114.114.114' >> /etc/resolv.dnsmasq.conf
echo 'nameserver 223.5.5.5' >> /etc/resolv.dnsmasq.conf
#将本机hosts导入本地自定义dns
cp /etc/hosts /etc/dnsmasq.hosts
#将文件路径写入配置文件
echo 'resolv-file=/etc/resolv.dnsmasq.conf' >> /etc/dnsmasq.conf
echo 'addn-hosts=/etc/dnsmasq.hosts' >> /etc/dnsmasq.conf
echo 'domain=raspberry.local' >> /etc/dnsmasq.conf
echo 'min-port=4096' >> /etc/dnsmasq.conf
echo 'cache-size=10000' >> /etc/dnsmasq.conf
# 重新启动
service dnsmasq restart
# 查看53端口开启
netstat -ntulp|grep 53

- 这里有一个对于Dnsmasq 中国DNS的项目,你可以参考一下,因为文章不涉及这个问题,所以我就不在文章中演示了.https://github.com/felixonmars/dnsmasq-china-list
cd dnsmasq-china-list/
cp *.conf /etc/dnsmasq.d/
service dnsmasq restart
参考:
在/etc/dnsmasq.d/(如果不存在则创建文件夹)中放置accelerated-domains.china.conf,bogus-nxdomain.china.conf(以及可选的google.china.conf,apple.china.conf)。
在/etc/dnsmasq.conf中取消注释“conf-dir = / etc / dnsmasq.d”
(可选)将dnsmasq-update-china-list放入/ usr / bin /
## 验证DNS服务正常工作
sudo apt-get install dnsutils
dig www.baidu.com

本地DNS翻墙
- 关于翻墙DNS请参考这个项目:https://github.com/fengixng/google-hosts/blob/master/dnsmasq.conf
在 下面的参考一文中,我发现修改hosts的话,好像不是很好的选择。当然你也可以参考的.