Как заставить dnsmasq привязаться к порту Ethernet, который не подключен?
Окружение таково, что сервер работает в качестве маршрутизатора. Рабочая станция будет подключена к этому порту Ethernet. После подключения рабочая станция получит адрес через DHCP и будет маршрутизирована к другим сетевым соединениям на том же сервере.
Ситуация такова, что на момент запуска сервера нет соединения с портом ethernet. Это требование. На этом пути не должно быть коммутатора или другого устройства. (Порт также будет использоваться с hostapd для использования аутентификации 802.1X.)
Мое тестирование показывает, что dnsmasq не запускается, потому что порт ethernet недоступен. Если я подключу устройство к порту и затем перезагружу dnsmasq, dnsmasq подключится к порту.
Самое замечательное, что когда порт отключен, dnsmasq в порядке! dnsmasq остается подключенным к порту. Подключение обратно к порту предоставит DHCP-сервисы для порта!
Как заставить dnsmasq привязаться к порту после загрузки, когда к порту ничего не подключено?
Я ожидаю два возможных направления (или удивите меня альтернативой!)
- Убедить dnsmasq привязаться к отключенному порту
- Убедить сетевой стек показать, что порт доступен, даже если он отключен
Я использую netplan для управления сетевыми интерфейсами (как в Ubuntu 18).
Конфигурация netplan для порта следующая:
network:
version: 2
renderer: networkd
ethernets:
enp2s0:
optional: true
dhcp4: no
addresses: [192.168.0.1/24]
dnsmasq.conf выглядит так:
bogus-priv
no-resolv
server=1.1.1.1
interface=enp2s0
bind-interfaces
expand-hosts
dhcp-range=192.168.0.100,192.168.0.250,12h
Добавьте сообщение об ошибке из dnsmsg
Nov 20 22:00:34 nuvo7006-2 dnsmasq[945]: dnsmasq: unknown interface enp2s0
Nov 20 22:00:34 nuvo7006-2 dnsmasq[945]: unknown interface enp2s0
Nov 20 22:00:34 nuvo7006-2 dnsmasq[945]: FAILED to start up
Nov 20 22:00:34 nuvo7006-2 systemd[1]: dnsmasq.service: Control process exited, code=exited status=2
Nov 20 22:00:34 nuvo7006-2 systemd[1]: dnsmasq.service: Failed with result 'exit-code'.
Nov 20 22:00:34 nuvo7006-2 systemd[1]: Failed to start dnsmasq - A lightweight DHCP and caching DNS server.
-- Subject: Unit dnsmasq.service has failed