Servidor OpenVPN no VirtualBox Linux convidado com adaptador somente host

Servidor OpenVPN no VirtualBox Linux convidado com adaptador somente host

Preciso configurar uma máquina virtual VirtualBox que funcionará como VPN. Estou usando o Vagrant para criar a VM em um cliente Ubuntu 14.04 LTS. Estou usando o OpenVPN como servidor VPN em um servidor Ubuntu 14.04 LTS.

OpenVPN está configurado para funcionar na rede 10.8.0.0/255.255.255.0. O próprio servidor VPN é 10.8.0.1. Iniciar o OpenVPN e conectar-se a ele não mostra nenhum erro em nenhum arquivo de log.

Se eu configurar o Vagrant para usar uma "rede pública", poderei me conectar à VPN e executar ping no servidor VPN:

ping 10.8.0.1 # ok

Se eu configurar o Vagrant para usar uma "rede privada" (com um IP 192.168.50.42 definido estaticamente), entãoAinda consigo me conectar à VPN, mas não consigo mais executar ping no servidor VPN. Qualquer coisa (SSH, HTTP...) que tente usar o endereço VPN (10.8.0.1) falha.

ping 10.8.0.1 # ko

ifconfig no 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 

rota no 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

Aí vem a parte interessante: deletar a última rota faz o ping funcionar:

route del -net 192.168.50.42 gw 192.168.40.254 netmask 255.255.255.255 dev wlan0

Os problemas são:

  • essa rota volta toda vez que eu reinicio a VM (toda vez que faço um vagrant up, eu acho)
  • Não sei como isso se comportaria em um cliente Windows
  • Preciso que isso seja o mais automatizado possível

Questões:

  • Por que preciso excluir o que parece ser uma rota completamente não relacionada em outra rede para que meu servidor VPN possa ser acessado? (Suponho que isso tenha algo a ver com o IP que uso para me conectar ao servidor VPN...)
  • Como posso consertar isso?

Obrigado,

informação relacionada