【博客重建,已关闭评论】追梦人博客Dream.ren

追梦人 Dream.ren

Pure DNS搭建过程(CentOS6)

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服务可能会因为某些原因而服务异常,(其实也几乎没有啦)可以编写监控脚本实现服务异常自动重启,如有需要请等待博主接下来的发文; 另外,外网服务器最好还是配置一下防火墙比较好,当前主节点防火墙配置(博主表示也不知道博主的防火墙有没有效果 :smile: )请等待博主接下来的发文; 最后插一句,博主寻找缓存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的运行。

Comment Reply

  1. 白汽水

    博主,配置文件已经失效了,没有文件了,可以补一下?? :grin:

  2. 匿名

    配置文件挂了,求分享!

  3. dw

    用这个命令行netstat -lntp查看连接 如果是这四个就对了.有五个就是有个(dnsmasq)我没开去广告的,实际我dnsmasq启动失败了.不过我不用这个
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
    tcp 0 0 127.0.0.1:530 0.0.0.0:* LISTEN 1186/named
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1508/sshd
    tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 1186/named
    tcp 0 0 :::53 :::* LISTEN 1749/./overture

  4. dw

    centos这个配置文件再哪替换sni的ip?是不是sni.list?

    • dw

      @dw是在sni.zone里面的那个吗?

  5. x

    虽然不推荐 但我还是想建一个自用 有什么合适的idc推荐

  6. 小哲博客

    启动都成功了就是解析不了

回到顶部