DNS 서버 호스트 명령으로 BIND 거부됨

DNS 서버 호스트 명령으로 BIND 거부됨

내 호스트를 게이트웨이 역할도 하는 DNS 서버로 실행하려고 합니다.

내 거/etc/named.conf다음과 같이:

    options {
    directory "/var/named/";
    allow-query {127.0.0.1; 192.168.64.0/24;};
    forwarders { 192.168.48.2; };
};
zone "localhost" {
    type master;
    file "named.localhost";
};
zone "huh.dod" {
    type master;
    file "mydb-huh-dod";
};

내 거/var/named/mydb-huh-dod:

$TTL    3D
@       IN      SOA     host.huh.dod.      hostmaster.huh.dod.(
            2018042901       ; Serial
            8H      ; Refresh
            2H      ; Retry
            1W      ; Expire
            1D      ; Negative Cache TTL
);
@       IN      NS      host.huh.dod.
host    IN      A       192.168.64.1

내 호스트 이름을 호스트로 설정하고 다음을 통해 도메인 이름을 구성했습니다./etc/sysconfig/network-scripts/ifcfg-eth0파일 검색 매개변수:

DNS1="192.168.64.1"
IPADDR="192.168.48.10"
NETMASK="255.255.255.0"
GATEWAY="192.168.48.2"
SEARCH="huh.dod"

그래서/etc/resolv.conf좋다:

# Generated by NetworkManager
search huh.dod
nameserver 192.168.64.1

호스트 명령을 사용하려는 시도가 거부되었습니다.

host host
host.huh.dod has address 192.168.64.1
Host host.huh.dod not found: 5(REFUSED)
Host host.huh.dod not found: 5(REFUSED)


host host.huh.dod
host.huh.dod has address 192.168.64.1
Host host.huh.dod not found: 5(REFUSED)
Host host.huh.dod not found: 5(REFUSED)

문제가 무엇인지 잘 모르겠습니다.

어쩌면 내 iptables 방화벽과 관련이 있을까요?

산출netstat -anlp | 네트워크 통계 53 | grep 53 grep 듣기

tcp        0      0 192.168.64.1:53         0.0.0.0:*               LISTEN      942/named           
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      942/named           
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      942/named           
tcp6       0      0 ::1:953                 :::*                    LISTEN      942/named       

이름이 실행 중입니다.

답변1

대략적인 육안 검사에서는 부품이 options {}꽤 평범해 보입니다.

다음과 같은 지시문이 누락되었습니다 listen-on.

options {
   listen-on port 53 { 192.168.64.1; 127.0.0.1; };
    .....
};

이 지시어가 없으면 BIND는 예상되는 인터페이스를 수신하지 않습니다.

답변2

출력 에 따르면 netstatBIND는 IP 주소가 192.168.64.1인 호스트에서 실행 중입니다.

클라이언트 호스트(즉, 파일이 있는 호스트 ifcfg-eth0)에는

DNS1="192.168.64.1"
IPADDR="192.168.48.10"
NETMASK="255.255.255.0"
...

그러니까 DNS 서버 주소는 맞지만, 클라이언트 자체 주소는 192.168.48.10...구성 옵션의 값과 일치하지 않습니다 allow-query.

allow-query {127.0.0.1; 192.168.64.0/24;};

이 구성을 사용하면 192.168.64.1의 BIND는 192.168의 쿼리를 제외한 모든 쿼리를 거부합니다.64.* 네트워크 및 BIND 서버 호스트 자체. 클라이언트 주소 192.168.48.10은 지정된 네트워크 외부에 있으므로 당연히 거부됩니다.

이 특정 클라이언트가 192.168.64.* 네트워크 외부에서만 작동하도록 하려면 allow-queryBIND 구성의 다음 설정을 사용하면 됩니다.

allow-query { 127.0.0.1; 192.168.64.0/24; 192.168.48.10; };

또는 전체 192.168.48.* 네트워크에서도 액세스를 허용하려는 경우:

allow-query { 127.0.0.1; 192.168.64.0/24; 192.168.48.0/24; };

관련 정보