
우리는 DNS를 처음 사용합니다. 기존 기본 서버(예:142.250.192.110)에 대해 Bind & CentOS를 사용하여 보조 DNS 서버를 구성하려고 합니다.
보조 서버 구성은 다음과 같습니다.
listen-on port 53 { 127.0.0.1; any; };
listen-on-v6 port 53 { ::1; any; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };
zone "example.com" IN {
type slave;
masters { 142.250.192.110; };
file "slaves/example.forward";
};
zone "192.250.142.in-addr.arpa" IN {
type slave;
masters { 142.250.192.110; };
file "slaves/example.reverse";
};
실행하면 dig @127.0.0.1 host1.example.com
적절한 응답을 받습니다. 로컬 IP(보조 서버)로 실행하면 dig @192.168.1.10 host1.example.com
제대로 응답을 받습니다.
하지만 보조 서버의 공용 IP/호스트 이름으로 명령을 실행하면 다음과 dig @dns2.example.com host1.example.com
같은 오류가 발생합니다 .;; connection timed out; no servers could be reached
이 문제를 해결하기 위한 도움을 제안해 주세요. 귀하의 귀중한 시간과 도움에 미리 감사드립니다.
일부 정보 및 문제 해결 세부정보(IP 및 호스트 이름이 원본이 아님):
기본 DNS: 142.250.192.110(dns1.example.com)
보조 DNS: 192.168.1.10(로컬 IP), 142.250.192.220(dns2.example.com)
nslookup dns2.example.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: dns2.example.com
Address: 142.250.192.220
dig @127.0.0.1 host1.example.com
- 성공
dig @192.168.1.10 host1.example.com
- 성공
dig @142.250.192.220 host1.example.com
- 실패했습니다.
dig @dns2.example.com host1.example.com
- 실패했습니다.
tcpdump패킷 전송을 보여줍니다. dig @127.0.0.1
및dig @192.168.1.10
. 하지만 쇼패킷 전송 없음, dig @142.250.192.220
및 dig @dns2.example.com
.
방화벽이 포트 53을 차단하고 있는지 확인하기 위해 tcpdump로 포트를 테스트했으며 tcpdump는 차단되었을 때 패킷 전송을 보여줍니다.telnet 142.250.192.220 53
메모:공인 IP로 NAT 로컬 IP를 수행하는 방화벽이 있습니다. 방화벽이 이 발굴 요청을 차단하고 있는지 여부에 대해 네트워크 팀의 답변을 기다리고 있습니다.
답변1
항상 두 서버의 로그를 확인하십시오. 슬레이브가 영역을 가져올 수 있는지 확인하십시오. 한 단계는 슬레이브 구성에서 마스터가 있는 dig @192.168.1.10 axfr example.com
슬레이브에서 수동으로 전송을 수행하는 것입니다 .@192.168.1.10
allow-transfer { };
슬레이브가 영역을 가져올 수 있도록 마스터에서 필요할 수 있습니다. 다시 말하지만, 이 모든 내용은 로그에 있습니다.
항상 로컬 액세스를 먼저 확인하세요. 서버가 제대로 수신하고 있는지 netstat -anp를 확인하고 로그를 다시 확인하십시오. 최후의 수단으로 tcpdump를 사용하여 어떤 패킷이 어디로 가는지, 응답이 있는지 확인하십시오.