RalfonLinux2
Newbie
Hi,
ich habe hier folgendes Problem:
Mein Nachbar vom Campingplatz hat zuhause einen Linuxrechner (noch openSuSE 10.3) stehen.
Der zickt jetzt ein bisschen rum, und ich gebe ich einige Tipps.
Was er nicht selber machen kann, erledige ich am Wochenende auf dem Campingplatz, da zwischen seinem Wohnort und mir knapp 80km liegen.
Nun möchte ich am WE lieber grillen, als seinen Rechner fixen und habe mir überlegt, dies per VNC zu bewerkstelligen.
Die passende Konfig in seine xorg.conf eingetragen, und per ./fernwartung.sh wird der Port auf der lokalen Firewall freigeschaltet und die IP angezeigt, welche er mir dann telefonisch mitteilt.
Ich starte dann meinen vncviewer, und kann seine bestehende Session übernehmen.
Dies klappt:
Nach reichlich googlen kommen nun folgende Lösungen in Betracht:
Nun habe ich leider keine Software gefunden, um einen VNCRelay aufzubauen.
Theoretisch müßte es ja so funktionieren:
Er startet vncserver -connect RelayServer:16666 und ich mache ebenfalls vncserver -connect RelayServer:16667
(Ein vncviewer -listen nützt nichts, da er nur auf der lokalen Maschine lauschen würde)
Die Software müßte jetzt die ankommenden vncserver-Pakete auf 16667 umwandeln in vncviewer-Pakete und auf 16666 raus schicken.
Die Pakete von 16666 gehen umgewandelt an 16667.
Somit würden sich dann aber 2 vncserver unterhalten.
Wenn ich bei mir vncviewer -listen starte, kann ich kein Ziel angeben, er lauscht nur auf dem entsprechenden lokalen Port
Einfach wäre es ja, vncviewer -listen RelayServer:16666
Somit würde die Umwandlung von vncserver<->vncviewer wegfallen.
Er baut eine reverse-viewer-Verbindung zum RelayServer auf, und dort wird einfach über iptables eine InPort<->OutPort-Umleitung auf den reverse-server gebaut.
Leider kann ich bei -listen aber kein Ziel angeben
Bin ich jetzt völlig auf dem Holzweg, oder benutzt ich nur das falsche Produkt ? Bin für alles offen, was kostenlos ist und unter/über Linux läuft.
Kann ich mit ssh (Tunnel) was reißen ? (Wäre sogar besser, da verschlüsselt und tunnelbar)
Viele Grüße
Ralf
Achja, der RelayServer ist ein Linuxsystem OHNE grafische Oberfläche, sonst hätte ich mir ja per
eine Lösung basteln können.
/*Edit:
So allmählich raucht mir der Kopf, aber es wäre nett, wenn mal jemand folgenden Gedankengang nachvollziehen könnte:
Auf dem RelayServer läuft ein sshd, auf dem entfernten Rechner starte ich durch ./fernwartung.sh einen ssh-Server und lasse folgenden Befehle ausführen:
Somit würde doch über ssh alle serverpakete beim RelayServer auf 16666 anliegen.
Auf meinem Rechner starte ich eine ssh-Session gegen den sshd des RelayServers
Ist das soweit richtig ?
edit*/
ich habe hier folgendes Problem:
Mein Nachbar vom Campingplatz hat zuhause einen Linuxrechner (noch openSuSE 10.3) stehen.
Der zickt jetzt ein bisschen rum, und ich gebe ich einige Tipps.
Was er nicht selber machen kann, erledige ich am Wochenende auf dem Campingplatz, da zwischen seinem Wohnort und mir knapp 80km liegen.
Nun möchte ich am WE lieber grillen, als seinen Rechner fixen und habe mir überlegt, dies per VNC zu bewerkstelligen.
Die passende Konfig in seine xorg.conf eingetragen, und per ./fernwartung.sh wird der Port auf der lokalen Firewall freigeschaltet und die IP angezeigt, welche er mir dann telefonisch mitteilt.
Ich starte dann meinen vncviewer, und kann seine bestehende Session übernehmen.
Dies klappt:
- in einem gemeinsamen Netzwerk auf dem Campingplatz
- via Internet, sofern sein Rechner PPPoE macht.
- Er hat sich erweitert, und möchte nun mit zwei Rechnern ins Netz, also macht sein DSL-Router jetzt PPPoE, und er selber nur noch DHCP
- Ich gehe per UMTS ( = NAT vom Anbieter) ins Internet.
Nach reichlich googlen kommen nun folgende Lösungen in Betracht:
- 1. Seinen Router umkonfigurieren (PortForwarding) fällt leider flach.
- 2. Er startet seinen vncserver mit -connect meineip, und ich sage vncviewer -listen (könnte klappen, wenn ich DSL hätte (PFW))
- 3. Wir spielen über Bande = einen VNC Relay-Server im Internet (Prinzip TeamViewer etc)
Nun habe ich leider keine Software gefunden, um einen VNCRelay aufzubauen.
Theoretisch müßte es ja so funktionieren:
Er startet vncserver -connect RelayServer:16666 und ich mache ebenfalls vncserver -connect RelayServer:16667
(Ein vncviewer -listen nützt nichts, da er nur auf der lokalen Maschine lauschen würde)
Die Software müßte jetzt die ankommenden vncserver-Pakete auf 16667 umwandeln in vncviewer-Pakete und auf 16666 raus schicken.
Die Pakete von 16666 gehen umgewandelt an 16667.
Somit würden sich dann aber 2 vncserver unterhalten.
Wenn ich bei mir vncviewer -listen starte, kann ich kein Ziel angeben, er lauscht nur auf dem entsprechenden lokalen Port
Einfach wäre es ja, vncviewer -listen RelayServer:16666
Somit würde die Umwandlung von vncserver<->vncviewer wegfallen.
Er baut eine reverse-viewer-Verbindung zum RelayServer auf, und dort wird einfach über iptables eine InPort<->OutPort-Umleitung auf den reverse-server gebaut.
Leider kann ich bei -listen aber kein Ziel angeben
Bin ich jetzt völlig auf dem Holzweg, oder benutzt ich nur das falsche Produkt ? Bin für alles offen, was kostenlos ist und unter/über Linux läuft.
Kann ich mit ssh (Tunnel) was reißen ? (Wäre sogar besser, da verschlüsselt und tunnelbar)
Viele Grüße
Ralf
Achja, der RelayServer ist ein Linuxsystem OHNE grafische Oberfläche, sonst hätte ich mir ja per
Code:
ssh -C -X RelayServer vncviewer -listen 16666
/*Edit:
So allmählich raucht mir der Kopf, aber es wäre nett, wenn mal jemand folgenden Gedankengang nachvollziehen könnte:
Auf dem RelayServer läuft ein sshd, auf dem entfernten Rechner starte ich durch ./fernwartung.sh einen ssh-Server und lasse folgenden Befehle ausführen:
Code:
ssh -L 5900:RelayServer:16666 ' erzeugt einen ssh-Tunnel über den LOKALEN sshd auf RelayServer:16666
vncserver -connect localhost:5900 ' erzeugt einen vncserver-Datenstrom auf dem RelayServer.16666
Auf meinem Rechner starte ich eine ssh-Session gegen den sshd des RelayServers
Code:
ssh -R 16666:localhost:5900 ich@RelayServer ' sollte doch alle Pakete RelayServer:16666 auf 5900 bei mir umleiten
vncviewer -listen ' lauscht bei mir auf Port 5900
edit*/