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 が挙げられます。