iptables は DNS をプロキシにリダイレクトします

iptables は DNS をプロキシにリダイレクトします

iptables を使用して、DNS (tcp/udp) 要求を非透過モード (3128) で Squid プロキシにリダイレクトできますか? (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 squid

参照: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

これができない場合は、代替案を受け入れます

答え1

Squid は DNS プロキシではないため、DNS 要求を受け入れません。

あなたが強調したディレクティブのドキュメントを見ると、これらは内部設定用であり、外部クライアント アクセスとはまったく関係がないことは明らかです。

最後の文/質問に対する明確な回答として、Squid は DNS トラフィックをプロキシしないため、DNS トラフィックを Squid プロキシに転送する別の方法はありません。

参考文献


私はこれについてもう少し考え、あなたが実際に解決したい問題を推測しようとしています。Squid は DNS 要求をプロキシしませんが、すべての標準 DNS サーバーはこれを実行することをご存知ですか? 例としては、Dnsmasq と Bind が挙げられます。

関連情報