1

Я использую сеть только для хоста Virtualbox, и у меня есть интерфейс vboxnet0.

На хосте (Ubuntu 14) у меня есть некоторый штат маршрутов, несколько таблиц маршрутов (основной и два дополнительных), установленные правила ip и так далее.

Все изменения, которые я вносил в таблицы маршрутизации для интерфейса vbonxen0 на хосте, терялись при перезагрузке.

Как сделать ifup-подобный скрипт для интерфейса vboxnet0?

1 ответ1

4

Есть некоторые вещи, которые следует иметь в виду при использовании режима сети только для хоста VirtualBox (по крайней мере, V4.3.36), особенно когда мостовое соединение не является опцией и является ручным, после этого необходимо настроить пользовательские маршруты:

  • Узел устройства vboxnet0 автоматически не доступен после загрузки (!)
    За исключением случаев, когда вы настраиваете его вручную в /etc/network/interfaces что может помешать, когда virtualbox пытается вызвать свой собственный экземпляр.
  • Он недоступен даже при загрузке модулей vbox (pci | netadp | netflt | drv).
  • Использование vboxmanage hostonlyif create просто добавит узел устройства, но оставит его в состоянии DOWN, которое еще не маршрутизируется.
  • Состояние устройства vboxnet0 останется неизвестным даже при включении интерфейса:
    4: vboxnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> ... state UNKNOWN ...
    Любая попытка использовать событие из /etc/network/interfaces и т.д. / сети / интерфейсов, ifup или /etc/network/if-up.d/MYSCRIPT является бесполезным , так как это состояние никогда не достигается.
  • На хосте он становится доступным и готовым к использованию при запуске вашего первой VM гостя машина только.

Единственный способ попасть между virtualbox и запуском вашей виртуальной машины, который я нашел до сих пор, - это использовать правило udev , поместив файл, например: /etc/udev/rules.d/80-vboxnet с:

KERNEL == "vboxnet0", SUBSYSTEM == "net", ACTION == "add", RUN+= "/bin/bash -c '/bin/sleep 1; /sbin/ip route add xxxx dev vboxnet0'"

который запускает экземпляр bash. Я поместил оператор ip route ... непосредственно в файл правил, но в качестве альтернативы можно просто вызвать скрипт в другом месте и поместить туда дополнительные конфигурации маршрутов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .