Ein Port kann nicht weitergeleitet werden

Ein Port kann nicht weitergeleitet werden

Ich habe einen Tag lang erfolglos danach gesucht, wie ich einen Port von meinem Router an meinen PC weiterleiten kann. Und jetzt habe ich keine Anhaltspunkte mehr ... und bin frustriert. Ich habe viele Seiten mit Beschreibungen und möglichen Lösungen gesehen, aber irgendwie finde ich nicht die richtige Antwort. Entschuldigen Sie also, wenn sich diese Frage wiederholt, aber ich sehe das anders.

Ich versuche Folgendes: Ich möchte auch auf der Arbeit auf meinen PC zu Hause zugreifen können. Dafür nutze ich einen DDNs-Dienst.

Einige Szenarien, die funktionieren, und einige, die nicht funktionieren: Dies ist meine „Standard“-Konfiguration.

Ich habe zwei PCs, einen Desktop und einen Laptop. Auf beiden habe ich einen SSH-Server (Bitvise) und einen SSH-Client (PuTTY). Auf dem Desktop läuft Windows 10 und auf dem Laptop Windows 7. Ich kann eine SSH-Verbindung vom Desktop zum Laptop und umgekehrt herstellen, was für mich bedeutet, dass Port 22 auf beiden Computern geöffnet ist. Richtig?

ISP
 |
ZyXEL VMG8324-B10A (forward port 22 to 192.168.1.105)
 | .1  (192.168.1.x)
 |
 +- .105 PC (desktop, W10, SSH server on port 22)
 |
 +- .107 PC (laptop, W7, SSH server on port 22)

Der Dienst für DDNs ermöglicht mir die Verbindung zu meinem Heimnetzwerk. Wenn ich versuche, Port 80 zu verbinden, erhalte ich nur den Anmeldebildschirm für meinen Router, da gibt es keine Probleme. Ich habe es sogar mit einem zweiten Router versucht, der für Port 8080 konfiguriert war, und dem ursprünglichen Server, der Port 8080 an diesen zweiten Server weiterleitete. Kein Problem.

So sieht dieses Setup aus.

ISP
 |
ZyXEL VMG8324-B10A (forward port 8080 to 192.168.1.2)
 | .1  (192.168.1.x)
 |
 | .2
LinkSys E3000 (configuration available on port 8080)
 | .1  (10.233.1.x)

Ich konnte über den DDN-Anbieter erfolgreich eine Verbindung zur Konfiguration für LinkSys (auf Port 8080) herstellen. Da gab es keine Probleme. Richtig?

Wie bereits gesagt, kann ich eine Verbindung zwischen dem SSH-Client 192.168.1.105 und dem SSH-Server 192.168.1.107 sowie zwischen dem SSH-Client 192.168.1.107 und dem SSH-Server 192.168.1.105 herstellen.

Ich kann jedoch über DDNs keine Verbindung zu einem SSH-Server herstellen.

Jetzt kann ich die Konfigurationsseite (Port 80) für ZyXEL und für LinkSys E3000 sehen (Weiterleitung von Port 8080 funktioniert). Warum funktioniert es nicht für Port 22?

Hier sind die Regeln in ZyXEL für die Weiterleitung:

# Status Name      WAN WAN_IP ServerIP      TriggerStart End TranslationStart End Protocol
1 active SSH       wan -      192.168.1.105 22           22   22           22   TCP/UDP
2 active http8080  wan -      192.168.1.105 8080         8080 8080         8080 TCP/UDP

Hier ist nichts Ungewöhnliches. Und SSH-Kommunikation zwischen PC und Laptop möglich, da ist nichts Ungewöhnliches. Wo muss ich nach der Kommunikation von DDNs zum PC suchen? Was habe ich vergessen?

Alle Vorschläge sind willkommen!

Bearbeiten: 5. September 2016.

Problem gelöst! Mithilfe der Antworten unten konnte ich einige Konfigurationsprobleme beheben und vor ein paar Minuten konnte ich einen RDC von meinem Android auf meinen PC übertragen. Toll!

Antwort1

Sie schreiben, dass Sie sich im Netzwerk befinden und Folgendes passiert:

Der Dienst für DDNs ermöglicht mir die Verbindung zu meinem Heimnetzwerk. Wenn ich versuche, Port 80 zu verbinden, erhalte ich nur den Anmeldebildschirm für meinen Router

Das bedeutet, dass Ihr Router kein NAT-Loopback unterstützt. Um Ihre Portweiterleitung richtig zu testen, müssen Sie sich außerhalb des lokalen Netzwerks befinden. Sie könnten zum Testen beispielsweise Ihr Telefon mit mobilem Breitband verwenden.

