Die Foren-SW läuft ohne erkennbare Probleme. Sollte doch etwas nicht funktionieren, bitte gerne hier jederzeit melden und wir kümmern uns zeitnah darum. Danke!

VM als VPN Proxy / Tunnel

Hilfe bei Problemen mit der Installation und Benutzung des VMware Player und VMware Workstation Player.

Moderatoren: irix, Dayworker

Member
Beiträge: 6
Registriert: 01.09.2015, 11:49

VM als VPN Proxy / Tunnel

Beitragvon Sushimaster » 01.09.2015, 12:21

Moin,

folgende Problem habe ich:
Ich möchte/muss *einige* Webseiten per VPN ansteuern (liegen im Intranet), und suche ein passable Lösung, um das möglichst einfach zu machen.

Das Problem jetzt ist folgendes:
Ich verbinde mich mit dem VPN, und kann die Intranet Seiten auch aufrufen. Sämtlicher anderer Traffic (z.B. offene Facebook Tabs) laufen dann aber eben auch über die VPN Verbindung, und das möchte ich vermeiden.

Meine Idee ist, eine (Linux) VM per Player zu starten, die sich ins VPN verbindet.
Per Browser Plugin lasse ich den Aufruf zu webseite.intranet (und nur die) über einen Proxy laufen, der wiederum in der VM läuft.

So wird die Anfrage ins Intranet über die VM geleitet/getunnelt, und der Rest (beim Host) über die eigene, private Leitung. Auch bei Anwendungen, die ins Intranet verbinden müssen, kann ich dann den Proxy angeben.
Als Proxy kann man dann auch einfach einen SSH Tunnel per Putty machen, anstatt eine Proxysoftware zu installieren.

Hab ich bis hier einen Denkfehler?


In der Praxis müsste es dann doch so aussehen, dass die VM 2 NICs hat:
Eine, die sich mit dem VPN verbindet (externe IP), und eine, die sich mit dem lokalen Netz verbindet (192.x.x.x) und als Proxy / SSH Tunnel IP herhält.


Sollte ich bis jetzt keinen Denkfehler haben:
Wie muss ich die NICs konfigurieren, damit das SO klappt?
Im Zweifelsfall habe ich auch 2 NICs am Recher - falls das nötig sein sollte...


Bin für jede Hilfe dankbar!


EDIT:
Vielleicht noch eine Randnotiz zum Verständnis:
Ich habe im Firefox ein Proxy Plugin laufen, dort gebe ich ein "Domain X per Proxy ansteuern, der Rest normal ohne Proxy". Dabei ist der Proxy nur der von Putty zur Verfügung gestellte SSH Tunnel.
Das funktioniert soweit auch, ich kann einen externen Server so als Tunnel/Proxy nutzen.
Jetzt möchte ich eben nur "zusätzlich", dass der SSH Tunnel seinersets einen VPN Tunnel aufbaut.

Ich glaube, das ist aus dem Text oben ncioht genau hervorgegangen.
Die VM soll also auf das VPN connecten, und lokal einen SSH Zugang bereitstellen!

Guru
Beiträge: 2731
Registriert: 23.02.2012, 12:26

Beitragvon ~thc » 01.09.2015, 13:48

Warum so kompliziert?

Im Kern möchtest du doch in das ferne Intranet über eine VPN-Verbindung reinschauen können und sonst in deinem Netz bleiben. Richtig verstanden?

Schau doch mal, ob der VPN-Client dir nicht erlaubt, das Default Gateway nach dem Verbindungsaufbau NICHT zu setzen.

Member
Beiträge: 6
Registriert: 01.09.2015, 11:49

Beitragvon Sushimaster » 01.09.2015, 14:36

~thc hat geschrieben:Im Kern möchtest du doch in das ferne Intranet über eine VPN-Verbindung reinschauen können und sonst in deinem Netz bleiben. Richtig verstanden?


So gut wie richtig.
Ich möchte eine von mir definierte Liste an Webseiten über das VPN ansurfen. Dazu gehören einige Webseiten, aber eben auch Datenbank Server etc.

~thc hat geschrieben:Schau doch mal, ob der VPN-Client dir nicht erlaubt, das Default Gateway nach dem Verbindungsaufbau NICHT zu setzen.


Hmm, aber wenn der default Gateway lokal bleibt (Router IP), wie soll dann der Browser wissen, dass er bei WebseiteX über das VPN gehen soll!?

Profi
Beiträge: 875
Registriert: 18.03.2005, 14:05
Wohnort: Ludwigshafen

Beitragvon Martin » 01.09.2015, 14:58

