"Ich kann eine SSH-Verbindung vom Desktop zum Laptop und umgekehrt herstellen, was darauf hinweist, 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) diesen Verkehr blockiert.
Beachten Sie, dass dies nicht bedeutet, dass Sie von einem anderen Netzwerk aus SSH verwenden können. Für die Windows-Firewall gelten andere Regeln, je nachdem, ob ein Netzwerk als "Privat", "Öffentlich" oder "Gast" erscheint. Nur weil die Software-Firewall eine Verbindung zulässt, bedeutet dies nicht, dass eine andere Verbindung funktioniert. Ich behaupte nicht, dass dies wahrscheinlich die Ursache Ihres Problems ist, aber wenn dies der Fall ist, kann es sehr schwierig sein, herauszufinden, ob Sie nicht darüber nachdenken.
Lassen Sie mich auch sicherstellen, dass Sie wissen, was ein "offener Hafen" ist. Wir beziehen uns auf TCP-Portnummern und UDP-Portnummern. Diese "Ports" sind einfach Zahlen. Wenn ein "Port" geöffnet ist, kann eine Verbindung zu diesem Port hergestellt werden.
Wenn also jemand versucht, eine SSH-Anfrage an die IP-Adresse Ihres Hauses zu senden, leitet Ihr ISP diesen Datenverkehr pflichtgemäß an den Router in Ihrem Gebäude weiter. Wenn das Ergebnis eine erfolgreiche Verbindung ist, ist der Port geöffnet.
Nun gibt es zwei Möglichkeiten, wie der Router mit diesem Verkehr umgehen kann, so dass der Port geöffnet wird.
Eine dieser Möglichkeiten besteht darin, dass der Router ein Programm ausführt, das auf diesen Port reagiert. Für Port 22 würde dies normalerweise bedeuten, dass der Router einen SSH-Server ausführen würde. (Und für Port 80 würde dies normalerweise bedeuten, dass der Router einen HTTP-Server betreibt, den wir häufig als "Webserver" bezeichnen.)
Der andere mögliche Ansatz besteht darin, dass der Router den Datenverkehr an ein anderes Gerät weiterleitet. Dies wird normalerweise durch Senden von Datenverkehr an ein Gerät in einem anderen Subnetz ausgeführt. Wenn das Gerät dies tut, "routet" es den Verkehr. Deshalb nennen wir diese Dinge oft "Router".
Damit der zweite Ansatz funktionieren kann, muss der Router wissen, an welches System der Datenverkehr gesendet werden soll. Dies kann mit einem Prozess durchgeführt werden, der als "Portweiterleitung" bezeichnet wird. Bei der "Portweiterleitung" muss der Router tatsächlich darüber informiert werden, an welcher Portnummer der Datenverkehr ankommen soll, und an welches System wird der Datenverkehr geleitet.
Wenn Sie nun die Konfiguration Ihres Routers überprüfen, wird möglicherweise der Abschnitt "Portweiterleitung" leer sein. Wie kann SSH in diesem Fall geroutet werden? Nun, viele Router haben einen Konfigurationsabschnitt, der als "entmilitarisierte Zone" bezeichnet wird und oft als "DMZ" (abgekürzt) bezeichnet wird. Die Funktionsweise dieser DMZ ist eigentlich nur eine spezielle Regel für die Portweiterleitung. Am Ende legen Sie fest, welchen Computer der Router verwendet, 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 in den Portweiterleitungsabschnitt, vielleicht weil die DMZ-Konfiguration dazu führen kann, dass der Router anderen IP-Verkehr als nur diese Ports weiterleitet.
Im Allgemeinen können Sie mit eingehendem Datenverkehr auf Port 22 nur eine Sache tun. Okay, ich denke, es ist möglich, mehr als eine Sache zu tun, z. B. den Verkehr von einem Büro in Seattle, um zu einem Laptop zu fahren, während der Verkehr von Tokio zu geht der Desktop. Solche komplizierten Einstellungen sind jedoch nicht üblich. Weitaus üblicher wäre es, wenn die Portweiterleitung einen anderen Port (z. B. 2222) an Ihren anderen Computer sendet und diesen Computer an einem nicht standardmäßigen Port hört.
(Oder lassen Sie den Router etwas übersetzen, sodass ankommender Datenverkehr an Port 2222 an den Standard-Port 22 des anderen Computers weitergeleitet wird. Allerdings muss der Computer, der den Datenverkehr empfängt, nicht einmal wissen, dass Port 2222 verwendet wurde. Diese Informationen können ausgeblendet werden Machen Sie Protokolle weniger nützlich, und Sie müssen sich daran erinnern, dass der Router eine solche Übersetzung durchführt. Stattdessen hören Sie nur Port 2222 an.
Beachten Sie, dass ICMP (von Ping und mehreren Traceroute-Implementierungen verwendet) keinen TCP-Port oder UDP-Port verwendet. (ICMP liegt oberhalb von IP. Obwohl IP "Layer 3" des OSI-Netzwerkmodells verwendet, ist ICMP jedoch nicht als Protokoll auf "Layer 4" des OSI-Modells zu qualifizieren, da es nicht das Typische Konversationsverfolgungsfunktion, die ein "Layer 4" -Protokoll unterscheidet.)
Nun sehen Sie, dass ein offener Port 22 auf dem Router nicht unbedingt dazu beiträgt, dass beide Maschinen SSH-Verkehr erhalten.
Verstehen Sie, dass Ihr ZyXEL wahrscheinlich über zwei IPv4-Adressen verfügt (vorausgesetzt Ihr Internet verwendet IPv4). Einer ist der 192.168.1.1. Über diese Adresse können Sie uns sicher Bescheid geben, da es sich um eine Adresse handelt, die in RFC 1918 aufgeführt ist . Die andere ist eine öffentliche Ansprache. Es klingt wie diese Adressänderung (seitdem Sie DynDNS verwenden). Erzähl uns nicht diese Adresse. (Für ein Gespräch können Sie so tun, als würde es mit "203.0.113." Beginnen. Hierbei handelt es sich tatsächlich um eine Reihe von Adressen, die für Beispiele / Dokumentation reserviert sind, wie in RFC 5735 auf Seite 5 angegeben .)
Möglicherweise fällt es Ihnen leichter, Dynamic DNS nicht zu verwenden, sondern eine statische IP-Adresse von Ihrem ISP zu erhalten. Ich kenne einen lokalen ISP-Standort (in den USA), der auf Anfrage kostenlos eine statische IP-Adresse (an einen Kunden) ausgeben kann. Sie möchten Sie möglicherweise in Rechnung stellen (und wenn ja, möchten Sie vielleicht auch fragen, wie hoch der Preis für a / 29 ist. Dies ist ein Block von 8, von denen 5 normalerweise vom Kunden verwendet werden können). Dies bedeutet nicht, dass Ihre Route für dynamisches DNS nicht funktionieren kann, aber ich habe nur eine andere Option zur Überlegung.
Mit dem Dienst für ddns kann ich mich mit meinem Heimnetzwerk verbinden. Wenn ich versuche, Port 80 anzuschließen, bekomme ich nur den Anmeldebildschirm für meinen Router. Keine Probleme.
Sie haben nicht gesagt, welche IP-Adresse Sie beim Anschluss an Port 80 verwenden. Da Sie dies jedoch direkt nach der Verwendung von DDNS gesagt haben, klingt das so, als würden Sie Ihre öffentliche IP-Adresse verwenden. Wenn dies tatsächlich der Fall ist, ist der letzte Absatz von Daniel B eine recht gültige Warnung. Consumer-Router sind dafür bekannt, dass sie nicht genügend Sicherheit für ihre Webschnittstellen bieten. Wählen Sie daher die Option aus, die angibt, dass Ihre Webschnittstelle nur über die LAN-Verbindung zugänglich sein sollte. (Vertrauen Sie weder auf Verbindungen aus dem Internet noch auf Wi-Fi.)