내 조직의 도메인 이름은 example.com 입니다. 조직의 이름 서버 이름은 ns1.example.com 및 ns2.example.com 입니다.
하위 도메인 project.example.com 의 관리자입니다 . 우리의 IP 주소 공간은 10.0.0.0/22 (10.0.0.0-10.0.3.255) 입니다.
기본 네임 서버 하나와 보조 네임 서버 하나 ( ns1.project.example.com (10.0.0.2) 및 ns2.project.example.com (10.0.1.2) )가 있습니다.
이 네임 서버는 Debian 9.5에서 실행중인 9.10.3 바인드됩니다.
이 영역을 구성했습니다 (권한을 갖거나 권한을 위임합니다).
- project.example.com
- 아파 르트 0.0.10.
- 1.0.10.in-addr.arpa
- 2.0.10.in-addr.arpa
- 3.0.10.in-addr.arpa
내 조직의 네임 서버는 project.example.com 네임 스페이스 내의 쿼리를 내 네임 서버로 전달 (대리하지 않음)합니다 .
내가 정식이 아닌, 위임하지 않고, 전달하지 않고, 캐시되지 않은 이름의 쿼리의 경우 "전달 만"모드를 사용하여 쿼리를 ns1.example.com / ns2.example.com 으로 전달합니다 .
네임 스페이스의 일부를 하위 도메인 sub.project.example.com 으로 분할했습니다 . 이 하위 도메인의 IP 주소 공간은 10.0.3.0/24 입니다.
sub.project.example.com의 이름 서버는 하나만 있습니다. 호스트 이름은 ns1.sub.project.example.com (10.0.3.2) 입니다.
이 네임 서버는 CentOS 7.3에서 실행되는 Bind 9.9.4입니다.
sub.project.example.com 내에서 정방향 조회 를 위해 ns1.sub.project.example.com (10.0.3.2)에 위임합니다 . 필요한 접착제 레코드가 있습니다.
3.0.10.in-addr.arpa 내에서 역방향 조회의 경우 ns1.sub.project.example.com (10.0.3.2)으로 전달합니다 (위임 아님) . 0.10.in-addr.arpa 제어하지 않기 때문에 위임 할 수 없습니다 .
문제
작동하지 않는 특별한 경우가 있습니다. 이 경우 기본 네임 서버를 종료하여 보조 네임 서버를 테스트 할 때 발생합니다 .
내 Windows 데스크탑 시스템 ( my-host.example.com) 에서 명령 프롬프트를 열었다 고 가정하십시오 . host-1.sub.project.example.com을 쿼리 할 수 없습니다 . 요청 시간이 초과되었습니다.
보조 네임 서버 ns2.project.example.com (10.0.1.2) 에서 tcpdump를 실행하면 ns1.example.com 에서 쿼리가 들어오는 것을 볼 수 있습니다 . 그러나이를 ns1.sub.project.example.com으로 위임하지 않고 ns1.example.com으로 다시 전달합니다 .
이 섹션의 시작 단락을 다시 말하면 기본 이름 서버 ns1.project.example.com (10.0.0.2) 이 실행중인 경우 쿼리가 성공합니다 . 기본 네임 서버가 다운되고 보조 네임 서버 ns2.project.example.com (10.0.1.2) 이 쿼리되면 이것이 실패 사례입니다.
구성 파일을 아래에 포함 시켰습니다.
이 문제를 어떻게 해결할 수 있습니까?
영역 구성 (NS 레코드)
; project.example.com
@ NS ns1
@ NS ns2
sub NS ns1.sub
; Forward 3.0.10.in-addr.arpa rather than delegate it
; We can't delegate since we don't own 0.10.in-addr.arpa.
; That's why the line below is commented out.
; 203.240.10.in-addr.arpa. NS centos-s1.ipa
; Glue record
ns1.sub A 10.0.3.2
project.example.com 기본 이름 서버 구성
controls {};
acl "internal-hosts" { 10.0.0/22; 127/8; };
acl "external-hosts" { 10/8; 192.168/16; 172.16/12; };
view "internal-view" {
match-clients { "internal-hosts"; };
zone "project.example.com" {
type master;
file "db.project.example.com_internalView";
forwarders { };
};
zone "0.0.10.in-addr.arpa" {
type master;
file "db.10.0.0";
forwarders { };
};
zone "1.0.10.in-addr.arpa" {
type master;
file "db.10.0.1";
forwarders { };
};
zone "2.0.10.in-addr.arpa" {
type master;
file "db.10.0.2";
forwarders { };
};
zone "3.0.10.in-addr.arpa" {
type forward;
forwarders { 10.0.3.2; };
};
// Internal-only zone
zone "31.172.in-addr.arpa" {
type master;
file "db.172.31";
forwarders { };
};
};
view "external-view" {
match-clients { "external-hosts"; };
zone "project.example.com" {
type master;
file "db.project.example.com_externalView";
forwarders { };
};
zone "0.0.10.in-addr.arpa" {
type master;
file "db.10.0.0";
forwarders { };
};
zone "1.0.10.in-addr.arpa" {
type master;
file "db.10.0.1";
forwarders { };
};
zone "2.0.10.in-addr.arpa" {
type master;
file "db.10.0.2";
forwarders { };
};
zone "3.0.10.in-addr.arpa" {
type forward;
forwarders { 10.0.3.2; };
};
};
project.example.com 보조 네임 서버 구성
controls {};
acl "internal-hosts" { 10.0.0/22; 127/8; };
acl "external-hosts" { 10/8; 192.168/16; 172.16/12; };
masters "my-master" { 10.0.0.2; };
view "internal-view" {
match-clients { "internal-hosts"; };
zone "project.example.com" {
type slave;
file "bak.project.example.com_internalView";
masters { my-master; };
forwarders { };
};
zone "0.0.10.in-addr.arpa" {
type slave;
file "bak.10.0.0";
masters { my-master; };
forwarders { };
};
zone "1.0.10.in-addr.arpa" {
type slave;
file "bak.10.0.1";
masters { my-master; };
forwarders { };
};
zone "2.0.10.in-addr.arpa" {
type slave;
file "bak.10.0.2";
masters { my-master; };
forwarders { };
};
zone "3.0.10.in-addr.arpa" {
type forward;
forwarders { 10.0.3.2; };
};
// Internal-only zone
zone "31.172.in-addr.arpa" {
type slave;
file "bak.172.31";
masters { my-master; };
forwarders { };
};
};
view "external-view" {
match-clients { "external-hosts"; };
zone "project.example.com" {
in-view "internal-view";
};
zone "0.0.10.in-addr.arpa" {
in-view "internal-view";
};
zone "1.0.10.in-addr.arpa" {
in-view "internal-view";
};
zone "2.0.10.in-addr.arpa" {
in-view "internal-view";
};
zone "3.0.10.in-addr.arpa" {
// in-view "internal-view";
type forward;
forwarders { 10.0.3.2; };
};
};