Bind9 DNS 서버 구성을 어떻게 디버깅합니까? 전달자에게 요청을 보내지 않습니다. 설정을 끄려고했지만

VirtualBox Debian 호스트에 DNS Bind9 서버가 설치되어 있습니다. 동일한 네트워크의 다른 호스트는 이름 서버 주소가 IP_OF_MACHINE_WITH_BIND로 설정되어 있습니다. 이것은 얼마 동안 작동했습니다. 그런 다음 도메인 이름을 가상 호스트에 할당하기 위해 자체 로컬 영역을 만들려고했습니다. 하지만 잘못 설정했습니다. 이제 DNS 서버가 호스트를 확인하지 않습니다. named.conf.local에서 로컬 영역 설정을 끄려고했지만 도움이되지 않았습니다.

호스트가 DNS 서버로 보내는 요청은 실제로 도달합니다. 로그에서 이런 종류의 메시지를 볼 수 있습니다.

client IP_OF_PINGER#some_counter query: www.google.com IN A + (IP_OF_DNS_SERVER)

예, 물론 named.conf.options에 전달자 변수를 설정했습니다.

문제는 서버 구성을 디버깅하고 설정에 어떤 문제가 있는지 알아내는 방법을 제안 할 수 있습니까? 어떤 로그를 활성화하고 어떻게해야합니까? named.conf.options에 ‘전달자’라고 언급 된 서버가 요청을 공급자의 DNS 서버로 보내지 않는 이유를 어떻게 알 수 있습니까?



답변

구문 오류처럼 들립니다. 특별한 순서는 없습니다 :

1) named.conf 구문에 대해 named-checkconf를 실행하십시오. 버전에 따라 named.conf의 전체 경로를 제공해야 할 수도 있습니다.

named-checkconf /etc/bind/named.conf

힌트 : “named-checkconf -h”및 “man named-checkconf”는 추가 정보를 제공합니다.

이 도구는 논리 오류가 아닌 구문 오류 만 검사합니다.

2) 트래픽을 감지하고 쿼리가 실제로 업스트림 DNS 서버로 전달되는지 확인하십시오.

tcpdump -n -i eth0 host IP_of_Upstream_DNS

3) 모든 구성 파일을 검토하십시오. ” /etc/bind/named.conf “에는 일반적으로 ” named.conf.options “, ” named.conf.local “및 ” named.conf.default-zones “를 가리키는 ” include “문이 세 개 이상 있습니다. 전달자 설명은 ” named.conf.options “에 있으므로 주석 처리되지 않았는지 확인하십시오.

4) 다른 모든 방법이 실패하면 BIND 제거 / 다시 설치와 처음부터 다시 시작하십시오. 구성 파일을 편집하기 전에 백업하십시오. 점진적으로 변경하고 몇 번 변경 한 후에 작동을 점검하십시오.