Kann keinen Port weiterleiten

995
PapaAtHome

Ich verbringe einen Tag damit, wie ich einen Port von meinem Router an meinen PC weiterleiten kann, ohne Erfolg zu haben. Und jetzt habe ich keine Leads mehr ... und bin frustriert. Ich habe viele Seiten mit Beschreibungen und möglichen Lösungen gesehen, aber irgendwie sehe ich nicht die richtige Antwort. Also, wenn es sich um eine sich wiederholende Frage handelt, so sehe ich das nicht.

Das versuche ich zu tun: Ich möchte zu Hause auf meinen PC zugreifen, wenn ich bei der Arbeit bin. Dafür benutze ich einen ddns-Dienst.

Einige Szenarien, die funktionieren, und andere, die nicht funktionieren: Dies ist meine Standardkonfiguration.

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 werden Windows 10 und auf dem Laptop Windows 7 ausgeführt. Ich kann eine SSH-Verbindung vom Desktop zum Laptop herstellen und umgekehrt für mich ist der Port 22 auf beiden Computern geöffnet. Recht?

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) 

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. Ich habe es sogar mit einem zweiten Router für Port 8080 und dem ursprünglichen Server, der den Port 8080 an diesen zweiten Server weiterleitete, ausprobiert. Kein Problem.

So sieht das 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 war erfolgreich bei der Verbindung zur Konfiguration für LinkSys (an Port 8080) über den Ddns-Provider. Keine Probleme da. Recht?

Wie bereits erwähnt, kann ich eine Verbindung zwischen dem 192.168.1.105 SSH-Client des 192.168.1.107 SSH-Servers und dem 192.168.1.107 SSH-Client des 192.168.1.105 SSH-Servers herstellen.

Ich kann aber keine Verbindung per DDNS zu einem SSH-Server herstellen.

Jetzt kann ich die Konfigurationsseite (Port 80) für ZyXEL und LinkSys E3000 (Weiterleitung von Port 8080) sehen. 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 

Nichts seltsam hier. Und SSH-Kommunikation zwischen PC und Laptop möglich, da ist nichts Ungewöhnliches. Wo muss ich nach Kommunikation von DDNS zu PC suchen? Was vergesse ich?

Anregungen sind herzlich willkommen!

Edit: 5. September 2016.

Problem gelöst! Mit Hilfe der unten stehenden Antworten konnte ich einige Konfigurationsprobleme ausbügeln und vor einigen Minuten konnte ich einen RDC von meinem Android auf meinen PC übertragen. Nett!

0
Vollständige Anweisungen unter [Portweiterleitung des ZyXEL VMG8324-B10A-Routers für SSH] (http://portforward.com/english/routers/port_forwarding/ZyXEL/VMG8324-B10A/SSH.htm) DavidPostill vor 7 Jahren 0
Von wo aus hast du versucht, eine Verbindung herzustellen? In Ihrem lokalen Netzwerk? Daniel B vor 7 Jahren 1
@ Daniel B: Ich habe versucht, eine Verbindung von innen herzustellen (Laptop -> DDNS-Anbieter -> PC). PapaAtHome vor 7 Jahren 0
Gerade bei der Arbeit herausgefunden, dass ich mein Heimnetzwerk nicht per Ping erreichen kann. Ich fand auch heraus, dass Traceroute von http://ping.eu/traceroute/ zu meiner IP-Adresse zu Hause nicht funktioniert. Und ich verwende die WAN-IP-Adresse, keine von innen, das wäre dumm. Vielleicht ist es Zeit, meinem ISP einige Fragen zu stellen. PapaAtHome vor 7 Jahren 0
Ich habe gerade Fernzugriff auf Port 80 von ZyXEL! Die Konfiguration zum Aktivieren des http-Zugriffs ist etwas versteckt (Menü 'Wartung' -> 'Remote MGMT'). Ich habe es eingeschaltet und den Zugang über mein Smartphone getestet. Ich habe das Anmeldeformular erhalten. Gut genug für den Beweis, dass der ddns-Dienst funktioniert. Also habe ich es wieder ausgeschaltet. :-) PapaAtHome vor 7 Jahren 0

2 Antworten auf die Frage

0
Daniel B

Sie haben geschrieben, dass Sie sich im Netzwerk befinden und Folgendes geschieht:

Mit dem Dienst für ddns kann ich mich mit meinem Heimnetzwerk verbinden. Wenn ich versuche, Port 80 anzuschließen, erhalte ich nur den Anmeldebildschirm für meinen Router

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

