remote port von SSH Reverse Tunnel freigeben

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
km65
Beiträge: 16
Registriert: 04.03.2010 16:46:33

remote port von SSH Reverse Tunnel freigeben

Beitrag von km65 » 11.06.2013 13:14:19

Hallo liebe Community,

ich habe ein kleines Problem! Genau gesagt eigentlich zwei.
Hier eine Zeichnung von meinem Aufbau...
Bild

Der Raspberry baut eine umts Verbindung über einen Stick her und erstellt dann mit autossh einen reverse Tunnel zum Debian VPS.
Soweit so gut...

das Problem ist nun, dass bei einem Verbindungsabbruch der entsprechende remote Port wie z.B 2223 auf dem Debian VPS noch belegt ist, wenn der Raspberry sich nach dem Abbruch erneut verbinden möchte.

Mein Befehl für den Tunnel lautet:

Code: Alles auswählen

autossh -f -M 0 -q -N -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -R 2223:localhost:22 raspberry@IP.IP.IP.IP -p 443
Gibt es eine Möglichkeit diesen remote port auf dem VPS wieder "freizugeben", sobald keine ssh Verbindung mehr besteht?

So... nächstes Problem:

Ich möchte nun von einem Windows Rechner via putty eine verbindung zum VPS und von dort zum Raspberry herstellen. Wobei die letztere Verbindung einen SOCKS bereitstellt.
Auf diese Weise möchte ich nun z.B. über den IE auf die IP des Arduinos hinter dem Switch zugreifen können, an dem auch der Raspberry steckt.
Wie bekomme ich das hin? Muss ich dazu etwas routen o.ä. ?

Vielen lieben dank schonmal!!!

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: remote port von SSH Reverse Tunnel freigeben

Beitrag von Cae » 11.06.2013 13:53:17

km65 hat geschrieben:das Problem ist nun, dass bei einem Verbindungsabbruch der entsprechende remote Port wie z.B 2223 auf dem Debian VPS noch belegt ist, wenn der Raspberry sich nach dem Abbruch erneut verbinden möchte.
Ich wuerde einfach eine gewisse Zeit warten. Server und Client pruefen zwar in denselben Intervallen, ob die Verbindung noch lebt, aber vermutlich ein bisschen zeitversetzt. So ein sleep 5 kann da schon Wunder wirken, gerade wenn's wichtiger ist, dass die Kiste ueberhaupt wieder online kommt, als dass sie komplette ausfallfrei bleibt. Sowas wie

Code: Alles auswählen

while :; do
	autossh ...;
	sleep 5;
done
meine ich.
km65 hat geschrieben:Ich möchte nun von einem Windows Rechner via putty eine verbindung zum VPS und von dort zum Raspberry herstellen. Wobei die letztere Verbindung einen SOCKS bereitstellt.
Auf diese Weise möchte ich nun z.B. über den IE auf die IP des Arduinos hinter dem Switch zugreifen können, an dem auch der Raspberry steckt.
Wie bekomme ich das hin? Muss ich dazu etwas routen o.ä. ?
Du traegst einfach in deinem lokalen Browser den SOCKs-Proxy ein, den die SSH-Sitzung auf den Raspberry Pi (von lokal) anbietet. Das ist entscheidend, du verbindest dich nicht auf den VPS, sondern auf den Pi. Der Aufruf fuer ssh waere

Code: Alles auswählen

$ ssh -p 2223 -D localhost:12345 pi@{VPS-IP}
(keine Ahnung, ob man das auch mit Putty konfiguriert bekommt. Im Zweifel hilft cygwin (oder ein vernuenftiges Betriebssystem... :twisted: )) Und ja, es ist richtig, dass ich pi@{VPS-IP} schreibe, weil die Verbindung ja ueber den VPS auf {VPS-IP} geht, aber auf dem Konto pi auf dem Raspberry Pi rausfaellt. Dann kannst du mit den IPs im entfernten Netz arbeiten, der SOCKs-Proxy laesst die Verbindung am Pi rausfallen und dieses kennt ja das Netz, weil's direkt dran haengt. Das ist also "automatisches" Routing, da braucht man nix extra zu machen.

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

uname
Beiträge: 12075
Registriert: 03.06.2008 09:33:02

Re: remote port von SSH Reverse Tunnel freigeben

Beitrag von uname » 11.06.2013 14:12:33

(keine Ahnung, ob man das auch mit Putty konfiguriert bekommt.
Möchte man bei Putty etwas automatisieren bietet sich "plink.exe" an, welches auch zu Putty gehört. Sehr praktisch für SSH-Tunnel. Ach ne, ich nutze ja gar kein Windows mehr.

km65
Beiträge: 16
Registriert: 04.03.2010 16:46:33

Re: remote port von SSH Reverse Tunnel freigeben

Beitrag von km65 » 11.06.2013 16:45:35

Danke für die schnellen Antworten!

Also das mit dem Tunnel funktioniert ja schon problemlos mit meiner "Putty Bastelei"und auf den Apache vom Pi komme ich so schon drauf.
Trotzdem lieben Dank...

Den autossh Befehl führe ich nun schon lediglich alle 10 Min über nen cronjob aus...

Die Frage ist halt eher, ob da noch etwas konfiguriert werden muss, da der Arduino und der Pi am Switch hängen...
Bzw. kommt debian damit klar, dass die Internetverbindung über den UMTS Stick läuft, jedoch trotzdem noch ein lokales Netz an eth0 hängt?


Danke ;)

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: remote port von SSH Reverse Tunnel freigeben

Beitrag von Cae » 11.06.2013 16:54:05

km65 hat geschrieben:Die Frage ist halt eher, ob da noch etwas konfiguriert werden muss, da der Arduino und der Pi am Switch hängen...
Bzw. kommt debian damit klar, dass die Internetverbindung über den UMTS Stick läuft, jedoch trotzdem noch ein lokales Netz an eth0 hängt?
Wie schon gesagt, wenn du 'n SOCKS-Proxy-Tunnel zum Pi aufmachst, verhaelt sich dein Browser weitgehend so, als waere er direkt auf dem Pi gestartet (mit Ausnahme von DNS). Der Arduino soll ja nicht in's Netz nach draussen, da brauchst du auch kein Routing/NAT.

autossh ist eigentlich dafuer gedacht, eben nicht in der Crontab zu stehen, sondern die Verbindung selbststaendig wieder aufzubauen.

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

km65
Beiträge: 16
Registriert: 04.03.2010 16:46:33

Re: remote port von SSH Reverse Tunnel freigeben

Beitrag von km65 » 11.06.2013 17:06:49

Cae hat geschrieben:
km65 hat geschrieben:
autossh ist eigentlich dafuer gedacht, eben nicht in der Crontab zu stehen, sondern die Verbindung selbststaendig wieder aufzubauen.
Das wäre schön... aber das klappt nicht so wirklich... bin leider kein debian pro... und habe schon einige howtos durchgelesen.
Aber so richtig klappt das alles nicht. Hauptproblem ist hier fast sogar die umts Verbindung, welche ständig unterbrochen wird...

Antworten