如何搭建一个公共DNS服务器

2022-04-21 综合 188阅读

一、服务器环境

必须为centos6.x的环境centos7.x不能按照本教程centos5.x未测试

二、安装并启动DNSMASQ

yuminstall-ydnsmasqservicednsmasqstart

三、dnsmasq配置

1、Dnsmasq的配置文件路径为:/etc/dnsmasq.conf

#ll-d/etc/dnsmasq.conf-rw-r--r--1rootroot21237Feb2300:17/etc/dnsmasq.conf

2、编辑/etc/dnsmasq.conf

resolv-file=/etc/resolv.dnsmasq.conf//dnsmasq会从这个文件中寻找上游dns服务器strict-order//去掉前面的#addn-hosts=/etc/dnsmasq.hosts//在这个目里面添加记录listen-address=127.0.0.1,192.168.1.123//监听地址如果想对所有计算机服务,则为0.0.0.0

3、修改/etc/resolv.conf

echo'nameserver127.0.0.1'>/etc/resolv.conf

4、创建resolv.dnsmasq.conf文件并添加上游dns服务器的地址

touch/etc/resolv.dnsmasq.confecho'nameserver119.29.29.29'>/etc/resolv.dnsmasq.conf

5、创建dnsmasq.hosts文件

cp/etc/hosts/etc/dnsmasq.hostsecho'addn-hosts=/etc/dnsmasq.hosts'>>/etc/dnsmasq.conf

提示:resolv.dnsmasq.conf中设置的是真正的Nameserver,可以用电信、联通等公共的DNS。

三、DNSmasq启动

1、设置Dnsmasq开机启动并启动Dnsmasq服务:

chkconfigdnsmasqon/etc/init.d/dnsmasqrestart

2、netstat-tunlp|grep53查看Dnsmasq是否正常启动:

#netstat-tlunp|grep53tcp000.0.0.0:530.0.0.0:*LISTEN2491/dnsmasqtcp00:::53:::*LISTEN2491/dnsmasqudp000.0.0.0:530.0.0.0:*2491/dnsmasqudp00:::53:::*2491/dnsmasq

3、digsmallxu.me,第一次是没有缓存,所以时间是400多

4、第二次再次测试,因为已经有了缓存,所以查询时间已经变成了2.

为了防止故意进行DNS劫持,这里不贴出

四、DNSMASQ的配置

1、本地DNS使用

这里我们本地DNS可以使用服务器中配置的IP,这样我们本机就使用到自己的DNS,备用DNS可以用一个第三方公用DNS。

2、屏蔽网站/广告

vi/etc/dnsmasq.conf

如果我们需要屏蔽某个网站或者广告,可以修改上面的文件

address=/itbulu.com/127.0.0.1address=/smallxu.me/127.0.0.1

比如我希望无法打开这两个网站,就在配置文件中添加指定的IP或者其他劫持的IP,比如我们打开某个网站被指定到其他的服务器或者网站中,就这样被劫持的。同样的,我们也可以将广告目录屏蔽。

添加后smallxu.me和itbulu.com将会被解析到127.0.0.1

第五、Dnsmasq配置和使用总结

Dnsmasq实际功能不仅仅局限在上面的搭建我们本地需要的DNS服务器功能,如果真就这么简单的用法,那我们也没有必要用一台服务器配置。使用点第三方公共DNS还是没有问题的,有点广告也无妨。

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com