イーサネットポートが接続されていない dnsmasq

イーサネットポートが接続されていない dnsmasq

プラグインされていないイーサネット ポートに dnsmasq をバインドするにはどうすればよいですか?

この環境では、サーバーはルーターとして動作します。ワークステーションはこのイーサネット ポートに接続されます。ワークステーションは接続されると、DHCP 経由でアドレスを受信し、同じサーバー上の他のネットワーク接続にルーティングされます。

サーバーの起動時にイーサネット ポートへの接続がないのが現状です。これは必須条件です。このパスにはスイッチやその他のデバイスがあってはなりません。(このポートは、802.1X 認証を使用するために hostapd でも使用されます。)

私のテストでは、イーサネット ポートが利用できないために dnsmasq が起動に失敗することがわかりました。デバイスをポートに接続して dnsmasq をリロードすると、dnsmasq はポートに接続します。

素晴らしいのは、ポートが取り外されても dnsmasq は問題なく動作することです。dnsmasq はポートに接続されたままです。ポートに再度接続すると、ポートに DHCP サービスが提供されます。

ポートに何も接続せずに起動した後、dnsmasq をポートにバインドするにはどうすればよいですか?

2 つの方向性が考えられます (または別の方法で驚かせてください)。

  1. dnsmasq に、プラグが抜かれたポートにバインドするように指示する
  2. ポートが接続されていない状態でもポートが使用可能であることを示すようにネットワークスタックを説得する

私は、ネットワーク インターフェイスを管理するために netplan を使用しています (Ubuntu 18 と同様)。

ポートのネットプラン構成は次のとおりです。

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

関連情報