여러 서브넷이 있는 dnsmasq 서버의 서버 호스트 이름 확인

여러 서브넷이 있는 dnsmasq 서버의 서버 호스트 이름 확인

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 파일에 넣을 수 있습니다.

관련 정보