Ich verwende Fedora 19 und habe ein Problem mit ssh
.
Ssh ist in Betrieb und ich kann mich verbinden, wenn ich meine Lan-IP eingebe. Aber wenn ich versuche, meinen Servernamen (blahblah.no-ip.org
) Ich bekomme eine Verbindung abgelehnt. No-ip läuft bereits als Dienst und funktioniert ordnungsgemäß (sendet die richtige IP).
Ich habe auf meinem Router bereits eine Portweiterleitung eingerichtet, außerdem habe ich den Port von ssh
geändert sowohl beim Dienst als auch bei der Router-Portweiterleitung (falls mein geliebter ISP beschlossen hat, diese Ports zu blockieren). Aber ich bekomme immer noch eine Verbindung abgelehnt und wenn ich nmap
Beim Hostnamen sehe ich, dass der SSH-Port geschlossen ist.
Eines jedoch:Ich habe zwei PCs unter derselben externen IP (ich habe die Portweiterleitung auf die richtige interne IP eingerichtet). Wenn ich nmap blahblah.no-ip.org
Ich bekomme einen Port 23 und 80 offen. 80 scheint in Ordnung zu sein, aber ich habe den Telnet-Dienst auf meinem Computer noch nie gestartet.
Irgendwelche Ideen, was man noch versuchen könnte? Router ist zte zxv10 und die Portweiterleitung ist korrekt eingerichtet. Ich sage das, weil ich die Portweiterleitung bereits für Deluge eingerichtet habe und sie ordnungsgemäß funktioniert.
Akzeptierte Antwort:
Es ist nicht möglich, innerhalb desselben LANs eine Verbindung zu einer öffentlichen IP-Adresse mit Portweiterleitung herzustellen. Um das zu erklären, brauche ich ein Beispiel.
Nehmen wir an, die private IP Ihres Routers ist 192.168.1.1 mit der öffentlichen IP 10.1.1.1. Ihr Server befindet sich auf 192.168.1.2 Port 2222. Sie richten eine Portweiterleitung von 10.1.1.1:1111 auf 192.168.1.2:2222 ein.
Wenn jemand im Internet (10.3.3.3) mit Ihnen sprechen möchte, generiert er ein Paket:
Source: 10.3.3.3 port 33333
Dest: 10.1.1.1 port 1111
Ihr Router empfängt das Paket auf 10.1.1.1 und schreibt es um:
Source: 10.3.3.3 port 33333
Dest: 192.168.1.2 port 2222
Ihr Server empfängt dieses Paket und sendet eine Antwort:
Source: 192.168.1.2 port 2222
Dest: 10.3.3.3 port 33333
Ihr Router empfängt dieses Paket auf 192.168.1.1 und schreibt es um:
Source: 10.1.1.1 port 1111
Dest: 10.3.3.3 port 33333
Und die Verbindung funktioniert, und alle sind glücklich.
Angenommen, Sie verbinden sich von innerhalb Ihres LANs (192.168.1.3). Sie generieren ein Paket:
Source: 192.168.1.3 port 33333
Dest: 10.1.1.1 port 1111
Ihr Router empfängt das Paket auf 10.1.1.1 und schreibt es um:
Source: 192.168.1.3 port 33333
Dest: 192.168.1.2 port 2222
Ihr Server empfängt dieses Paket und sendet eine Antwort:
Source: 192.168.1.2 port 2222
Dest: 192.168.1.3 port 33333
Hier stoßen wir auf ein Problem. Da sich die Ziel-IP in Ihrem LAN befindet, sendet Ihr Server dieses Paket nicht zum Umschreiben an den Router. Stattdessen sendet es es direkt an 192.168.1.3. Aber diese Maschine erwartet keine Antwort von 192.168.1.2 Port 2222. Sie erwartet eine von 10.1.1.1 Port 1111. Und so weigert sie sich, auf dieses „falsche“ Paket zu hören, und die Dinge funktionieren nicht.
Verwandte:SSH 7.4 verlängerte Pause bei „pledge:network“?Um dies zu umgehen, konfiguriere ich meinen Router (der auch DNS für mein LAN bereitstellt) so, dass er die private IP-Adresse meines Servers zurückgibt, wenn ich meinen DDNS-Hostnamen nachschlage. Auf diese Weise verbinde ich mich in meinem Heimnetzwerk direkt mit dem Server und überspringe die Portweiterleitung. (Diese Lösung funktioniert nur, wenn Ihre Portweiterleitungen nicht die Portnummer, sondern nur die IP-Adresse ändern. Und Sie können nur 1 Server pro öffentlichem Hostnamen haben.)