몇 년 후 저는 바인드 네임서버를 설정하는 방법을 다시 배우려고 노력하고 있습니다. GNS3를 사용하여 시뮬레이션된 로컬 LAN 및 ISP를 설정했습니다. DNS에 대한 내부 및 외부 보기가 있습니다. 영역 구성에 오류가 없으며 검증된 명명된 검사 영역의 로그에도 오류가 없습니다.
내 로컬 영역 외부의 도메인 이름을 확인할 수 없습니다. 내 로컬 테스트 상자에서 다음을 시도했습니다.
$ dig +trace ns1.comp2.org
; <<>> DiG 9.10.3-P4-Debian <<>> +trace ns1.comp2.org
;; global options: +cmd
. 3600000 IN NS ns1.isp1.org.
. 3600000 IN NS ns1.isp2.org.
couldn't get address for 'ns1.isp1.org': failure
couldn't get address for 'ns1.isp2.org': failure
dig: couldn't get address for 'ns1.isp1.org': no more
루트 프롬프트 파일(원본 파일의 형식을 복사합니다. 형식을 어떻게 지정해야 하는지 잘 모르겠습니다.):
. 3600000 IN NS ns1.isp1.org.
ns1.isp1.org. 3600000 A 1.0.0.14
. 3600000 IN NS ns1.isp2.org.
ns1.isp2.org. 3600000 A 2.0.0.14
이것은 데비안이므로 명명된.conf는 여러 파일로 분할됩니다.
.conf라는 이름:
//... (logging)
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
//include "/etc/bind/named.conf.default-zones";
및 명명된.conf.default-zones:
zone "." {
type hint;
file "/var/bind/db.root";
};
...
Named.conf.옵션:
options {
directory "/var/cache/bind";
...
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
이름 .conf.local:
view "internal" {
match-clients { 192.168.1.0/24; };
include "/etc/bind/named.conf.default-zones";
recursion yes;
zone "comp1-internal" {
type master;
file "/var/bind/db.comp1-internal";
allow-update { none; };
};
zone "1.168.192.in-addr.arpa" {
type master;
file "/var/bind/db.1.168.192";
allow-update { none; };
};
};
view "external" {
match-clients { "any"; };
include "/etc/bind/named.conf.default-zones";
recursion yes;
zone "comp1.org" {
type master;
file "/var/bind/db.comp1.org";
};
zone "16-31.0.0.1.in-addr.arpa" {
type master;
file "/var/bind/db.16-31.0.0.1";
allow-update { none; };
};
zone "16-31.0.0.2.in-addr.arpa" {
type slave;
file "/var/bind/db.16-31.0.0.2";
masters { 2.0.0.17; };
};
};
dig +trace는 루트 힌트 파일에서 일부 데이터가 반환되는 것을 보여주기 때문에 이것이 맞다고 생각합니다. 즉, 재귀적으로 검색을 시도했지만 루트 파일의 A 레코드를 읽지 않고 포기하는 것처럼 보입니다. 아직 단서를 찾기 위해 로그 파일을 살펴보는 중이에요. 현재 DNSSEC를 사용하고 있지 않습니다. 이것이 문제가 될 수 있습니까?