Я использую VirtualBox 5.1 на Ubuntu 16.04, Гостеприимной с некоторым VMs в сети "Host-Only", которая появляется как vboxnet0
сетевой интерфейс в хосте. Я хочу запустить dnsmasq
с пользовательской конфигурацией для обслуживания DNS и DHCP на этом vboxnet0
сеть, как только интерфейс создается, который является, когда приложение VirtualBox запущено.
Может инициировать это dnsmasq
запуск так или иначе? Через NetworkManager или udev или systemd?
BTW я не хочу использовать VirtualBox встроенный сервер DNS/DHCP по причинам вне объема этого вопроса (чрезвычайно пользовательские опции DHCP, и перенаправил некоторые запросы DNS для VMs).
Также я не могу запустить dnsmasq
прежде vboxnet0
создается becuase, с которым это должно быть выполнено --bind-interfaces
из-за NetworkManager, уже выполняющего один экземпляр dnsmasq
поскольку это владеет целями.
Функциональность запуска определенных команд, когда интерфейс идет вверх / вниз, предоставляется из коробки большинства * nix систем. Однако выполнение команды при создании интерфейса может потребовать некоторых пользовательских сценариев.
Один из способов сделать это (не уверен, что это лучший способ) - написать собственный скрипт, который периодически сканирует выходные данные команды ifconfig
и проверяет, содержит ли он запись для vboxnet0
, и выполняет вашу собственную команду. если найдена запись для интерфейса vboxnet0
.