2017.4.24更新,辅节点unbound服务异常,已更换为主节点的方案,各位不必等辅节点的教程了,这个就是了。
此文以CentOS6 64位系统为例记录Pure DNS主节点的搭建过程,仅供参考。注意:需要使用国内非港澳台vps,海外vps搭建完照样无卵用的!另外,另外,请不要用vpn、ss(r)的思维看DNS,Pure DNS的海外加速依赖是SNI代理,代理一旦失效加速功能就废了!(PS.配置文件中的SNI代理在7月份的时候好像就已经废了!)请酌情搭建,自用的话强烈不推荐使用此教程。
Pure DNS主节点采用Dnsmasq→Bind→Overture三种DNS依次递归的形式进行服务,充分利用每种DNS服务的优势。Dnsmasq监听531端口,负责广告过滤等工作;Bind监听530端口,负责特殊域名解析和其他高级的操作,Overture监听53端口,负责常规域名的智能解析和对外服务。
可能需要用到的工具:Putty(ssh终端)、WinSCP(sftp文件管理工具)。
下载配置文件(内含适用于Linux64位的Overture)并解压。
1、安装dnsmasq、Bind
yum install dnsmasq bind -y
2、设置dnsmasq、bind开机自启(Bind服务名为“named”)
chkconfig dnsmasq on chkconfig named on
3、上传压缩包etc文件夹中dnsmasq.conf、named.conf文件和dnsmasq.d、named.d文件夹到/etc目录
4、重启dnsmasq和Bind
service dnsmasq restart service named restart
5、将压缩包内var文件夹中的dns文件夹上传到/var目录
6、进入Overture目录
cd /var/dns
7、设置Overture可执行权限
chmod +x overture
8、后台运行Overture
nohup ./overture >/dev/null 2>&1 &
停止DNS服务命令
killall overture service named stop service dnsmasq stop
卸载DNS服务
yum remove named dnsmasq -y rm -rf /var/dns/
搭建过程至此结束,注意:服务器重启后需要手动启动Overture,修改配置文件后只需重启dnsmasq和Bind即可生效,不会导致DNS对外服务中断。DNS服务可能会因为某些原因而服务异常,(其实也几乎没有啦)可以编写监控脚本实现服务异常自动重启,如有需要请等待博主接下来的发文;
另外,外网服务器最好还是配置一下防火墙比较好,当前主节点防火墙配置(博主表示也不知道博主的防火墙有没有效果 )请等待博主接下来的发文;
最后插一句,博主寻找缓存DNS的智能解析方法寻找了几个月,最终才实现了智能解析,其他的也不奢望,仅仅希望使用此配置和方法搭建DNS的朋友能在自己的网站上面放个链接,注明一下方法来源,谢谢。
特别鸣谢:Overture
2018.03.18日更新:
1、下载hosts_sample文件,这是更新时Pure DNS使用的广告过滤规则,你可以编辑此文件在其中添加合适的规则,比如Pure DNS还添加了
111.**.***.** *.scholar.google.com
等规则(IP已被隐藏),这个IP是这样来的,*.scholar.google.com属于泛解析规则,并且包含scholar.google.com域名。
2、去https://github.com/shawn1m/overture/releases下载合适的版本、解压,修改config.json文件:修改PrimaryDNS中Policy字段为auto使其支持ecs智能解析;修改CacheSize字段为10000使其支持DNS缓存;替换hosts_sample文件为第一步中的文件。
3、上传第二步修改后的文件夹到服务器上,并运行Overture。上传过程:略。运行:64位Linux进入Overture目录后执行
chmod +x overture-linux-amd64 nohup ./overture-linux-amd64 &
然后回车使Overture后台运行,Windows64位系统直接双击overture-windows-amd64.exe运行即可。
Linux系统可以使用
netstat -tunlp
命令查看端口监听情况(最后一栏含有PID进程号),正常情况下53端口应被Overture监听,若服务器53端口被监听但无法解析请求请检查服务器防火墙设置。关闭DNS服务:
killall overture-linux-amd64
或者
kill PID进程号
结束Overture的运行。
自己安装的centos7 64
[root@localhost ~]# service dnsmasq restart
Redirecting to /bin/systemctl restart dnsmasq.service
[root@localhost ~]# service named restart
Redirecting to /bin/systemctl restart named.service
Job for named.service failed because the control process exited with error code. See “systemctl status named.service” and “journalctl -xe” for details.
[root@localhost ~]#
有没有傻瓜一键搞定的?(羞耻)
请问博主,我用你这个在腾讯云centos7.3出错了# service named restart返回错误
Redirecting to /bin/systemctl restart named.service
Job for named.service failed because the control process exited with error code. See “systemctl status named.service” and “journalctl -xe” for details.
如何解决呢?
还有我将路由DNS设置成博主的两个DNS IP,结果手机上虽然不会立即报网络故障(电脑上没法试,我改了host),但一直加载不出来,这是移动宽带的原因吗?
@IAMHCl我重装成了centos6.5,就启动成功了
SNI Proxy 怎么搭建?
SNI代理怎么搭建 我有台洛杉矶 想试试
@Bardhttps://doub.bid/wlzy-27/ 自己看教程哦,记得主机要有真正的443端口才能用 转发过的不行
@匿名
博主你好,我根据https://doub.bid/wlzy-27 的教程在洛杉矶服务器搭建了SNI Proxy,但是在国内DNS服务器上添加搭建好的SNI Proxy服务IP发现不能适应,国内站点解析正常,谷歌解析失败,我的SNI proxy配置文件是这样的:
文件:/etc/sni.conf
内容:
user daemon
pidfile /tmp/sniproxy.pid
error_log {
syslog daemon
priority notice
}
listener 0.0.0.0:443 {
protocol tls
table TableName
}
table TableName {
.* *:443
}
#代码结束
SNI启动指令:sniproxy -c /etc/sni.conf
netstat -tln查询TCP端口 sniproxy监听的443端口是正常运行的!
为了测试443端口是否能正常通信,我停止了SNI Proxy 安装了httpd 开启443端口是可以正常访问的。(apache测试443端口:http://服务器IP:443 是可以正常访问的)
不知道我是哪里步骤错了、您可以帮我看看吗?另外我的国内搭建dns的服务器对SNI的服务器ping 在稳定在150ms ,不存在丢包、断链情况!
你本地修改hosts文件,把谷歌指向你的sni的ip,访问谷歌试试看看能不能访问,能访问的话就不是sni的问题~~
不能搭在国外VPS上是不是因为GFW只污染国外的服务器?
对的~
博主啊还有个问题是PureDNS的去代理化网站的无污染DNS是靠什么解析出来的?是手动整理的hosts规则吗?还是DNSpod Public DNS 本来就能解析出来?
靠手动或者OpenDNS443端口
dnsmasq: failed to create listening socket: Permission denied
请求解决这个问题 我看很多用户都被这个问题困扰
刚安装不替换文件是可以启动的 只要文件一替换就不行了,我还测试了一下只替换内容 不覆盖文件 也不行
可能是dnsmasq.conf问题
您好!我现在在局域网内用Pcap_DNSProx部署了一台本地DNS服务器,想请教一下怎么用运营商的 SNI 服务器 来进行海外加速呢?现在本地DNS服务器已经可以避免DNS劫持及投毒了。
C:\Users\XXX>nslookup http://www.google.com
服务器: pcap-dnsproxy.server
Address: 127.0.0.1
非权威应答:
名称: http://www.GOogle.COm
Addresses: 2404:6800:4008:802::2004
172.217.27.132
不用了,自己尝试了一下,已经搞定了。谢谢博主的思路
嗯,还有就是国内运营商SNI无法海外加速x墙的。。。
http://dl.dream.ren/PureDNS/PureDNS.zip
怎么挂了.能提供下更新么?
好像挂了….
按教程架设了,但是DNS无法解析,不知道是什么问题?有QQ吗?可以交流一下吗?
http://dl.dream.ren/PureDNS/PureDNS.zip
东西没了更新下ok?
@匿名迅雷离线试试
nohup ./overture >/dev/null 2>&1 &
这个能自动开机运行吗?
配置文件下载不聊了
请问博主,sni.zone,是什么文件,SNI地址应该在哪个配置文件上修改呢,感谢
博主来个群,叫我们怎么搭建dns,我们不翻墙,我们听党的话
只有SNI.list里面配置的域名才能启动加速么?不过好像很多网站不在这个列表也能访问。
@LY、
头疼,解决一个问题又一个问题,这个也太挑环境了。
没办法折腾了。