dnsmasq mit nicht angeschlossenem Ethernet-Port

dnsmasq mit nicht angeschlossenem Ethernet-Port

Wie kann ich dnsmasq dazu bringen, eine Bindung zu einem Ethernet-Port herzustellen, der nicht angeschlossen ist?

Die Umgebung ist so, dass der Server als Router fungiert. Eine Arbeitsstation wird an diesen Ethernet-Port angeschlossen. Nach dem Anschließen erhält die Arbeitsstation eine Adresse über DHCP und wird an andere Netzwerkverbindungen auf demselben Server weitergeleitet.

Die Situation ist, dass beim Starten des Servers keine Verbindung zum Ethernet-Port besteht. Dies ist eine Voraussetzung. In diesem Pfad darf sich kein Switch oder anderes Gerät befinden. (Der Port wird auch mit hostapd verwendet, um die 802.1X-Authentifizierung zu verwenden.)

Meine Tests zeigen, dass dnsmasq nicht gestartet werden kann, da der Ethernet-Port nicht verfügbar ist. Wenn ich ein Gerät an den Port anschließe und dnsmasq dann neu lade, stellt dnsmasq eine Verbindung zum Port her.

Das Tolle daran ist, dass dnsmasq einwandfrei funktioniert, wenn der Port nicht angeschlossen ist! dnsmasq bleibt mit dem Port verbunden. Wenn Sie es wieder mit dem Port verbinden, werden DHCP-Dienste für den Port bereitgestellt!

Wie kann ich dnsmasq dazu bringen, sich an den Port zu binden, nachdem ich gebootet habe und nichts an den Port angeschlossen ist?

Ich erwarte zwei mögliche Richtungen (oder überraschen Sie mich mit einer Alternative!)

  1. Überzeugen Sie dnsmasq, sich an einen Port zu binden, der nicht angeschlossen ist
  2. Überzeugen Sie den Netzwerkstapel, anzuzeigen, dass ein Port verfügbar ist, auch wenn er nicht angeschlossen ist.

Ich verwende Netplan, um die Netzwerkschnittstellen zu verwalten (wie Ubuntu 18).

Die Netplan-Konfiguration für den Port lautet:

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

dnsmasq.conf sieht folgendermaßen aus:

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

Fügen Sie die Fehlermeldung von dnsmsg hinzu

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

verwandte Informationen