Використовуючи vagrant 1.7.2 на OSX (MacBook Pro), гостей Ubuntu 14.04, VirtualBox 4.3.26. Mac підключений до світу за допомогою стандартного інтерфейсу WiFi.
Я хочу, щоб вікна Vagrant використовували з'єднану мережу в локальній локальній мережі як їх основний (і єдиний) інтерфейс. Це потрібно для експерименту з tcptraceroute, який не робить все правильно через NAT'ed мережу. Що я зараз маю у своєму Vagrantfile:
Vagrant.configure(2) do |config|
config.vm.provider "virtualbox"
config.vm.network "public_network", bridge: "en0: Wi-Fi (AirPort)"
config.vm.box = 'ubuntu/trusty64'
end
І те, що я потрапляю всередину коробки Vagrant:
$ ip -o -4 a
1: lo inet 127.0.0.1/8 scope host lo\ valid_lft forever preferred_lft forever
2: eth0 inet 10.0.2.15/24 brd 10.0.2.255 scope global eth0\ valid_lft forever preferred_lft forever
3: eth1 inet 172.16.69.16/24 brd 172.16.69.255 scope global eth1\ valid_lft forever preferred_lft forever
(172.16.69 / 24 моя адреса локальної мережі). Якщо я вручну знімаю eth0
і перемикаю маршрут за замовчуванням, 172.16.69.1
тоді я можу використовувати VirtualBox так, як хочу:
# ifdown eth0
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/eth0/08:00:27:56:a8:46
Sending on LPF/eth0/08:00:27:56:a8:46
Sending on Socket/fallback
DHCPRELEASE on eth0 to 10.0.2.2 port 67 (xid=0x69745103)
# route add -net default gw 172.16.69.1
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.16.69.1 0.0.0.0 UG 0 0 0 eth1
172.16.69.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
А зараз tcptraceroute
працює правильно.
Моє запитання - як я можу налаштувати Vagrantfile, щоб уникнути появи інтерфейсу eth0 як інтерфейсу NAT'ed і просто вивести його як єдиний, мостовий інтерфейс?
Я спробував пограти з, config.vm.network "private_network"
як частково пояснено в http://docs.vagrantup.com/v2/virtualbox/networking.html, але, наскільки я дотримувався всього, це було додати інтерфейси до поля, а не замінити NAT'ed за замовчуванням inetface на eth0
.