연결되지 않은 이더넷 포트에 dnsmasq를 바인딩하려면 어떻게 해야 합니까?
서버가 라우터의 용량으로 작동하는 환경입니다. 워크스테이션이 이 이더넷 포트에 연결됩니다. 일단 연결되면 워크스테이션은 DHCP를 통해 주소를 수신하고 동일한 서버의 다른 네트워크 연결로 라우팅됩니다.
서버 시작시 이더넷 포트에 연결이 되어 있지 않은 상황입니다. 이는 요구 사항입니다. 이 경로에는 스위치나 다른 장치가 있을 수 없습니다. (이 포트는 802.1X 인증을 사용하기 위해 Hostapd에서도 사용됩니다.)
내 테스트에 따르면 이더넷 포트를 사용할 수 없기 때문에 dnsmasq가 시작되지 않는 것으로 나타났습니다. 장치를 포트에 연결한 다음 dnsmasq를 다시 로드하면 dnsmasq가 포트에 연결됩니다.
가장 큰 장점은 포트가 분리되면 dnsmasq가 괜찮다는 것입니다! dnsmasq는 포트에 계속 연결되어 있습니다. 포트에 다시 연결하면 포트에 DHCP 서비스가 제공됩니다!
포트에 아무것도 연결하지 않은 채 부팅한 후 dnsmasq가 포트에 바인딩되도록 하려면 어떻게 해야 합니까?
나는 두 가지 가능한 방향을 기대하고 있습니다. (또는 대안으로 나를 놀라게 해주세요!)
- dnsmasq가 연결 해제된 포트에 바인딩하도록 설득
- 포트가 분리된 경우에도 포트를 사용할 수 있음을 표시하도록 네트워크 스택을 설득합니다.
저는 netplan을 사용하여 네트워크 인터페이스(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