Dies ist ein häufiges Problem, das durch die Unfähigkeit zur Durchführung einer Hairpin-NAT verursacht wird. Die meisten billigen Heimrouter erledigen dies einfach durch Aktivieren der Port-Weiterleitung. Router der oberen Preisklasse benötigen jedoch separate Regeln, um das Problem zu beheben.
Ihre regulären NAT-Regeln funktionieren nur von außerhalb Ihres Netzwerks. Wenn Sie versuchen, von Ihrem Netzwerk aus eine Verbindung herzustellen, liegt ein NAT-Problem vor.
Bedenken Sie...
- Sie haben
Server A
in Ihrem lokalen Netzwerk mit IP10.10.10.10
. - Sie haben
Computer A
in Ihrem lokalen Netzwerk mit IP10.10.10.20
. - Du hast
Router A
mit einerLAN
IP von10.10.10.1
und einerWAN
IP von11.11.11.11
. - Sie haben
Computer B
außerhalb Ihres Netzwerks IP12.12.12.12
. - Sie haben
port 22
von Ihrem WAN IP an weitergeleitetServer A
.
Von außerhalb Ihres Netzwerks sieht der Datenverkehr folgendermaßen aus:
Computer B versucht, eine Verbindung zu Server A herzustellen:
Source IP: 12.12.12.12 Src Port: 12345 Destination IP: 11.11.11.11 Dest Port: 22
Router A NATs das Paket und schickt es an Server A weiter:
Source IP: 12.12.12.12 Src Port: 12345 Destination IP: 10.10.10.10 Dest Port: 22
Server A antwortet auf Computer B:
Source IP: 10.10.10.10 Src Port: 22 Destination IP: 12.12.12.12 Dest Port: 12345
Router A NATs das Paket und schickt es an Computer B:
Source IP: 11.11.11.11 Src Port: 22 Destination IP: 12.12.12.12 Dest Port: 12345
Alles funktioniert wie beabsichtigt. Stellen Sie sich nun das gleiche Szenario vor, jedoch aus Ihrem Netzwerk heraus:
Computer A versucht, eine Verbindung zu Server A herzustellen:
Source IP: 10.10.10.20 Src Port: 12345 Destination IP: 11.11.11.11 Dest Port: 22
Router A NATs das Paket und schickt es an Server A weiter:
Source IP: 10.10.10.20 Src Port: 12345 Destination IP: 10.10.10.10 Dest Port: 22
Server A antwortet auf Computer A:
Source IP: 10.10.10.10 Src Port: 22 Destination IP: 10.10.10.20 Dest Port: 12345
Die Quell-IP befindet sich in demselben Subnetz wie die Ziel-IP. Server A
sendet das Paket nicht zurück an den Router, es sendet es direkt an Computer A
. Computer A
legt das Paket ab, weil es von kam 10.10.10.10
und das Originalpaket an gesendet hat 11.11.11.11
. Es erwartet, dass das Paket zurückkommt 11.11.11.11
.
Um das Problem zu beheben, müssen Sie eine zweite, spezifischere NAT-Regel erstellen, die mit dem Datenverkehr in Ihrem Netzwerk übereinstimmt. Es kommt nach Ihrer ursprünglichen NAT-Regel. Sie müssen ein Quell-NAT machen, das folgendermaßen aussieht:
srcnat src-address=10.10.10.0/24 dst-address=10.10.10.10 dst-port=22 out-interface=LAN action=masquerade
Nun wollen wir uns das noch einmal ansehen:
Computer A versucht, eine Verbindung zu Server A herzustellen:
Source IP: 10.10.10.20 Src Port: 12345 Destination IP: 11.11.11.11 Dest Port: 22
Router A NATs das Paket und schickt es an Server A weiter:
Source IP: 10.10.10.1 Src Port: 12345 Destination IP: 10.10.10.10 Dest Port: 22
Server A antwortet auf Computer A:
Source IP: 10.10.10.10 Src Port: 22 Destination IP: 10.10.10.1 Dest Port: 12345
Router A NATs das Paket und schickt es an Computer A:
Source IP: 11.11.11.11 Src Port: 22 Destination IP: 10.10.10.20 Dest Port: 12345
Alles funktioniert wie beabsichtigt.
Wie Sie diese zweite NAT-Regel implementieren, hängt von der Hardware und Software Ihres Routers ab. Ihre Laufleistung kann variieren.