RDP->(OpenVPN)->VirtualBox-VM

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
shh
Beiträge: 140
Registriert: 16.06.2002 14:29:44

RDP->(OpenVPN)->VirtualBox-VM

Beitrag von shh » 09.09.2016 16:47:15

Hallo,
ich hoffe ihr könnt mir "schnell" mal helfen. Ich hab mich schon länger mit dem Thema nicht mehr beschäftigt und finde partout den Fehler nicht. :oops:
Problem:
Ich möchte hier von meinem Win10 Client eine RDP-Verbindung zu einem Win2003-Server aufnehmen, der extern/irgendwo virtuell (via VirtualBox) auf einem Debian-Server läuft.

Ich habe dafür eine OpenVPN-Verbindung zu dem Debian-Server aufgenommen, die klappt (=grün).
Ich bekomme hier meine lokale IP 10.9.8.2, der Debian-Server hat 10.9.8.1.
openvpn-config am client ist:

Code: Alles auswählen

remote theremotedebianserver.de
dev tun0
ifconfig 10.9.8.2 10.9.8.1
secret mystatic.key
openvpn-config am debian-server ist:

Code: Alles auswählen

dev tun0
ifconfig 10.9.8.1 10.9.8.2
secret /etc/openvpn/mystatic.key
Für die VM ist net-bridging eingeschaltet, d.h. vom Debian-Server kann man die VM(10.11.12.10) pingen, in den interfaces taucht dieses Netz aber nicht auf. Mir ist nicht ganz klar, wieso dieses transparente normalerweise 192.168.1.56.x-interface von VirtualBox nicht angezeigt wird. In der route taucht es auch nicht auf:

Code: Alles auswählen

Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.2.1     0.0.0.0         UG    0      0        0 eth1
10.9.8.2        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
10.11.12.0      0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
Da die VM ein Win2003-Server ist, hat sie intern bzw. in dem fremden LAN die IP 10.11.12.10, die von anderen Clients im LAN mit IP (10.11.12.x) via RDP erreicht werden können. D.h. der Debian-Rechner forwardet irgendwas, was ich nicht sehe.
Meine iptables:

Code: Alles auswählen

root@debian:~# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     all  --  10.9.8.0/24          anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
Soweit ich das verstehe, werden alle Pakete von meinem Client 10.9.8.2 akzeptiert und es besteht auch via route ein Weg nach 10.11.12.10.
Wieso kann ich (=der Win10-client hinter OpenVPN) die VM nicht via RDP erreichen?
- openvpn-config ungenügend? (Komisch: ich kann vom meinem Win10-client aus die Windows-VM (10.11.12.10) auch nicht pingen)
- fehlt irgendein masquerading? zB 10.9.8.? -> 10.11.12.10 ?

Vielen Dank für Tipps dazu, hab grad ein Brett vorm Kopf. :(

Grüße
shh

mludwig
Beiträge: 797
Registriert: 30.01.2005 19:35:04

Re: RDP->(OpenVPN)->VirtualBox-VM

Beitrag von mludwig » 09.09.2016 17:17:45

Dein OpenVPN scheint ja OK zu sein, das sieht eher wie ein Netzwerkproblem aus. Ich würde auf fehlendes IP-Forwarding auf dem Debian-Server tippen.

Code: Alles auswählen

cat /proc/sys/net/ipv4/ip_forward
sollte "1" ausgeben.

shh
Beiträge: 140
Registriert: 16.06.2002 14:29:44

Re: RDP->(OpenVPN)->VirtualBox-VM

Beitrag von shh » 09.09.2016 18:12:22

/proc/sys/net/ipv4/ip_forward ist bereits 1, danke.
Ich vermute, dass irgendwie keine route/masquerading von 10.9.8.1 zum VM-Netz 10.11.12.x besteht.
Komisch ist ja, warum die Debian-Maschine die VM pingen kann, mein "irgendwie integrierter" 10.9.8.2-client aber nicht.

mludwig
Beiträge: 797
Registriert: 30.01.2005 19:35:04

Re: RDP->(OpenVPN)->VirtualBox-VM

Beitrag von mludwig » 09.09.2016 18:16:11

Wie sieht es denn mit dem Routing aus? Was ist der Default-Gateway von deiner VM? Wenn es nicht der Debian-Server sein sollte, kennt dieser Gateway die Route zum OpenVPN-Netz?

shh
Beiträge: 140
Registriert: 16.06.2002 14:29:44

Re: RDP->(OpenVPN)->VirtualBox-VM

Beitrag von shh » 09.09.2016 18:58:24

> Was ist der Default-Gateway von deiner VM?

Whoo, keine Ahnung, da muss ich erstmal (hinfahren und) nachsehen. Soweit ich das in Erinnerung habe, weiß die VM aber *garnichts* vom Netzwerk rundum.
D.h. der default gateway ist wohl er selbst, nebst DNS-Server (ist ja ein servender Win2003server).
Aber, inwiefern sollte das denn eine Relevanz haben, wenn man das Netzwerk vom VM-Hypervisor ordentlich konfiguriert (was wohl hier das Problem ist).

> kennt dieser Gateway die Route zum OpenVPN-Netz

Gateway? Meine VM kennt glaube ich nichts vom externen Netzwerk.
Implizit kennt sie(=VM) wohl schon den Server über das VirtualBox-Net 192.168.56.x,
aber...
Wenn ein (völlig) anderer Client in dem Netz mit zB. 10.11.12.99 via RDP an 10.11.12.10 zum Zuge kommt, was fehlt denn bei meinem externen VPN-"integrierten"-client? Eine ergänzende route in der openvpn-config? Iptables-Zeugs?

mludwig
Beiträge: 797
Registriert: 30.01.2005 19:35:04

Re: RDP->(OpenVPN)->VirtualBox-VM

Beitrag von mludwig » 09.09.2016 19:08:58

Das ist aber nicht vergleichbar:

Ein Client, der im gleichen Netz wie deine VM ist, kann mit der VM direkt kommunizieren, ohne Gateway dazwischen. Dein OpenVPN-Client ist aber in einem anderen Netz. Die VM (oder PCs allgemein) schickt alles, was nicht im eigenen Netz ist, an einen Router, wenn nichts spezielles definiert ist an den default-Gateway, der dann hoffentlich weiß wo das hingesendet werden muss.

Du trägst entweder auf der VM eine Route zum OpenVPN-Netz ein, und als Gateway dafür deinen Debian-Server. (oder gleich der Debianserver als Default-GW?) Alternativ kann der Debian-Server auch NAT machen, so dass aus Sicht der VM die Anfrage deines Clients vom Debian-Server kommt, und der ist ja im gleichen Netz.

shh
Beiträge: 140
Registriert: 16.06.2002 14:29:44

Re: RDP->(OpenVPN)->VirtualBox-VM

Beitrag von shh » 10.09.2016 11:26:55

OK.
Das VM-Korrigieren möchte ich aber erstmal nach hinten schieben, da ich offenbar auch ein "grundsätzlicheres" Problem habe:

Die OpenVPN scheint zwar zu funktionieren (server ist dann 10.9.8.1, win10client:10.9.8.2)
Von meinem Win10-client aus kann ich aber nichts (anderes) vom debian-server pingen.
ping 10.9.8.2(win10) -> 10.9.8.1(=debian) OK
ping 10.9.8.1(=debian) -> 10.9.8.2(win10) FAIL (kann auch sein, dass die firewall von Windows das nicht durchlässt)
Ich kann aber vom client aus sonst nichts erreichen/pingen, also auch nicht das 192.168.2.x bzw. 10.11.12.x, obwohl debian selbst das kann.
Also ist meine OpenVPN-config anscheinend doch nicht ganz i.O.
Ich habe mir gedacht, dass der Win10-client ja von den debian-Netzen nichts weiß, daher hab ich auf dem debian-Server /etc/openvpn/tun0.conf folgenermaßen angepasst:

Code: Alles auswählen

dev tun0
ifconfig 10.9.8.1 10.9.8.2
secret /etc/openvpn/mystatic.key
push "route 192.168.2.0 255.255.255.0"
push "route 10.11.12.0 255.255.255.0"
und hier nochmal die debian routen:

Code: Alles auswählen

Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.2.1     0.0.0.0         UG    0      0        0 eth1
10.9.8.2        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
10.11.12.0      0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
anschließend service openvpn restart und vom Client aus neu verbunden. Das hat aber gar nichts gebracht. Win10 kann immer noch nicht die anderen Netze erreichen.
OpenVPN hab ich am Win10 auch mit Admin-Rechten gestartet, aber die push-routen tauchen in Windows einfach nicht auf.
Hmm, any ideas? openvpn auf Windows ist die aktuelle Version. Auf dem server (wheezy) ist eine recht alte v2.3.2 drauf.

Code: Alles auswählen

openvpn:
  Installiert:           2.3.2-7~bpo70+2
  Installationskandidat: 2.3.2-7~bpo70+2
  Versionstabelle:
 *** 2.3.2-7~bpo70+2 0
        600 http://ftp.debian.org/debian/ wheezy-backports/main amd64 Packages
        100 /var/lib/dpkg/status
     2.2.1-8+deb7u3 0
        500 http://ftp.de.debian.org/debian/ wheezy/main amd64 Packages
        500 http://security.debian.org/ wheezy/updates/main amd64 Packages

mludwig
Beiträge: 797
Registriert: 30.01.2005 19:35:04

Re: RDP->(OpenVPN)->VirtualBox-VM

Beitrag von mludwig » 10.09.2016 12:51:22

Ist zwar etwas her, aber erfahrungsgemäß kann man ab Windows 7 auf dem Client push-Routen nur eingeschränkt nutzen. Der OpenVPN-Client benötigt dafür erweiterte Rechte (z. B. ausführen als -> Administrator, oder als Hintergrunddienst mit entsprechendem Benutzerkonto). Ohne diese Rechte schlägt der Eintrag der empfangenen Routen in die Routing-Tabelle vom Betriebssystem fehl, das sollte im Log vom OpenVPN-Client aber auch zu sehen sein.

Außerdem muss zusätzlich zur Route für Win10 (dein Client) auch auf dem Ziel in deinem LAN die Rückroute bekannt sein. Also das VPN-Netz mit dem Debian-Server als Gateway, damit die Antwortpakete auch ankommen.

shh
Beiträge: 140
Registriert: 16.06.2002 14:29:44

Re: RDP->(OpenVPN)->VirtualBox-VM

Beitrag von shh » 10.09.2016 16:56:17

Hallo,
es klappt nun mit RDP.

Problem ist/war:
Openpvn pusht einfach gar keine routes mehr! Mit Admin starten hilft auch nichts.
Liegt möglicherweise daran, dass der Server v2.3.2 hat, der Client v2.3.12. Jedenfalls zeigt mir keiner der Programme auch irgendeinen Fehler dbzgl. an, die extra routen werden einfach nicht gesetzt.
Ich habe jetzt beim Client manuell

Code: Alles auswählen

route 192.168.2.0 255.255.255.0
route 10.11.12.0 255.255.255.0
angefügt und nun gehts mit RDP.
Die VM hat übrigens

Code: Alles auswählen

10.11.12.10
255.255.255.0
gw 192.168.2.1
also als gateway die Fritzbox(192.168.2.1), den gateway des debian-Rechners(192.168.2.2). Das war also schon passend eingestellt.
Iptables-Einstellungen braucht der anscheinend nicht. Wundert mich, ich glaube, dass ich früher immer welche gesetzt habe.
Herzlichen Dank für die Tipps!

Antworten