Zugriff auf externe Dienste über das LAN nicht möglich

11

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?

Erotik
quelle

Antworten:

5

Angenommen, Spiff ist korrekt und Ihr Router kann die Portweiterleitung an die externe IP-Adresse innerhalb des Netzwerks nicht verarbeiten.

Sie können die Hosts-Datei bearbeiten, die sich in den meisten Unix-Systemen unter / etc / hosts und unter Windows unter C: \ Windows \ system32 \ drivers \ etc \ befindet.

wenn Sie hinzufügen

192.168.0.15  example.com

In dieser Datei wechselt Ihr Computer zu der angegebenen IP-Adresse, wenn Sie versuchen, auf example.com zuzugreifen. Sie müssen dies natürlich auf jedem Computer tun, den Sie im Netzwerk verwenden möchten.

Weitere Informationen dazu, wo Sie ihn finden, finden Sie im Wikipedia-Artikel: https://en.wikipedia.org/wiki/Hosts_file

Terje
quelle
13

Angesichts der Tatsache, dass Sie die Portweiterleitung erwähnt haben, gehe ich davon aus, dass Ihr Heim-Gateway als NAT- oder genauer als NAPT-Gateway fungiert. Was Sie versuchen zu tun, heißt "Haarnadel-NAT" oder "NAT-Haarnadel", in Bezug auf die Art und Weise, wie sich eine wörtliche Haarnadel auf sich selbst verdoppelt (dieselbe Anspielung wird vom Begriff "Haarnadelkurve" für eine scharfe Biegung verwendet, bei der eine Straße verdoppelt sich wieder auf sich selbst).

Einige NAT-Gateways sind Mist und unterstützen keine Haarnadelung. Möglicherweise ist es an der Zeit, Ihre Upgrade-Optionen zu erkunden.

Spiff
quelle
Dies ist ein ziemlich neuer Router, daher bezweifle ich, dass dies das Problem ist.
Erotikppa
6
"Neu" bedeutet nicht "hohe Qualität". Es gibt immer viel Mist auf dem Markt zu einer bestimmten Zeit.
Spiff
Und dieser Kommentar gilt acht Jahre später!
Tim_Stewart
@erotsppa - Wie Tim_Stewart sagt, "gilt 8 Jahre später" (2018) ... hängt alles von den Kosten ab und davon, was für die Implementierung der Lösung erforderlich ist, im Vergleich zur Nachfrage nach einer solchen Lösung. Ihr typisches "Heim" -Modem / -Router benötigt keine solchen Funktionen ... Ein Unternehmen hat jedoch sehr unterschiedliche Anforderungen (Mitarbeiter, die vor Ort und außerhalb arbeiten, sollten beispielsweise keine Einstellungen ändern müssen, um ihre zu erhalten). Sagen wir, E-Mails (wenn sie einen lokalen Mailserver verwenden) funktionieren, wenn sie im Büro arbeiten und wenn sie außerhalb des Standorts arbeiten usw. Geräte für Unternehmen sind häufig leistungsstärker und verfügen über diese Funktionen.
Kinnectus
3

Es gibt eine wirklich einfache Antwort auf diese Frage. Das NAT steht im Weg.

  1. Ihr Computer stellt eine Verbindung zu [ExternalIP] her
  2. Ihr Router leitet diese Verbindung an [SSHInternalIP] weiter. Ihr SSH-Server sieht eine Verbindung von [YourInternalIP].
  3. Ihr SSH-Server sendet seine Pakete an [YourInternalIP].
  4. Ihr Computer sieht ein seltsames Paket von einer IP, mit der er nie gesprochen hat, und verwirft es.
  5. Ihre Verbindung zu TCP / 22 schlägt fehl, da der TCP-3-Wege-Handshake nie abgeschlossen wird.

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.

SysAdmin1138
quelle
2

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.

ItsOnlyOneLineOfCode
quelle