当通过redsocks转发代理之后会发现一个问题,某些网站解析不到正确的域名IP,这就是DNS服务器的原因,我们可以通过使用pdnsd来实现dns查询也通过tcp请求查询,然后tcp流量就会通过代理,这样就正确查询到IP地址了。

安装

一般我都使用Centos7的,首先下载pdnsd(截至目前2019-11-26最新版本)

wget http://members.home.nl/p.a.rombouts/pdnsd/releases/pdnsd-1.2.9a-par_sl6.x86_64.rpm

安装

yum localinstall pdnsd-1.2.9a-par_sl6.x86_64.rpm -y

如此即可安装完成。

配置

获取配置文件

cp /etc/pdnsd.conf.sample /etc/pdnsd.conf

然后按需修改/etc/pdnsd.conf即可

我们先找到query_method=udp_tcp;修改成query_method=tcp_only;此时就是仅tcp查询dns。

然后下面就有一个ip = 192.168.0.1;这就是dns的查询地址,我此处修改为ip = 8.8.8.8,8.8.4.4;google的dns。

其他的就不用管了,保存退出。

使配置生效

/etc/init.d/pdnsd reload

然后修改本地dns为127.0.0.1,

vi /etc/sysconfig/network-scripts/ifcfg-eth0

在最后一行添加DNS1=127.0.0.1.

然后重启网络配置

service network restart

测试

安装测试工具

yum install -y bind-utils

执行nslookup www.douban.com 127.0.0.1查看是否能正常解析。

如果不正常清理缓存再试试。

pdnsd-ctl empty-cache

标签: pdnsd, Dns

添加新评论

Loading...
Fullscreen Image