
Also gut, meine Situation ist im Wesentlichen diese: Ich habe eine Box, die als Router fungiert, mit 2 Schnittstellen, eth0
und eth1
. eth1
ist mein Uplink, das heißt, die Schnittstelle, über die die Box eine Internetverbindung herstellt. eth0
ist 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) eth0
stattdessen 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 eth0
konfiguriert 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.8
example.com
192.0.2.1
eth0
dig example.com @8.8.8.8
8.8.8.8
192.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, dnschef
und vielleicht bieten auch verschiedene Webfilter-Suiten diese Funktion an.