Як змусити Вагранта мати єдиний, мостовий, мережевий інтерфейс


7

Використовуючи 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.

Відповіді:


7

Ви можете спробувати додати adapter: 1конфігурацію. Хоча я все ще знаходжу з цим певну проблему. Подивіться, чи це допоможе вам почати звідкись.

Приклад:

config.vm.network "public_network", bridge: "Broadcom BCM5709C", adapter: "1", ip: "192.168.x.xx"

Ви все одно матимете eth1, яка є лише мережею хостів ...


Дякую. Додавши "adapter: '1" "зробив те, що хотів - VirtualBox придумав рівно один адаптер eth0, який з'єднаний у моїй локальній мережі та має IP, який він отримав від DHCP на моєму модемі. Сам Vagrant не вдався, тому що намагався підключитися до нього через мою мережу "лише для господарів", але це вже інша проблема.
Амос Шапіра

Чи вдалося вам вирішити проблему невдалого підключення?
Хоксбі

@Hawxby, оскільки це був разовий експеримент, я не намагався знайти рішення для нього. Я просто вручну ssh'ed в екземпляр, щоб зробити свої експерименти.
Амос Шапіра
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.