Ponte Vagrant para a interface openvpn?

4

Configuração:

Uma caixa rodando o servidor OpenVPN e algumas máquinas virtuais do Vagrant

Problema:

Gostaria de acessar as caixas Vagrant diretamente dos clientes VPN como máquinas comuns, e não apenas em poucas portas encaminhadas.

Configuração:

O OpenVPN tem interface tun0:

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.69.69.1  P-t-P:10.69.69.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:110348 errors:0 dropped:0 overruns:0 frame:0
          TX packets:89923 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:18322866 (18.3 MB)  TX bytes:16651955 (16.6 MB)

O Vagrant é configurado com public_networks com ip específico:

config.vm.network "public_network", :bridge => "tun0", ip:"10.69.69.101", :auto_config => "false", :netmask => "255.255.255.0"

Mas isso não funciona, eu acho, porque eu não posso conectar o Vagrant à interface OpenVpn ?. Nos logs:

DEBUG network: Normalized configuration: {:auto_config=>"false", :bridge=>"tun0", :mac=>nil, :nic_type=>nil, :use_dhcp_assigned_default_route=>false, :ip=>"10.69.69.101", :netmask=>"255.255.255.0", :protocol=>"tcp", :id=>"9d8e9f11-8e10-442d-92a3-7c463e14cf24", :adapter=>2}
 INFO subprocess: Starting process: ["/usr/bin/VBoxManage", "list", "bridgedifs"]
DEBUG subprocess: Selecting on IO
DEBUG subprocess: stdout: Name:            eth0
GUID:            30687465-0000-4000-8000-d43d7ee2ff6e
DHCP:            Disabled
IPAddress:       XXX.XXX.XXX.XXX
NetworkMask:     255.255.255.224
IPV6Address:     2a01:04f8:0200:6152:0000:0000:0000:0002
IPV6NetworkMaskPrefixLength: 64
HardwareAddress: d4:3d:7e:e2:ff:6e
MediumType:      Ethernet
Status:          Up
VBoxNetworkName: HostInterfaceNetworking-eth0

DEBUG subprocess: Waiting for process to exit. Remaining to timeout: 32000
DEBUG subprocess: Exit status: 0
DEBUG network: Bridge was directly specified in config, searching for: tun0
 INFO interface: info: Specific bridge 'tun0' not found. You may be asked to specify
which network to bridge to.
[default] Specific bridge 'tun0' not found. You may be asked to specify
which network to bridge to.
DEBUG network: Only one bridged interface available. Using it by default.
 INFO network: Bridging adapter 2 to eth0
DEBUG network: Adapter configuration: {:adapter=>2, :type=>:bridged, :bridge=>"eth0", :mac_address=>nil, :nic_type=>nil}

Devo de alguma forma passar o tun0 via Virtualbox? Ou isso não é factível? Eu tentei fazer algo assim:

v.customize ["modifyvm", :id, "--nic1", "bridged", "--bridgeadapter1", "tun0"]

Devo criar uma interface virtual eth1 (não posso usar bridge0 como é um ip público), e criar uma ponte para ele Vagrant, e então criar regras de roteamento para o servidor OpenVPN?

    
por gerasalus 11.02.2014 / 10:28

0 respostas