Iptables
iptables 將 dns 重定向到代理
我們可以使用 iptables 以非透明模式 (3128) 將 DNS (tcp/udp) 請求重定向到 Squid 代理嗎?(魷魚代理會理解並處理它嗎?)
重定向 tcp 53 的範例規則(可能是另一個類似的):
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -i eth1 -p tcp --dport 53 -j REDIRECT --to-port 3128
重定向 udp 53 的範例規則(可能是另一個類似的):
注意:squid“監聽”高 udp 埠。範例:36352,命令:netstat -tlunp | grep 魷魚
參考: http: //linuxplayer.org/2012/02/why-squid-listen-on-high-udp-port-number
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -i eth1 -p udp --dport 53 -j REDIRECT --to-port 36352
PD:這些只是與 DNS 相關的 squid 指令的範例。我並不是說它們符合我的目的:
positive_dns_ttl negative_dns_ttl dns_nameservers 8.8.8.8 8.8.4.4 udp_incoming_address
如果無法做到這一點,我接受替代方案
Squid 不是 DNS 代理,不接受 DNS 請求。
查看您突出顯示的指令的文件,很明顯這些是用於內部設置的,與外部客戶端訪問無關:
在明確回應您的最後一句話/問題時,沒有其他方法可以將 DNS 流量定向到 Squid 代理,因為 Squid 不代理 DNS 流量。
進一步閱讀
我一直在思考這個問題,並試圖猜測你真正想要解決的問題。您確實意識到雖然 Squid 不代理 DNS 請求,但所有標準 DNS 伺服器都這樣做?我可以舉的例子包括 Dnsmasq 和 Bind。