转发 UDP 协议的 DNS 查询至 TCP 协议传输,目前可以有效的抵御某些组织的 DNS 污染,此方案用于 Linux 平台。
下载、编译 DNS Forwarder
git clone git://github.com/heiher/hev-libcd hev-libmake staticcd .. git clone git://github.com/heiher/hev-dns-forwardercd hev-dns-forwardermake
运行 DNS Forwarder
bin/hev-dns-forwarder 127.0.0.1 5300 8.8.8.8# 127.0.0.1 : 本地监听地址# 5300 : 本地监听端口# 8.8.8.8 : 上游 DNS 服务器
本地全局启用用于本地主机,透明转发所有的本机 DNS 查询
sudo iptables -t nat -A OUTPUT -m udp -p udp --dport 53 -j REDIRECT --to-port 5300
或直接设置本地的 DNS 服务器为 127.0.0.1,并将 Forwarder 的本地监听端口修改为 53。
网关全局启用用于网关服务器,透明转发所有网关服务的主机的 DNS 查询
sudo iptables -t nat -A PREROUTING -m udp -p udp --dport 53 -j REDIRECT --to-port 5300
Over!
原文地址:Forwarding DNS queries on TCP transport, 感谢原作者分享。 你在雨中行走,你从不打伞,你有自己的天空,它从不下雨。