Im Linux wäre das ein
route add -host <Webseiten-Adresse> gw <Gateway des VPN>

Member
Beiträge: 6
Registriert: 01.09.2015, 11:49

Beitragvon Sushimaster » 01.09.2015, 15:00

Martin hat geschrieben:Im Linux wäre das ein
route add -host <Webseiten-Adresse> gw <Gateway des VPN>


Bin aber auf Windows unterwegs, da ist es dann doch etwas komplizierter so Routen anzulegen ;)

Oder gibt es ein gutes Tool dafür?

Guru
Beiträge: 2731
Registriert: 23.02.2012, 12:26

Beitragvon ~thc » 01.09.2015, 15:55

Sorry - ich vergesse immer, dass die normalen VPNs über Tunnel-IPs laufen. Falls dein Client es erlaubt, kann man zusätzliche Routen für das VPN spezifizieren - die der VPN-Server seinerseits dann auch über passende Routen berücksichtigen muss.

Member
Beiträge: 6
Registriert: 01.09.2015, 11:49

Beitragvon Sushimaster » 01.09.2015, 16:44

So, back to topic:

Ich hab jetzt eine VM am laufen, die genau das macht, was ich mir denke:
Sie startet, und verbindet sich mit dem VPN.
Ich kann jetzt per SSH Tunnel auf die VM connecten und die Seiten ansurfen.

Soweit, so gut.

Was ich gern machen würde wäre, das Ganze jetzt auf ein Raspberry Pi zu "portieren", da ich dann einen "portablen" VPN Proxy hätte.

Ist das eigentlich mit nur einem Ethernet Port realisierbar, oder funktioniert es momentan nur, weil die VM auf meinem Rechner (=VM Host) läuft?

Guru
Beiträge: 2731
Registriert: 23.02.2012, 12:26

Beitragvon ~thc » 01.09.2015, 17:58

So, dann mal anders herum: Im Zielnetz ("Intranet") ein OpenVPN-Server (kann auch eine VM sein) im Bridge-Modus. Auf deinem PC einen OpenVPN-Client im Bridge-Modus ohne deflault gateway.

Du kannst alles machen, als wärst du vor Ort (du bekommst eine vollwertige IP des Zielnetzes) und bist trotzdem bei allem außerhalb des Zielnetz-IP-Bereichs in deinem Heimnetz.

Ohne Addon, ohne Proxy, ohne Tunnel und ohne VMWare Player / RasPi.

Member
Beiträge: 6
Registriert: 01.09.2015, 11:49

Beitragvon Sushimaster » 01.09.2015, 19:35

Moin, ich weiss, das ist der Standardfall. Ich habe aber einen anderen, speziellen Anwendungsfall.

Ich möchte eine VM im Netz haben, die nichts anderes macht als einen SSH Zugang bereitstellen. Diese VM wiederum soll sich selber als OpenVPN Client ins Firmennetz hängen. Bei Bedarf mache ich mir dann einen SSH Tunnel auf diese VPN Client VM.

Ja, das hat ein paar (auch Sicherheits-) Nachteile derer ich mir bewusst bin, aber es geht hier um spezielle Anforderungen die ich nicht weiter ausführen möchte (ist auch irrelevant für mein Problem hier :)).

Die VM soll also als VPN Proxy dienen.

