dnsmasq com porta Ethernet desconectada

dnsmasq com porta Ethernet desconectada

Como faço para que o dnsmasq se ligue a uma porta Ethernet que não está conectada?

O ambiente é tal que o servidor funciona na capacidade de um roteador. Uma estação de trabalho será conectada a esta porta Ethernet. Uma vez conectada, a estação de trabalho receberá um endereço via DHCP e será roteada para outras conexões de rede no mesmo servidor.

A situação é que não há conexão com a porta Ethernet no momento em que o servidor é iniciado. Este é um requisito. Não pode haver nenhum switch ou outro dispositivo neste caminho. (A porta também será usada com hostapd para usar autenticação 802.1X.)

Meus testes mostram que o dnsmasq falha ao iniciar porque a porta Ethernet não está disponível. Se eu conectar um dispositivo à porta e recarregar o dnsmasq, o dnsmasq se conectará à porta.

A melhor parte é que quando a porta está desconectada, o dnsmasq fica bem! dnsmasq permanece conectado à porta. Conectar-se novamente à porta fornecerá serviços DHCP à porta!

Como faço para que o dnsmasq se ligue à porta após inicializar sem nada conectado à porta?

Estou esperando duas direções possíveis (ou surpreenda-me com uma alternativa!)

  1. Convença o dnsmasq a vincular-se a uma porta desconectada
  2. Convença a pilha de rede a mostrar que uma porta está disponível mesmo que esteja desconectada

Estou usando o netplan para gerenciar as interfaces de rede (ala Ubuntu 18).

A configuração do netplan para a porta é:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp2s0:
      optional: true
      dhcp4: no
      addresses: [192.168.0.1/24]

dnsmasq.conf se parece com:

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

Adicione a mensagem de erro do 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

informação relacionada