如何讓 dnsmasq 綁定到未插入的乙太網路連接埠?
環境是伺服器以路由器的身份工作。工作站將插入此乙太網路連接埠。一旦插入,工作站將透過 DHCP 接收位址並路由到同一伺服器上的其他網路連線。
情況是伺服器啟動時沒有連接到乙太網路連接埠。這是一個要求。此路徑中不能有交換器或其他設備。 (該連接埠也將與 hostapd 一起使用,以便使用 802.1X 驗證。)
我的測試顯示 dnsmasq 無法啟動,因為乙太網路連接埠不可用。如果我將設備插入端口,然後重新加載 dnsmasq,dnsmasq 將連接到該端口。
最重要的是,當連接埠被拔掉時,dnsmasq 就可以了! dnsmasq 保持連接到連接埠。重新插入連接埠將為該連接埠提供 DHCP 服務!
在啟動後連接埠沒有插入任何東西的情況下,如何讓 dnsmasq 綁定到連接埠?
我期待兩個可能的方向(或讓我驚訝的替代方案!)
- 說服 dnsmasq 綁定到未插入的端口
- 說服網路堆疊顯示連接埠可用,即使該連接埠已拔出
我正在使用 netplan 來管理網路介面(ala 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