Ich habe ein seltsames Problem mit der Portweiterleitung. Ich habe versucht, meinen Port 22 für das externe Netzwerk zu öffnen. Ich konnte darauf zugreifen, solange ich nicht im LAN bin. Ich kann zum Beispiel von meinem Büro aus darauf zugreifen. Aber innerhalb des LAN kann ich über die lokale IP auf den Port zugreifen, aber ich kann nicht über die externe IP auf den Port zugreifen. Es ist, als ob der Router den Loopback blockiert. Ich habe alle meine Router-Einstellungen überprüft und alle Firewall- / Filterfunktionen deaktiviert. Irgendwelche Ideen?
Es gibt eine wirklich einfache Antwort auf diese Frage. Das NAT steht im Weg.
Sie versuchen, mit einer öffentlichen IP zu sprechen, aber die Antworten stammen von einer internen IP. Ihr Computer kann die beiden nicht zusammenarbeiten lassen. Die Lösung besteht darin, die interne IP zu verwenden, wenn Sie sich hinter dem Router befinden. Ich arbeite um dieses Problem auf meinen Laptops, indem ich je nach Standort unterschiedliche SSH-Verbindungszeichenfolgen verwende.
quelle
Soweit ich weiß, dass ein OpenBSD-Router mit NAT ausgeführt wird, ist Spiff in seiner Antwort richtig: Das Problem, das auftritt, wird dadurch verursacht, dass das NAT-Gateway nicht unterstützt, was Sie versuchen zu tun.
Ihre Workstation sendet Pakete mit einer Quell-IP einer internen Adresse (z. B. 10.0.0.2), aber die Zieladresse ist Ihre externe IP. Wenn die Pakete an Ihrem (SSH?) Server an Port 22 ankommen, antwortet der Server direkt auf Ihre Workstation und es findet kein NAT statt. Wenn Ihre Workstation jetzt eine Antwort von 10.0.0.3 erhält, als sie eine Antwort von Ihrer externen Adresse erwartet hat, werden die Pakete verworfen.
Es scheint ein triviales Problem zu sein, aber es kann behoben werden, indem Sie die HOSTS-Datei Ihrer Workstation aktualisieren, einen internen DNS-Server hinzufügen (oder die Einträge des DNS-Servers bearbeiten) oder eine NAT-Regel erstellen, um die internen-> externen-> internen zu behandeln der Verkehr.
quelle