Назад | Перейти на главную страницу

Бродячий мост к интерфейсу openvpn?

Настроить:

Коробка с сервером OpenVPN и несколькими виртуальными машинами Vagrant

Проблема:

Я хотел бы получить доступ к ящикам Vagrant напрямую от клиентов VPN как к обычным машинам, а не только через несколько перенаправленных портов.

Конфигурация:

OpenVPN имеет интерфейс 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)

Vagrant настроен на public_networks с определенным ip:

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

Но это не работает, я думаю, потому что я не могу связать Vagrant с интерфейсом OpenVpn ?. Из журналов:

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}

Должен ли я каким-то образом связать tun0 через Virtualbox? Или это не выполнимо? Я пробовал сделать что-то вроде этого:

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

Должен ли я создать виртуальный интерфейс eth1 (я не могу использовать bridge0, поскольку это общедоступный IP-адрес) и связать его с Vagrant, а затем создать правила маршрутизации для сервера OpenVPN?