[Gelöst] OpenVPN durch SSH tunneln - keine Verbindung

Hallo zusammen,

und erst mal vielen Dank für Eure Erläuterungen. Ich versuche mal ein wenig Licht in das eigenartige Routing-Szenario zu bringen ...
Die spezielle Rolle des localhosts auf meinem Rechner rührt daher, daß im "normalen" Kontext ein Proxy auf 127.0.0.1 läuft, den ich zum normalen Internetbrowsen benutze. Der Grund hierfür ist eine etwas instabile Verbindung zum eigentlich vorgesehenen Proxy, welche der lokale laufende Proxy bei Bedarf erneuert. Hierzu muß ich natürlich eine zusätzliche Route vom lokalen Gateway *.*.*.1 zu eben dem eigentlich vorgesehenen Proxy setzen. Das klappt im Falle von "normalem" VPN direkt zur Fritzbox als Server auch fehlerlos.
Wenn ich Eure Erklärungen richtig verstanden habe, ist das Problem, daß außer dem VPN-Verkehr auch der SSH-Verkehr durch das dann gesetzte Standard-Gateway auf der Box geroutet werden soll .. und sich dann beim SSH-Tunnel die Katze in den Schwanz beißt.
Daher glaube ich, als Lösung Folgendes verstanden zu haben:

Das Problem ist das Gateway der Box bzw. das Vorhaben, den gesamten Traffic durch dieses zu routen. Entweder ich lösche das "redirect-gateway" beim OpenVPN-Server (und such nach einer Lösung, nur bstimmten Traffic wie Port 80 etc. durch das Gateway zu routen), oder ich versuche, Port 22 vom "redirect-gateway" auszunehmen ... habe ich da richtig gedacht ?
Beste Grüße,

JD.

Edit: Wo genau liegt der Unterschied zwischen
Code:
push "redirect-gateway def1"
und
Code:
push "redirect-gateway"
 
Zuletzt bearbeitet:
Entweder ich lösche das "redirect-gateway" beim OpenVPN-Server
Du kannst auch auf dem Client die Option "route-nopull" zusätzlich setzen, dann können Clients, die nicht über einen SSH-Tunnel beim OpenVPN-Server ankommen, weiterhin mit den gesendeten Informationen konfiguriert werden.

Wenn es nur um einen "weitergeleiteten Proxy" geht, warum dann die zusätzliche OpenVPN-Verschlüsselung ... ist Dir SSH da alleine nicht sicher genug ? Der Durchsatz durch die doppelte Verschlüsselung - möglichst noch auf beiden Kanälen mit LZO-Kompression - ist bestimmt nicht berauschend mangels Hardware-Unterstützung für das von Dir beim OpenVPN verwendete AES.

EDIT: redirect-gateway def1 erstellt eine Route mit einer /1-Maske. Das führt dann dazu, daß diese anstelle von 0.0.0.0/0 verwendet wird, weil sie "spezifischer" ist. Die schon bestehende Default-Route wird dabei dann auch nicht gelöscht, so daß beim Löschen der neuen /1-Route beim Abbau der Verbindung der vorherige Zustand direkt wiederhergestellt ist, auch ohne die Standardroute wieder explizit setzen zu müssen.
 
Zuletzt bearbeitet:
Neinnein,

es geht mir nicht um einen weitergeleiteten Proxy. Ich versuche nochmal, die beiden Szenarien zu beschreiben.

1. Ich baue direkt ein VPN von meinem Client zur Box auf. Das klappt problemlos, allerdings muß der Traffic zur Box über zwei Proxies (einen auf localhost, einen in einem anderen Subnetz) geleitet werden. Hierzu addiere ich eine Route vom Gateway meines Subnetzes zu eben dem Proxy im anderen Subnetz und weise OpenVPN an, als "Einstiegs-Proxy" (http-proxy) den auf localhost zu verwenden. Das klappt alles, auch das pullen des redirect-gateways von der Box.

2. Ich baue das VPN durch einen SH-Tunnel auf. Hierzu benutze ich keinen Proxy (auch nicht den auf localhost). Da ich weder auf der Box noch lokal im Subnetz eine Möglichkeit zum NATten habe, bleibt mir wohl nur erst mal das redirect-gateway zu unterlassen und stattdessen einen Client im jenseitigen Netz (der Box) via RDP zum Surfen zu benutzen ...

Trotzdem Danke für Deine / Eure Bemühungen, mein Konstrukt zu verstehen und den Fehler zu finden ...
Grüße,

JD.
 
Das Problem ist das Gateway der Box bzw. das Vorhaben, den gesamten Traffic durch dieses zu routen. Entweder ich lösche das "redirect-gateway" beim OpenVPN-Server (und such nach einer Lösung, nur bstimmten Traffic wie Port 80 etc. durch das Gateway zu routen), oder ich versuche, Port 22 vom "redirect-gateway" auszunehmen ... habe ich da richtig gedacht ?

Es ist normalerweise nicht vorgesehen, Routen anhand von Ports zu setzen.
Soll auf dem Client oder auf dem Host das Default Gateway auf die VPN Verbindung gesetzt werden?
Wenn es nur der Client ist, dann ist die einfachste Lösung, vor Aufbau der VPN Verbindung eine Route auf den Host zu setzen, wobei Host in diesem Fall der Server der ersten SSH Verbindung ist, also der host1 aus den Beispielen oben.
Wenn auf dem Server auch das Default Gateway gesetzt werden soll, muss man erst herausfinden, von wo aus die SSH Verbindung kommt und für diese Adresse einen Eintrag in die Routing-Tabelle aufnehmen.
 
Soll auf dem Client oder auf dem Host das Default Gateway auf die VPN Verbindung gesetzt werden?

Ich möchte den (gesamten) Traffic des Clients durch das VPN routen.

Wenn es nur der Client ist, dann ist die einfachste Lösung, vor Aufbau der VPN Verbindung eine Route auf den Host zu setzen, wobei Host in diesem Fall der Server der ersten SSH Verbindung ist, also der host1 aus den Beispielen oben.

Aber wodurch wird denn bspw. durch ein
Code:
route add host1 GWdesSubnetzes

die von MaxMuster weiter oben geforderte Trennung des SSH-Verkehrs vom VPN realisiert ? Ich würde ja etwas der Art benötigen

Traffic via TCP 22 <-> kein VPN
Rest <-> VPN

, um mir nicht wieder den Tunnel abzuschneiden .. ?

EDIT: Der Vorschlag mit der Route zum ersten Host klappt, die Verbindung steht und es fließen Pakete, Danke !
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.