pdnsd

TCP 方式查询解决 DNS 污染问题

本文适用于通常的UDP方式DNS查询不可用、不稳定或者无法正常解决DNS污染的情况,适用于但不限于以下情况:

1、你的ISP可能会封杀国外的大部分UDP通讯(如教育网)

2、UDP通讯不稳定,DNS解析经常卡住

3、代理服务器不支持代理UDP协议,又遇到长城宽带这种坑爹ISP时;

TCP方式查询,请搭配shadowsocks等代理效果更佳,使用shadowsocks代理路由器的TCP流量,使得TCP的DNS查询也能走shadowsocks代理,更加稳定安全。上面的第三条的情况可能必须这么做才能解决问题(没有长宽的网络环境无法测试)。…

加速OpenWRT路由器的DNS解析 – pdnsd代替dnsmasq

注:新版dnsmasq已经可以手动设置min-ttl和cache-size,使用pdnsd替代dnsmasq已经无太大意义;dnsmasq设置方法,在 /etc/dnsmasq.conf 中加入:


此篇文章说明使用缓存功能更加强大的pdnsd来代替openwrt自带的dnsmasq完成dns解析功能,从而改善解析速度的方法。本篇内容和科学上网没有直接关系!

OpenWRT默认使用dnsmasq提供DHCP/DNS服务,通常情况下够用。但在某些特殊情况下,DNS查询延迟较大,dnsmasq对于DNS记录的缓存时间、还有缓存文件大小都比较受限,一条记录可能没多久就被清除出缓冲区,失效了。这时我们就希望有一个缓存功能更强的DNS软件,可以手动改大TTL、增大缓存文件大小。这时就可以用pdnsd。你可以配置它,让TTL超期的记录也不被自动清除、可以提高TTL的最小值等等。同时也有完整的可用性检查,你可以配置对DNS服务器的可用性检查,如果一组DNS服务器不可用,可以做故障切换,切至你添加的另一组DNS(比如说你用你的VPS做解析,VPS挂掉了,这时自动切到114DNS或者Google…

服务器使用 pdnsd 部署 DNS forwarder 的方法

Assume that you use Ubuntu.

Download & Install pdnsd:

At the setup configuration step, choose manual. Then modify the config file: /etc/pdnsd.conf

At the global section, change server_ip, add server_port, increase or decrease the perm_cache, change min_ttl & max_ttl at your own need, just like: