.png)
Ich verwende ein Setup mit zwei Routern und der folgenden Hardware:
Netgear WNDR3400V2 - 192.168.1.1 - DD-WRT
Belkin F9K1105 v1 – 192.168.1.50 – Standard-Firmware
Der Belkin ist als Switch eingerichtet, an den ich einen Webserver angeschlossen habe.
[Internet] -> Netgear -> Belkin -> Server
Bei einer internen Verbindung wird meine IP entsprechend protokolliert (z. B. 192.168.1.51). Bei einer Verbindungäußerlich, alle IPs werden als 192.168.1.1 (die IP des Hauptrouters) angezeigt
Dies funktioniert natürlich auch problemlos, wenn sich kein zweiter Router hinter mir befindet, aber leider ist mein aktuelles Setup nicht unbedingt eine Notlösung.
Ich habe mich gefragt, ob ich spezielle Anweisungen dazu bekommen könnte, wie ich externe IP-Adressen vom Server richtig „sehen“ kann.
Dank im Voraus!
Antwort1
Das Problem scheint in den von DD-WRT eingerichteten Standard-IPtables-Regeln zu liegen.
Das Entfernen der Zeile MASQUERADE in POSTROUTING behebt das Problem für mich, externe Verbindungen werden nicht mehr als interne IP meines Hauptrouters angezeigt.
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE 0 -- anywhere anywhere
SNAT 0 -- 192.168.1.0/24 anywhere to:1.1.1.1
RETURN 0 -- anywhere anywhere PKTTYPE = broadcast
Dadurch wird das erste Element in der obigen Liste entfernt:
iptables -t nat -D POSTROUTING 1
Weitere Informationen zum obigen Fix finden Sie hier:https://www.reddit.com/r/HomeNetworking/comments/40swj2/firewall_log_shows_router_ip_for_all_incoming/cyxaz3t/
Jetzt sollte alles einwandfrei funktionieren.
Randbemerkung: Wenn Sie von einer internen IP-Adresse aus nicht mehr über eine externe IP-Adresse auf Ihre Dienste zugreifen können, müssen Sie möglicherweise eine oder beide der folgenden Maßnahmen ergreifen (bei mir waren beide erforderlich):
Stellen Sie sicher, dass Sie die Option „WAN NAT-Umleitung filtern“ unter „DD-WRT -> Sicherheit -> Firewall“ deaktivieren.
Führen Sie Folgendes aus:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 192.168.1.0/24 -j MASQUERADE
Ersetzen Sie beide Vorkommen von 192.168.1.0/24 durch das, was für Ihr Setup relevant ist.
Um dies zu vereinfachen, empfehle ich, dies einfach im Firewall-Skript unter "Verwaltung -> Befehle" zu speichern.
iptables -t nat -D POSTROUTING 1
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 192.168.1.0/24 -j MASQUERADE