网上邻居-右键属性-本地连接-右键属性-Internet协议-DNS服务器地址
如何搭建一个公共DNS服务器
一、服务器环境
必须为centos6.x的 环境 centos7.x不能按照本教程 centos5.x未测试
二、安装并启动DNSMASQ
yum install -y dn**asqservice dn**asq start
三、dn**asq配置
1、Dn**asq的配置文件路径为:/etc/dn**asq.conf
# ll -d /etc/dn**asq.conf -rw-r–r– 1 root root 21237 Feb 23 00:17 /etc/dn**asq.conf
2、编辑/etc/dn**asq.conf
resolv-file=/etc/resolv.dn**asq.conf //dn**asq 会从这个文件中寻找上游dns服务器strict-order //去掉前面的#addn-hosts=/etc/dn**asq.hosts //在这个目里面添加记录listen-address=127.0.0.1,192.168.1.123//监听地址 如果想对所有计算机服务,则为0.0.0.0
3、修改/etc/resolv.conf
echo ‘nameserver 127.0.0.1’ > /etc/resolv.conf
4、创建resolv.dn**asq.conf文件并添加上游dns服务器的地址
touch /etc/resolv.dn**asq.confecho ‘nameserver 119.29.29.29’ > /etc/resolv.dn**asq.conf
5、创建dn**asq.hosts文件
cp /etc/hosts /etc/dn**asq.hostsecho ‘addn-hosts=/etc/dn**asq.hosts’ >> /etc/dn**asq.conf
提示:resolv.dn**asq.conf中设置的是真正的Nameserver,可以用电信、联通等公共的DNS。
三、DNSmasq启动
1、设置Dn**asq开机启动并启动Dn**asq服务:
chkconfig dn**asq on/etc/init.d/dn**asq restart
2、netstat -tunlp|grep 53 查看Dn**asq是否正常启动:
# netstat -tlunp|grep 53tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 2491/dn**asq tcp 0 0 :::53 :::* LISTEN 2491/dn**asq udp 0 0 0.0.0.0:53 0.0.0.0:* 2491/dn**asq udp 0 0 :::53 :::* 2491/dn**asq
3、dig **allxu.me,第一次是没有缓存,所以时间是400多
4、第二次再次测试,因为已经有了缓存,所以查询时间已经变成了2.
为了防止故意进行DNS劫持,这里不贴出
四、DNSMASQ的配置
1、本地DNS使用
这里我们本地DNS可以使用服务器中配置的IP,这样我们本机就使用到自己的DNS,备用DNS可以用一个第三方公用DNS。
2、屏蔽网站/广告
vi /etc/dn**asq.conf
如果我们需要屏蔽某个网站或者广告,可以修改上面的文件
address=/itbulu.com/127.0.0.1address=/**allxu.me/127.0.0.1
比如我希望无法打开这两个网站,就在配置文件中添加指定的IP或者其他劫持的IP,比如我们打开某个网站被指定到其他的服务器或者网站中,就这样被劫持的。同样的,我们也可以将广告目录屏蔽。
添加后 **allxu.me和itbulu.com将会被解析到127.0.0.1
第五、Dn**asq配置和使用总结
Dn**asq实际功能不仅仅局限在上面的搭建我们本地需要的DNS服务器功能,如果真就这么简单的用法,那我们也没有必要用一台服务器配置。使用点第三方公共DNS还是没有问题的,有点广告也无妨。