通过TCP查询dns

94次阅读
没有评论

共计 772 个字符,预计需要花费 2 分钟才能阅读完成。

当通过redsocks转发代理之后会发现一个问题,用上代理了但是还是打不开GOOGLE等国外网站,这就是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

正文完
 
admin
版权声明:本站原创文章,由 admin 2020-02-14发表,共计772字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码