Page 1 of 1

SSH über Router

Posted: 10. Sep 2008 10:32
by PeterX
Hallo Forum,

ich möchte meinen heimischen Desktop auf auf einem anderen Rechner anzeigen.

Prinzipiell klappt das recht gut im lokalen Netz mit freenx. Nun soll aber über den eigenen Router ein Verbindungsaufbau von außen möglich sein. Eine Portweiterleitung müsste dafür reichen, oder?

Nun zu der Frage: Ist auf dem entfernten Router, den ich leider nicht konfigurieren kann, auch eine Portweiterleitung zum Client nötig?

Server ------ Router -------- Internet --------- Router ------- Client


Vielen Dank

Posted: 10. Sep 2008 13:08
by Janka
Denke scharf nach: Wozu braucht man das Portforwarding? Außen sitzt jeweils der Router und macht NAT. Rauskommen tut man immer, völlig normaler Betrieb, wird alles vollkommen transparent über Masquerading erledigt.

Nur wenn man einen Dienst nach außen anbieten soll, braucht man ein Forwarding. Der Router kann den FreeNX-Service nicht selbst anbieten, also lauscht da kein Server auf ihm. Deshalb muss man Anfragen an den FreeNX-Port also explizit per Portforwarding an einen Rechner im internen Netz weiterleiten.

Antwort also: Nein, das Portforwarding brauchst du nur auf Router vor dem Rechner, der den Service anbieten soll.

Janka

Posted: 10. Sep 2008 14:08
by PeterX
Hallo,

ja genau das war mein Verständnisproblem. :-)

Wenn am verbundenen Client keine Useraktivität herrscht und nur den Dektop angezeigt wird, dann sorgt der Client also periodisch selbst dafür dass die Verbindung zum Server offen bleibt und der Server z.B. ein Anzeigeupdate der Uhr schicken kann? Nach dem was Du schreibst ist es wohl so?

Vielen Dank

Posted: 10. Sep 2008 18:57
by Janka
PeterX wrote: Wenn am verbundenen Client keine Useraktivität herrscht und nur den Dektop angezeigt wird, dann sorgt der Client also periodisch selbst dafür dass die Verbindung zum Server offen bleibt und der Server z.B. ein Anzeigeupdate der Uhr schicken kann? Nach dem was Du schreibst ist es wohl so?
Nein. Das ist nicht das Problem. Das Problem ist, dass der Verbindungsaufbau von einer Seite initiiert werden muss, nämlich vom Clientprogramm. Dazu muss das Clientprogramm das Serverprogramm erreichen können. Und dazu muss das Serverprogramm schon *vor* dem Bestehen einer Verbindung einen offenen Socket (==Port) präsentieren, den das Clientprogramm zum "Klingeln" benutzen kann. Nach dem Verbindungsaufbau läuft hingegen beidseitig alle Kommunikation über eine zweite Verbindung per Masquerading. Der "Klingelport" wird dann wieder freigemacht, damit weitere Clients ihn benutzen können.

Portforwarding brauchst du also nur, um die Klingel von der Wohnungstür (Server-Außenseite) an die Haustür (Router-Außenseite) zu verlegen.

Janka