¿Cómo consigo que dnsmasq se vincule a un puerto ethernet que no está conectado?
El entorno es tal que el servidor funciona con la capacidad de un enrutador. Se conectará una estación de trabajo a este puerto Ethernet. Una vez conectada, la estación de trabajo recibirá una dirección a través de DHCP y será enrutada a otras conexiones de red en el mismo servidor.
La situación es que no hay conexión al puerto Ethernet en el momento en que se inicia el servidor. Este es un requisito. No puede haber ningún interruptor u otro dispositivo en este camino. (El puerto también se utilizará con hostapd para utilizar la autenticación 802.1X).
Mis pruebas muestran que dnsmasq no se inicia porque el puerto Ethernet no está disponible. Si conecto un dispositivo al puerto y luego vuelvo a cargar dnsmasq, dnsmasq se conectará al puerto.
Lo mejor es que cuando el puerto está desconectado, ¡dnsmasq está bien! dnsmasq permanece adjunto al puerto. ¡Volver a conectarlo al puerto proporcionará servicios DHCP al puerto!
¿Cómo consigo que dnsmasq se vincule al puerto después de iniciar sin nada conectado al puerto?
Espero dos direcciones posibles (¡o sorpréndeme con una alternativa!)
- Convencer a dnsmasq para que se enlace a un puerto que está desconectado
- Convencer a la pila de red para que muestre que un puerto está disponible aunque esté desconectado
Estoy usando netplan para administrar las interfaces de red (como Ubuntu 18).
La configuración de netplan para el puerto es:
network:
version: 2
renderer: networkd
ethernets:
enp2s0:
optional: true
dhcp4: no
addresses: [192.168.0.1/24]
dnsmasq.conf se ve así:
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
Agregue el mensaje de error de 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