iptablesを使用してDNS(tcp / udp)要求を不透明モード(3128)から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 -trunp 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があります。