Mein Problem ist jetzt, dass ich auf der VM zwar den VPN Client starten kann, und über die lokale Konsole (via vSphere Client) auch quasi über die Firmen IP surfen kann, aber ich komme dann nicht mehr von "aussen" an die VM ran. Erst wenn der VPN Tunnel beendet ist, komme ich auch wieder an die VM ran :(

Wenn ich die VM bei mir lokal ausführe (VMWare Player/Worksation), funktioniert es aber, vermutlich wegen der lokalen (virtuellen) VMWare NICs!?

Wie kann ich also die VM so konfigurieren, dass sie einerseits den (internet / intranet-) Traffic ausschliesslich über das VPN leitet, aber trotzdem von aussen erreichbar bleibt (zumindest über SSH)?

Guru
Beiträge: 3081
Registriert: 27.12.2004, 22:17

Beitragvon rprengel » 01.09.2015, 20:01

Sushimaster hat geschrieben:
Wie kann ich also die VM so konfigurieren, dass sie einerseits den (internet / intranet-) Traffic ausschliesslich über das VPN leitet, aber trotzdem von aussen erreichbar bleibt (zumindest über SSH)?


Hallo,

kann es sein das du an der falschen Stelle suchst?
Wenn du in der VM dein Netzwerk "umbiegst" hat vmware da erst mal nichts mit zu tun.
Möglicherweise kommst du mit einen ausgefuchsten Routing weiter aber da bin ich defintiv kein Fachmann.
Du könnets schauen ob du über einen zweiten sicheren Kanal an den Vsphere-Client kommst um die VM dann sozusagen lokal zu bedienen.

Gruss

Guru
Beiträge: 2731
Registriert: 23.02.2012, 12:26

Beitragvon ~thc » 01.09.2015, 20:21

Du hast einen RasPi mit Windows und dem VMWare Player?
Darauf läuft eine (Linux ?) VM mit openssh-Server und openvpn-Client?
Ist die VM im Player im Bridge-Modus?
Ist das ein Bridged- oder Tunnel-VPN?
Stellt die VM die VPN-Verbindung her, ist sie nicht mehr per SSH erreichbar?

Member
Beiträge: 6
Registriert: 01.09.2015, 11:49

Beitragvon Sushimaster » 02.09.2015, 10:58

~thc hat geschrieben:Du hast einen RasPi mit Windows und dem VMWare Player?


Nein! Die VM kann entweder irgendwo gehostet im Netz sein (Szenario 1) oder "portabel" auf einem RasPi (Szenario 2). Das zweite Szenario ist momentan nur angedacht - ob es umgesetzt werden kann ist ja noch nicht klar.

~thc hat geschrieben:Darauf läuft eine (Linux ?) VM mit openssh-Server und openvpn-Client?


Debian 8.1 mit OpenVPN Client (Szenario 1)

~thc hat geschrieben:Ist die VM im Player im Bridge-Modus?


Ich habe 2 VMs:
Eine lokal installeirte über VMWare Workstation sowie eine im Netz über ESXi.

Die lokale Variante ist per NAT im Netz. Die ESXi Variante ist da nicht auskunftsfreudig, da steht nur VMXNET3.

~thc hat geschrieben:Ist das ein Bridged- oder Tunnel-VPN?


Keine Ahnung, es ist eine ganz normale OpenVPN Client/Server Geschichte.
Wo soll ich das denn sehen können? Hab nur die Client Configs...

~thc hat geschrieben:Stellt die VM die VPN-Verbindung her, ist sie nicht mehr per SSH erreichbar?


Richtig! Bei der ESXi gehosteten VM ist es so, dass nachdem die VPN Verbindung hergestellt ist, noch Routen hinzugefügt werden. Ab einem Punkt X ist die VM dann nicht mehr unter ihren eigenen IPs von aussen erreichbar. Dann gehts nur noch über die vSphere Konsole.

Bei der lokalen Variante kann ich die VM allerdings mit 192.168.186.128 ansprechen. Das ist vermutlich aber nur deswegen der Fall, weil es eben lokal gehostet ist, und die VMWare Workstation das so bereit stellt.

Hier zwei Bilder:
Bild 1: Routingtabelle vor dem VPN Connect
Bild 2: Routingtabelle NACH dem VPN Connect.

Bild

Vermutlich muss ich nur eine bestimmte Route hinzufügen, damit ich per SSH auf die Kiste (wieder) drauf komme, oder?

Die xx.xx.78.0 ist das Netz der ESX VM (xxx.xxx.78.88), die .78.1 ist das Gateway.
Die xxx.xxx.28.125 ist die entferne Firmen IP.

Guru
Beiträge: 2731
Registriert: 23.02.2012, 12:26

Beitragvon ~thc » 02.09.2015, 11:17

Hmmm - ich hatte schon den Verdacht, dass du eine ESXi-VM mit im Spiel hast, aber da dein Thread hier im Player-Unterforum steht...

In der Konfigurationsdatei des OpenVPN-Clients findest du entweder den Parameter

Code: Alles auswählen

dev tap

für ein Bridged VPN oder

Code: Alles auswählen

dev tun

für ein Tunneled VPN.

Da aber deine Routing-Tabellen private 10.x Adressen enthalten, ist es ein Tunnel.
Die Tabellen sind ein Ordnung und wenn dein SSH-Client-Host im selben Subnetz (xx.xx.78.0) ist wie deine VM, dann müssen auch keine Routen hinzugefügt werden - sie werden durch das VPN nicht gekappt.

Ich habe jetzt selbst nur Bridge-Mode-OpenVPN-Server als VMs, aber bei diesen musste man auf der Portgruppe des vSwitches den "Promiscous Mode" erlauben, damit sie funktionieren. Probier das doch mal.


Zurück zu „VMware Player und VMware Workstation Player“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste