OpenVPN-Server im VirtualBox-Linux-Gast mit Host-Only-Adapter

OpenVPN-Server im VirtualBox-Linux-Gast mit Host-Only-Adapter

Ich muss eine virtuelle VirtualBox-Maschine einrichten, die als VPN fungiert. Ich verwende Vagrant, um die VM auf einem Ubuntu 14.04 LTS-Client zu erstellen. Ich verwende OpenVPN als VPN-Server auf einem Ubuntu 14.04 LTS-Server.

OpenVPN ist für den Betrieb im Netzwerk 10.8.0.0/255.255.255.0 konfiguriert. Der VPN-Server selbst ist 10.8.0.1. Beim Starten von OpenVPN und Herstellen einer Verbindung wird in keiner Protokolldatei ein Fehler angezeigt.

Wenn ich Vagrant so konfiguriere, dass es ein „öffentliches Netzwerk“ verwendet, kann ich eine Verbindung zum VPN herstellen und den VPN-Server anpingen:

ping 10.8.0.1 # ok

Wenn ich Vagrant so konfiguriere, dass es ein "privates Netzwerk" verwendet (mit einer statisch definierten IP 192.168.50.42), dannIch kann mich immer noch mit dem VPN verbinden, aber ich kann den VPN-Server nicht mehr anpingen. Alles (SSH, HTTP...), was versucht, die VPN-Adresse (10.8.0.1) zu verwenden, schlägt fehl.

ping 10.8.0.1 # ko

ifconfig auf dem VPN-Client:

lo        Link encap:Local Loopback  
      inet addr:127.0.0.1  Mask:255.0.0.0
      inet6 addr: ::1/128 Scope:Host
      UP LOOPBACK RUNNING  MTU:65536  Metric:1
      RX packets:10278 errors:0 dropped:0 overruns:0 frame:0
      TX packets:10278 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0 
      RX bytes:920543 (920.5 KB)  TX bytes:920543 (920.5 KB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
      inet addr:10.8.0.6  P-t-P:10.8.0.5  Mask:255.255.255.255
      UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
      RX packets:21 errors:0 dropped:0 overruns:0 frame:0
      TX packets:140 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:100 
      RX bytes:7192 (7.1 KB)  TX bytes:87424 (87.4 KB)

vboxnet0  Link encap:Ethernet  HWaddr 0a:00:27:00:00:00  
      inet addr:192.168.50.1  Bcast:192.168.50.255  Mask:255.255.255.0
      inet6 addr: fe80::800:27ff:fe00:0/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:486 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:0 (0.0 B)  TX bytes:63895 (63.8 KB)

wlan0     Link encap:Ethernet  HWaddr 34:68:95:ee:01:75  
      inet addr:192.168.40.45  Bcast:192.168.40.255  Mask:255.255.255.0
      inet6 addr: fe80::3668:95ff:feee:175/64 Scope:Link
      inet6 addr: 2a01:e35:8af4:2240:ad1b:a074:194:ce3f/64 Scope:Global
      inet6 addr: 2a01:e35:8af4:2240:3668:95ff:feee:175/64 Scope:Global
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:38051 errors:0 dropped:0 overruns:0 frame:26967
      TX packets:26737 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:43426256 (43.4 MB)  TX bytes:3423106 (3.4 MB)
      Interrupt:19 

Route auf dem VPN-Client:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.40.254  0.0.0.0         UG    0      0        0 wlan0
10.8.0.1        10.8.0.5        255.255.255.255 UGH   0      0        0 tun0
10.8.0.5        *               255.255.255.255 UH    0      0        0 tun0
192.168.40.0    *               255.255.255.0   U     9      0        0 wlan0
192.168.50.0    *               255.255.255.0   U     0      0        0 vboxnet0
192.168.50.42   192.168.40.254  255.255.255.255 UGH   0      0        0 wlan0

Jetzt kommt der interessante Teil: Durch das Löschen der letzten Route funktioniert der Ping:

route del -net 192.168.50.42 gw 192.168.40.254 netmask 255.255.255.255 dev wlan0

Die Probleme sind:

  • diese Route ist jedes Mal wieder da, wenn ich die VM zurücksetze (ich glaube, jedes Mal, wenn ich einen Vagrant Up mache)
  • Ich weiß nicht, wie sich das auf einem Windows-Client verhalten würde
  • Ich brauche dies so weit wie möglich automatisiert

Fragen:

  • Warum muss ich eine scheinbar völlig unabhängige Route in einem anderen Netzwerk löschen, damit mein VPN-Server erreichbar ist? (Ich vermute, das hat etwas mit der IP zu tun, die ich für die Verbindung mit dem VPN-Server verwende ...)
  • Wie kann ich das beheben?

Danke schön,

verwandte Informationen