主节点采用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 777 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的朋友能在自己的网站上面放个链接,注明一下方法来源,谢谢。
附件下载