Servidor OpenVPN en VirtualBox Linux invitado con adaptador de solo host

Servidor OpenVPN en VirtualBox Linux invitado con adaptador de solo host

Necesito configurar una máquina virtual VirtualBox que actuará como VPN. Estoy usando Vagrant para crear la VM en un cliente Ubuntu 14.04 LTS. Estoy usando OpenVPN como servidor VPN en un servidor Ubuntu 14.04 LTS.

OpenVPN está configurado para funcionar en la red 10.8.0.0/255.255.255.0. El servidor VPN en sí es 10.8.0.1. Iniciar OpenVPN y conectarse a él no muestra ningún error en ningún archivo de registro.

Si configuro Vagrant para usar una "red pública", entonces puedo conectarme a la VPN y puedo hacer ping al servidor VPN:

ping 10.8.0.1 # ok

Si configuro Vagrant para usar una "red privada" (con una IP 192.168.50.42 definida estáticamente), entoncesTodavía puedo conectarme a la VPN pero ya no puedo hacer ping al servidor VPN. Cualquier cosa (SSH, HTTP...) que intente utilizar la dirección VPN (10.8.0.1) falla.

ping 10.8.0.1 # ko

ifconfig en el cliente VPN:

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 

ruta en el cliente VPN:

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

Aquí viene la parte interesante: eliminar la última ruta hace que el ping funcione:

route del -net 192.168.50.42 gw 192.168.40.254 netmask 255.255.255.255 dev wlan0

Los problemas son:

  • esta ruta regresa cada vez que reinicio la VM (creo que cada vez que hago un vagabundo)
  • No sé cómo se comportaría eso en un cliente de Windows.
  • Necesito que esto sea lo más automatizado posible.

Preguntas:

  • ¿Por qué necesito eliminar lo que parece una ruta completamente ajena en otra red para que mi servidor VPN sea accesible? (Supongo que esto tiene algo que ver con la IP que uso para conectarme al servidor VPN...)
  • ¿Cómo puedo arreglar esto?

Gracias,

información relacionada