Ping wird auf den meisten Routern der Consumer-Klasse standardmäßig gefiltert. Das ist natürlich Sicherheit durch Unklarheit. Außerdem ist es unnötig schwierig, Probleme zu diagnostizieren, sodass Sie diese Option einfach deaktivieren können.

Außerdem:
Die interne Software Ihres Routers verhält sich auch nicht richtig. Die Weboberfläche wird geöffnet, wenn Sie zu Ihrer externen IP-Adresse navigieren. Das ist sehr gefährlich! Ohne Ihre interne Netzwerkstruktur zu kennen, kann ein Angreifer mithilfe von standortübergreifendem Skripting oder dergleichen die Kontrolle über Ihren Router erlangen.

Ich weiß nicht, ob der Port 80 auf der WAN-Seite des ZyXEL verfügbar ist. Ich finde die Dokumentation in diesem Punkt etwas unklar. Ich werde es auf jeden Fall schließen, wenn ich kann. Ich habe Port 80 und 8080 zu Testzwecken verwendet. Ich weiß, dass es innen verfügbar ist und auf dem Linksys E3000 die Konfiguration dafür wesentlich einfacher ist. Vielen Dank für den Vorschlag, mein Handy zu benutzen, darüber habe ich vorher nicht nachgedacht! Tests von außen zeigten mir heute, dass es * nicht * funktioniert, nicht an Port 80 und auch nicht an Port 22. Ich werde auf die Antwort warten und von meinem ISP beraten, bevor ich fortfahre. PapaAtHome vor 7 Jahren 0
Es ist wahrscheinlich auf der WAN-Seite nicht verfügbar. Dies wird jedoch durch die Verwendung von Firewall-Regeln erreicht. Regeln, die nicht zutreffen, weil Ihr Paket nicht aus dem Internet kommt. Das bedeutet, dass Sie den Exploit selbst ausführen müssen. Das ist so einfach wie das Besuchen einer Website. // Haben Sie die SSH-Portweiterleitung auf beiden Routern eingerichtet? Sie sollten auch erwägen, Double NAT loszuwerden, es ist kein gutes Setup. Daniel B vor 7 Jahren 0
Der Vorschlag, mein Telefon zu benutzen, machte den Unterschied. Alle anderen Texte (in beiden Antworten) sind sehr hilfreich und informativ. In der Lage zu sein, effizient und auf die richtige Art und Weise zu testen, war für mich der Weg zum Erfolg. PapaAtHome vor 7 Jahren 0
0
TOOGAM

"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.)

Danke für die ausführliche Antwort! Und ja, ich habe die IP-Nummer auf der WAN-Seite (203.0.113.256) absichtlich nicht erwähnt ;-) Der ZyXEL verwendet Port 2222 für SSH oder zumindest hat er mir mitgeteilt, dass er Port 2222 verwendet, als ich Port 22 weitergeleitet habe. Was ich nicht weiß ist, ob diese Portnummer auch auf der WAN-Seite verfügbar ist. Die Antwort von Daniel B. ist relevant, aber ich kann nicht übersehen, warum. Heute habe ich die Verbindung von einem externen Standort aus getestet und konnte keinen Kontakt herstellen. Ich habe mit meinem IPS nachgefragt. PapaAtHome vor 7 Jahren 0
Ja, natürlich ist Ihre IP-Adresse 203.0.113.256. Vor allem seit dem letzten Oktett bei 255. Ich denke, Sie wollten den letzten Kommentar nicht mit "Intrusion Prevention System" beenden, sondern "Internet Service Provider". Sie könnten von Netzwerk-Sniffing / Snooping profitieren. Überprüfen Sie Ihren Router auf solche Unterstützung. Ansonsten kann "netstat -na" zeigen, welche Verbindungen hergestellt wurden. Um zu überprüfen, ob eine SSH-Verbindung verfügbar ist, versuchen Sie, eine Verbindung herzustellen. Wenn Sie weitere Informationen wünschen, geben Sie uns mehr Fragezeichen. TOOGAM vor 7 Jahren 0
Danke für den Kommentar, Sie haben mir schon sehr geholfen. Jetzt weiß ich, dass ddns funktioniert (siehe Anmerkung bei meiner ursprünglichen Nachricht). Ich werde eine SSH-Verbindung von außen versuchen. Ich werde Sie über meine Fortschritte auf dem Laufenden halten. Ich werde Ihre Bemerkung zum Netzwerk-Sniffing / Snooping verfolgen. "Netstat -na" zeigt mir jedoch nur die Verbindungen auf dem PC, auf dem er läuft. Ich werde dazu die ZyXEL-Dokumentation nachschlagen müssen. ISP, ja, Internet Service Provider. PapaAtHome vor 7 Jahren 0