예상치 못한 소스로부터의 NSD 응답

예상치 못한 소스로부터의 NSD 응답

NSD가 있는 서버가 있습니다. MAIN_IP와 ADD_IP가 있습니다. 서버에서 내 사이트의 IP를 얻으려고 하면 올바른 결과가 나타납니다.

dig @localhost my_site.com

그런데 이것을 PC에서 만들려고 하면

dig @my_ns_server.com my_site.com
;; reply from unexpected source: MAIN_IP#53, expected ADD_IP#53

(ADD_IP는 my_ns_server.com의 IP입니다.)

어떻게 해야 하나요?

UPD: 내 인터페이스 구성

auto eth2
allow-hotplug eth2
iface eth2 inet static
        address xxx.xxx.xxx.234
        netmask 255.255.255.252
        network xxx.xxx.xxx.232
        broadcast xxx.xxx.xxx.235
        gateway xxx.xxx.xxx.233
        dns-nameservers MY_ISP_IP
        dns-search MY_ISP_DOMAIN

auto eth2:0
iface eth2:0 inet static
  address xxx.xxx.xxx.124
  netmask 255.255.255.0

xxx.xxx.xxx는 모든 IP에서 동일합니다.

netstat -lntpu | 그렙 :53

tcp        0      0 0.0.0.0:53              0.0.0.0:*               LISTEN      1363/nsd        
tcp6       0      0 :::53                   :::*                    LISTEN      1363/nsd        
udp        0      0 0.0.0.0:53              0.0.0.0:*                           1363/nsd        
udp6       0      0 :::53                   :::*                                1363/nsd

답변1

NSD가 모든 인터페이스를 수신하면 OS가 소스 주소 선택을 수행할 수 있습니다. NSD가 수신 대기할 주소를 항상 명시적으로 지정하십시오(예: NS 레코드의 모든 IP). 귀하의 경우:

server:
    ip-address: a.b.c.124

이 스레드nsd-users 메일링 리스트에도 동일한 문제가 설명되어 있습니다(IPv6 부분은 관련이 없습니다).

답변2

NSD 구성이 잘못되었거나 박스/라우터의 NAT 규칙이 잘못되었을 수 있습니다. NSD는 모든 인터페이스를 수신하고 있습니까? NSD 상자에서 보조 IP 주소에 대한 DNS 쿼리에 응답하도록 포트 전달을 수행하고 있습니까?

NSD 상자의 netstat 출력을 붙여넣을 수 있습니까?

netstat -lntpu | grep :53

답변3

설정 및 NSD 3.2.8에서 동일한 문제가 발생했습니다. NSD가 올바른 소켓에서 응답하지 않는 것 같습니다. 내가 사용한 서버에는 동일한 네트워크에 두 개의 IP가 있습니다. 별칭이 아닌 항상 기본 응답에서 응답하는 것 같습니다. 바인딩 서버(9.7.x)에는 이러한 문제가 없습니다.

관련 정보