Bind9 슬레이브가 클라이언트 쿼리를 해결하지 못함

Bind9 슬레이브가 클라이언트 쿼리를 해결하지 못함

OpenSUSE 15를 실행하는 두 개의 VM(마스터 하나와 슬레이브 하나)이 있습니다.

마스터가 잘 실행 중이고 영역 파일을 슬레이브에 올바르게 전송하지만 마스터 서버에서 바인딩을 중지하면 슬레이브가 클라이언트에 응답해야 하지만 그렇지 않습니다. 슬레이브 서버만 DNS로 사용하여 두 개의 클라이언트를 구성했지만 작동하지 않습니다.

내가 도대체 ​​뭘 잘못하고있는 겁니까 ? 그건 그렇고, 내 학교 프로젝트의 테스트 환경입니다.

마스터 conf 파일:

# Config dnslinux.lab

zone "dnslinux.lab" {
        type master;
        file "/var/lib/named/dnslinux.db";
        allow-transfer { 192.168.88.131; };
        #allow-update { 192.168.88.131 ; };
        notify yes;
        also-notify { 192.168.88.131; };
};

# Config zone inverse

zone "88.168.192.in-addr.arpa" {
        type master;
        file "/var/lib/named/reverse.dnslinux.db";
        allow-transfer { 192.168.88.131; };
        #allow-update { 192.168.88.131 ; };
        notify yes;
        also-notify { 192.168.88.131; };
};

SLAVE CONF FILE(다른 방법으로 공유할 수 없음)

SLAVE CONF FILE(다른 방법으로 공유할 수 없음)

영역 파일 기본 파일

$TTL 10800

@       IN      SOA     ns1.dnslinux.lab. root.dnslinux.lab. (
                        2020012301 ; Serial
                        30 ; Refresh
                        10 ; Retry
                        1w ; Expire
                        1h ) ; Negative Cache TTL

@       IN      NS      ns1.dnslinux.lab.
@       IN      NS      ns2.dnslinux.lab.

; DNS Servers
ns1     IN      A       192.168.88.130
ns2     IN      A       192.168.88.131

; Machines 
docker  IN      A       192.168.88.128

리버스 존

$TTL 10800

@       IN      SOA     ns1.dnslinux.lab. root.dnslinux.lab. (
                        2020012301 ;
                        30 ;
                        10 ;
                        1w ;
                        1h ) ;

@       IN      NS      ns1.dnslinux.lab.
@       IN      NS      ns2.dnslinux.lab.


; DNS Servers
130     IN      PTR     ns1.dnslinux.lab.
131     IN      PTR     ns2.dnslinux.lab.

; Machines
128     IN      PTR     docker.dnslinux.lab.

여기에 처음으로 글을 올렸는데, 확실하지 않은 경우 알려주시기 바랍니다.

답변1

Docker VM에서 dig 명령을 실행할 때의 결과

[root@docker sysadmin]# dig @192.168.88.131 docker.dnslinux.lab

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> @192.168.88.131 docker.dnslinux.lab
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached
[root@docker sysadmin]# ping 192.168.88.131
PING 192.168.88.131 (192.168.88.131) 56(84) bytes of data.
64 bytes from 192.168.88.131: icmp_seq=1 ttl=64 time=0.399 ms
64 bytes from 192.168.88.131: icmp_seq=2 ttl=64 time=0.811 ms
64 bytes from 192.168.88.131: icmp_seq=3 ttl=64 time=0.302 ms
^C
--- 192.168.88.131 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 0.302/0.504/0.811/0.220 ms

또한 슬레이브에 연결할 수 있는지 확인하기 위해 ping을 테스트합니다.

Dig는 슬레이브 서버에서 직접 실행하면 작동합니다. 발굴 결과. 슬레이브의 resolv.conf 파일을 다음과 같이 구성했습니다.

domain dnslinux.lab
search dnslinux.lab
nameserver 127.0.0.1
nameserver 192.168.88.130

여기슬레이브 이름을 다시 시작할 때 얻는 로그는 다음과 같습니다.

편집: 문제를 해결했습니다. 공개 영역 네트워크의 방화벽 차단 포트 53이었습니다(내 VM 네트워크가 공개로 설정된 이유를 모르겠습니다). yast > 보안 및 사용자 > 방화벽 > 그런 다음 DNS를 추가합니다. 공개 프로토콜. dig @ip_slave_server client.namenmap을 설치하면서 내 실수를 발견했습니다 nmap -v -p 53 192.168.X.X.

관련 정보