Ping wird bei den meisten Routern für Privatanwender standardmäßig gefiltert. Das ist natürlich Sicherheit durch Verschleierung. Es erschwert auch die Diagnose von Problemen unnötig, daher können Sie diese Option einfach deaktivieren.

Außerdem:
Auch die interne Software Ihres Routers verhält sich nicht richtig. Die Weboberfläche öffnet sich, wenn Sie zu Ihrer externen IP-Adresse navigieren. Das ist sehr gefährlich! Ohne Ihre interne Netzwerkstruktur zu kennen, kann ein Angreifer über Cross-Site-Scripting oder Ähnliches die Kontrolle über Ihren Router erlangen.

Antwort2

„Ich kann eine SSH-Verbindung vom Desktop zum Laptop und umgekehrt herstellen, was für mich darauf schließen lässt, dass Port 22 auf beiden Computern geöffnet ist. Richtig?“

Ja. Dies zeigt an, dass der SSH-Server ausgeführt wird und keine softwarebasierte Firewall (auf beiden Computern) den Datenverkehr blockiert.

Beachten Sie, dass dies nicht bedeutet, dass Sie sich per SSH von einem anderen Netzwerk aus anmelden können. Die Windows-Firewall kann unterschiedliche Regeln haben, je nachdem, ob ein Netzwerk als „privat“, „öffentlich“ oder „Gast“ erscheint. Nur weil die Software-Firewall eine Verbindung zulässt, heißt das also nicht, dass eine andere Verbindung funktioniert. Ich behaupte nicht, dass dies wahrscheinlich die Ursache Ihres Problems ist, aber wenn es so ist, kann es sehr schwierig sein, es zu erkennen, wenn Sie nicht darüber nachdenken.

Lassen Sie mich auch sicherstellen, dass Sie verstehen, was ein „offener Port“ ist. Wir beziehen uns auf TCP-Portnummern und UDP-Portnummern. Diese „Ports“ sind einfach Zahlen. Wenn ein „Port“ offen ist, bedeutet das, dass eine Verbindung zu diesem Port hergestellt werden kann.

Wenn also jemand versucht, eine SSH-Anfrage an die IP-Adresse Ihres Zuhauses zu senden, leitet Ihr ISP diesen Datenverkehr pflichtbewusst an den Router in Ihrem Gebäude weiter. Wenn das Ergebnis eine erfolgreiche Verbindung ist, ist der Port geöffnet.

Der Router kann diesen Datenverkehr auf zwei Arten verarbeiten, sodass der Port geöffnet bleibt.

  • Eine dieser Möglichkeiten besteht darin, dass der Router ein Programm ausführt, das auf diesen Port reagiert. Für Port 22 würde das also normalerweise bedeuten, dass der Router einen SSH-Server ausführt. (Und für Port 80 würde das normalerweise bedeuten, dass der Router einen HTTP-Server ausführt, den wir oft als „Webserver“ bezeichnen.)

  • Der andere mögliche Ansatz besteht darin, dass der Router den Datenverkehr an ein anderes Gerät weiterleitet. Dies geschieht normalerweise, indem Datenverkehr an ein Gerät in einem anderen Subnetz gesendet wird. Wenn das Gerät dies tut, „routet“ es den Datenverkehr. Aus diesem Grund nennen wir diese Dinge oft „Router“.

Damit der zweite Ansatz funktioniert, muss der Router wissen, an welches System der Datenverkehr gesendet werden soll. Dies kann mithilfe eines Vorgangs namens „Portweiterleitung“ erfolgen. Bei der „Portweiterleitung“ wird dem Router lediglich mitgeteilt, an welcher Portnummer der Datenverkehr erwartet wird und an welches System der Datenverkehr weitergeleitet wird.

Wenn Sie nun Ihre Routerkonfiguration überprüfen, stellen Sie möglicherweise fest, dass Ihr Abschnitt „Portweiterleitung“ leer ist. Wie kann SSH in diesem Fall geroutet werden? Nun, viele Router haben einen Konfigurationsabschnitt namens „Demilitarisierte Zone“, sehr oft abgekürzt „DMZ“. Die Funktionsweise dieser DMZ ist eigentlich nur eine ziemlich spezielle Regel für die Portweiterleitung. Sie geben letztendlich an, welchen Computer der Router verwenden soll, und der Router sendet alle Ports an diesen Computer, es sei denn, im Abschnitt „Portweiterleitung“ ist eine spezifischere Regel angegeben. Ich denke, die meisten Router platzieren die DMZ normalerweise nicht im Abschnitt „Portweiterleitung“, vielleicht weil die DMZ-Konfiguration dazu führen könnte, dass der Router IP-Verkehr über andere als diese Ports weiterleitet.

