Centos自建DNS服务器

由于现在gfw对国外某些网站会进行屏蔽,往往输入网址以后进入的是一个莫名其妙的网站(比如fb,y2b等),或者干脆连不上。这种情况是因为我们在向当地dns服务器发起dns请求时,dns服务器没有告诉我们网站正确ip导致的(他们故意的),这就是传说中的dns污染。当然连不上的原因主要是因为ip被封,但本篇主要讨论dns污染的问题。

目前来说国内dns污染主要有2种已知的技术手段:

1、udp污染,只要是通过udp发起的请求都有可能被污染。

2、53端口污染:53号端口是dns服务器的默认查询端口,gfw对所有53号端口进行了污染,只要我们向任何一个服务器的53号端口发起请求就会遭到污染。

下面就介绍一种防止dns污染的方案:自建dns服务器。

主要原理是通过自建国外器服务器向googledns获得真实dns信息,然后本地再通过自建的服务器查询dns信息。为什么要国外服务器?因为国内服务器也在gfw的污染范围,当然也就获得不到真实的dns信息。

OK,下面进入正题:在centos(linux)下建立dns服务器,需要用到的软件是pdnsd。

1、pdnsd安装

到http://members.home.nl/p.a.rombouts/pdnsd/dl.html 下载pdnsd最新的rpm包

然后

这样就安装完成了

2、配置pdnsd

安装完pdnsd以后会在/etc/下生成一个pdnsd.conf.sample,而pdnsd会读的配置文件在/etc/pdnsd.conf下,所以先复制一份

编辑pdnsd.conf

下面是我的配置文件,注意关键行

 3、启动pdnsd

也可以加入开机启动

 4、开放服务器端口

将上面配置文件里的服务器端口开放(9909)

OK,到这里自架的DNS服务器就安装完成了,下面测试一下

centos不自带dig命令需要安装

输入以上命令可以看到类似下面的结果

最后可以在自己本地也用dig命令测试一下,将命令中的“@127.0.0.1”替换成“@你的服务器ip” ,如果返回结果和在服务器dig的结果一样就成功了。

原创文章,转载请注明: 转载自 Tshine's Blog

本文链接地址: Centos自建DNS服务器

《Centos自建DNS服务器》有3个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注