dnsmasq 未插上以太网端口

dnsmasq 未插上以太网端口

如何让 dnsmasq 绑定到未插入的以太网端口?

该环境是服务器以路由器的身份运行。工作站将插入此以太网端口。插入后,工作站将通过 DHCP 接收地址并路由到同一服务器上的其他网络连接。

情况是,在服务器启动时没有连接到以太网端口。这是必需的。此路径中不能有交换机或其他设备。(该端口还将与 hostapd 一起使用,以便使用 802.1X 身份验证。)

我的测试表明,dnsmasq 无法启动,因为以太网端口不可用。如果我将设备插入端口,然后重新加载 dnsmasq,dnsmasq 将连接到该端口。

最棒的是,当端口拔出时,dnsmasq 一切正常!dnsmasq 仍连接到端口。重新插入端口将为端口提供 DHCP 服务!

在启动后未在端口插入任何内容的情况下,如何让 dnsmasq 绑定到端口?

我期待两个可能的方向(或者用另一种方式让我惊喜!)

  1. 说服 dnsmasq 绑定到未插拔的端口
  2. 让网络堆栈显示端口可用,即使它被拔掉

我正在使用 netplan 来管理网络接口(ala 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

相关内容