iptables leitet DNS zum Proxy um

iptables leitet DNS zum Proxy um

Können wir DNS-Anfragen (TCP/UDP) mithilfe von iptables im nicht transparenten Modus (3128) an den Squid-Proxy umleiten? (Würde der Squid-Proxy dies verstehen und verarbeiten?)

Beispielregel zur Umleitung von TCP 53 (es könnte eine ähnliche Regel sein):

iptables -t nat -A PREROUTING -s 192.168.0.0/24 -i eth1 -p tcp --dport 53 -j REDIRECT --to-port 3128

Beispielregel zur Umleitung von UDP 53 (es könnte eine ähnliche Regel sein):

Hinweis: Squid „hört“ auf dem hohen UDP-Port. Beispiel: 36352, Befehl: netstat -tlunp | grep squid

Referenz: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: Dies sind nur Beispiele für Squid-Direktiven im Zusammenhang mit DNS. Ich behaupte nicht, dass sie meinen Zwecken dienen:

positive_dns_ttl 
negative_dns_ttl 
dns_nameservers 8.8.8.8 8.8.4.4
udp_incoming_address

Wenn dies nicht möglich ist, akzeptiere ich Alternativen

Antwort1

Squid ist kein DNS-Proxy und akzeptiert keine DNS-Anfragen.

Wenn man sich die Dokumentation zu den von Ihnen hervorgehobenen Anweisungen ansieht, ist es ziemlich klar, dass es sich dabei um interne Einstellungen handelt und sie nichts mit dem externen Clientzugriff zu tun haben:

Als ausdrückliche Antwort auf Ihren letzten Satz/Ihre letzte Frage: Es gibt keine alternativen Möglichkeiten, den DNS-Verkehr an einen Squid-Proxy umzuleiten, da Squid den DNS-Verkehr nicht als Proxy nutzt.

Weiterführende Literatur


Ich habe noch ein bisschen darüber nachgedacht und versucht, das Problem zu erraten, das Sie eigentlich lösen möchten. Ist Ihnen klar, dass Squid zwar keine DNS-Anfragen weiterleitet, alle Standard-DNS-Server dies jedoch tun? Beispiele, die ich anführen kann, sind Dnsmasq und Bind.

verwandte Informationen