![여러 서브넷이 있는 dnsmasq 서버의 서버 호스트 이름 확인](https://rvso.com/image/50559/%EC%97%AC%EB%9F%AC%20%EC%84%9C%EB%B8%8C%EB%84%B7%EC%9D%B4%20%EC%9E%88%EB%8A%94%20dnsmasq%20%EC%84%9C%EB%B2%84%EC%9D%98%20%EC%84%9C%EB%B2%84%20%ED%98%B8%EC%8A%A4%ED%8A%B8%20%EC%9D%B4%EB%A6%84%20%ED%99%95%EC%9D%B8.png)
dnsmasq를 실행하는 자체 제작 Linux 라우터가 있습니다. 클라이언트가 연결되는 두 개의 서로 다른 NIC가 있습니다. 그 중 하나에는 서브넷이 있고 192.168.1.
다른 하나에는 서브넷이 있습니다 192.168.2.
. 내 /etc/dnsmasq.conf
모습은 다음과 같습니다.
except-interface=enp1s0
dhcp-range=interface:wlp2s0,192.168.1.10,192.168.1.25,255.255.255.0,48h
dhcp-range=interface:enp0s29f7u4,192.168.2.10,192.168.2.25,255.255.255.0,48h
클라이언트 확인은 서브넷 간에 작동하지만 어느 서브넷에서도 서버 자체의 호스트 이름을 확인할 수 없습니다. 를 사용하여 정적 규칙을 추가하는 경우 address=/name/IP
서브넷을 선택해야 하며 다른 서브넷에서는 ping이 작동하지 않습니다. 예를 들어 내가 설정하면
address=/name/192.168.1.1
그런 다음 서브넷에서 호스트 이름을 확인할 수 있지만 192.168.2.
핑에 응답하지 않습니다. 그 상황을 어떻게 해결하나요? 인터페이스나 이와 유사한 것을 브리지할 필요가 없었으면 좋겠습니다.
답변1
내가 이해하는 바와 같이 귀하의 경우 서버에는 각 서브넷에 대한 주소가 192.168.1.1이고 다른 하나는 192.168.2.1일 수 있습니다.
클라이언트가 해당 서브넷의 서버 주소를 받기를 원하는 것 같습니다.
나는 같은 문제가 있었고 대답을 찾았습니다.http://t7994.network-dns-dnsmasq-general.dnstalk.us/multi-homed-server-with-same-hostname-on-2-subnets-t7994.html
dnsmasq 매뉴얼 페이지에서 "-y, --localise-queries"를 확인하세요.
dnsmasq.conf에도 "localise-queries"를 넣고 두 개의 서버 주소 항목을 /etc/hosts 파일에 넣을 수 있습니다.