Im Allgemeinen können Sie mit eingehendem Datenverkehr auf Port 22 nur eine Sache machen. Okay, ich nehme an, es ist möglich, mehr als eine Sache zu machen, z. B. den Datenverkehr aus einem Büro in Seattle an einen Laptop und den Datenverkehr aus Tokio an den Desktop zu leiten. Solche komplizierten Konfigurationen sind jedoch nicht üblich. Weitaus üblicher wäre es, einfach per Portweiterleitung einen anderen Port (z. B. vielleicht 2222) an Ihren anderen Computer zu senden und diesen Computer auf einem nicht standardmäßigen Port lauschen zu lassen.

(Oder lassen Sie den Router eine Übersetzung vornehmen, sodass eingehender Datenverkehr auf Port 2222 auf den Standardport 22 des anderen Computers umgeleitet wird. Dann muss der Computer, der den Datenverkehr empfängt, allerdings nicht einmal wissen, dass Port 2222 verwendet wurde. Das Verbergen solcher Informationen kann dazu führen, dass Protokolle weniger nützlich sind, und Sie müssen sich merken, dass der Router eine solche Übersetzung vornimmt. Wenn Sie stattdessen einfach Port 2222 abhören, sind die Dinge oft klarer.)

Beachten Sie, dass ICMP (von Ping und mehreren Traceroute-Implementierungen verwendet) weder einen TCP-Port noch einen UDP-Port verwendet. (ICMP liegt über IP. Obwohl IP jedoch „Schicht 3“ des OSI-Netzwerkmodells verwendet, gilt ICMP nicht wirklich als Protokoll auf „Schicht 4“ des OSI-Modells, da es nicht die typische Konversationsverfolgungsfunktion bietet, die ein „Schicht 4“-Protokoll normalerweise auszeichnet.)

Sie sehen jetzt also, dass das Öffnen von Port 22 auf dem Router nicht unbedingt dazu beiträgt, dass beide Maschinen SSH-Verkehr empfangen.

Beachten Sie, dass Ihr ZyXEL wahrscheinlich zwei IPv4-Adressen hat (vorausgesetzt, Ihr Internet verwendet IPv4). Eine davon ist die 192.168.1.1. Diese Adresse können Sie uns ohne Bedenken mitteilen, da sie inRFC 1918. Die andere ist eine öffentliche Adresse. Es klingt, als ob sich diese Adresse ändert (da Sie DynDNS verwenden). Sagen Sie uns diese Adresse nicht. (Für eine Konversation können Sie so tun, als ob sie mit „203.0.113.“ beginnt, was eigentlich eine Reihe von Adressen ist, die für Beispiele/Dokumentation reserviert sind, wie angemerkt vonRFC 5735 Seite 5.)

Möglicherweise ist es einfacher, wenn Sie kein dynamisches DNS verwenden, sondern eine statische IP von Ihrem ISP erhalten. Ich kenne einen lokalen ISP in meiner Nähe (in den USA), der auf Anfrage kostenlos eine statische IP (an einen Kunden) vergeben kann. Möglicherweise wird Ihnen dafür eine Gebühr berechnet (und wenn ja, sollten Sie auch nachfragen, was ein /29 kostet, also ein Block von 8, von denen normalerweise 5 vom Kunden genutzt werden können). Das soll nicht heißen, dass Ihr Weg mit dynamischem DNS nicht funktionieren kann, aber ich stelle nur eine weitere Option zur Prüfung vor.

Der Dienst für DDNs ermöglicht mir die Verbindung zu meinem Heimnetzwerk. Wenn ich versuche, eine Verbindung über Port 80 herzustellen, erhalte ich einfach den Anmeldebildschirm für meinen Router, da gibt es keine Probleme.

Sie haben nicht gesagt, welche IP-Adresse Sie verwenden, wenn Sie sich mit Port 80 verbinden. Aber da Sie das direkt nach der Verwendung von DDNS gesagt haben, klingt es so, als würden Sie über die Verwendung Ihrer öffentlichen IP-Adresse sprechen. Wenn das tatsächlich der Fall ist, dann ist der letzte Absatz vonAntwort von Daniel B.ist eine durchaus berechtigte Warnung. Router für den Endverbraucher sind dafür bekannt, dass ihre Weboberflächen nicht ausreichend geschützt sind. Suchen Sie daher nach der Option, die angibt, dass Ihre Weboberfläche nur über die kabelgebundene LAN-Verbindung zugänglich sein soll. (Vertrauen Sie weder Verbindungen aus dem Internet noch WLAN.)

verwandte Informationen