iptables „umschreiben“ Anfragen auf einem bestimmten Port?

iptables „umschreiben“ Anfragen auf einem bestimmten Port?

Also gut, meine Situation ist im Wesentlichen diese: Ich habe eine Box, die als Router fungiert, mit 2 Schnittstellen, eth0und eth1. eth1ist mein Uplink, das heißt, die Schnittstelle, über die die Box eine Internetverbindung herstellt. eth0ist der Downlink, das heißt die Schnittstelle, über die ein anderes Gerät / ein Switch / ein Wireless AP / was auch immer verbunden werden würde.

Ich möchte es mithilfe von iptables irgendwie so einrichten, dass alle Anfragen an Port 53 (egal von welcher Adresse) eth0stattdessen an den unter laufenden DNS-Server gesendet werden 127.0.0.1. Wenn dieser DNS-Server eine Antwort sendet, soll es für die Maschine, die die Anfrage gesendet hat, so aussehen, als käme die Antwort von der Adresse, an die das Paket tatsächlich gesendet wurde.

Beispiel: Angenommen, es ist ein Computer mit verbunden, der als DNS-Server eth0konfiguriert ist . Der DNS-Server des Routing-Computers hat einen Eintrag für , der auf verweist . Jemand auf dem Computer, der mit verbunden ist, führt aus . Er erhält eine Antwort, die scheinbar von kommt , aber in Wirklichkeit von der Routing-Box stammt, und diese Antwort besagt, dass der A-Eintrag für example.com lautet .8.8.8.8example.com192.0.2.1eth0dig example.com @8.8.8.88.8.8.8192.0.2.1

Wie kann ich das machen?

Beachten Sie, dass dies für JEDE DNS-Serveradresse funktionieren muss, nicht nur 8.8.8.8.

Antwort1

Sie benötigen hierfür spezielle Software und es gilt als bösartig. Das Internet durch einen Man-in-the-Middle-Angriff auf den DNS-Verkehr lahmzulegen, ist genau der Grund, warum Dinge wie DNSSec eingeführt werden.

Wenn Sie jedoch wirklich genau hinsehen möchten, sollten Sie die Ergebnisse für „DNS Interception“ und „Transparent DNS Proxy“ überprüfen. Einige Dinge, die mir einfallen, sind Barracuda-Firewalls, dnschefund vielleicht bieten auch verschiedene Webfilter-Suiten diese Funktion an.

verwandte Informationen