BIND가 모든 요청을 포착하고 특정 NS 서버 세트와 특정 A 레코드를 가리 키도록 BIND를 설정하려고합니다.
약 500 개의 도메인이 있으며 하루 10-15 개의 비율로 새 도메인을 추가하고 있으므로 모든 도메인에 대해 명시 적으로 영역을 추가하고 싶지 않습니다.
내 현재 설정은 다음과 같습니다. named.conf에는 다음 영역이있는 외부 뷰라는 이름이 있습니다.
zone "." {
type master;
file "ext.zone";
};
이것은 모든 요청과 일치합니다.
내선 영역은 다음과 같습니다.
$ TTL 3600 @ IN SOA. root.nsdomain.com. ( 1 ; 연속물 3600; 새롭게 하다 300; 다시 해 보다 3600; 내쉬다 300); 네거티브 캐시 TTL IN NS ns1.example.com IN NS ns2.example.com 192.0.2.4의 ns1 192.0.2.5에서 ns2 *. 192.0.2.6에서
따라서 목표는 모든 NS 요청에 대해 return ns1.example.com
및 ns2.example.com
A를 제외한 모든 A 요청에 대해 ns1.example.com
또는 ns2.example.com
return 192.0.2.6
입니다. 대한 ns1.example.com
반환 192.0.2.4
을위한, ns2.example.com
반환 192.0.2.5
.
이것은 거의 작동하지만 유일한 문제는 발굴을 할 때 얻는 것입니다.
@localhost somedomain.example 파기 ; > DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_5.3> @localhost somedomain.example ; (1 개의 서버를 찾았습니다) ;; 글로벌 옵션 : printcmd ;; 답이있다 : ;; opcode : QUERY, 상태 : NOERROR, id : 37733 ;; 플래그 : qr aa rd; QUERY : 1, 답변 : 1, 권한 : 2, 추가 : 2 ;; 질문 섹션 : ; somedomain.example. 안에 ;; 답변 섹션 : somedomain.example. 32.0 IN A 192.0.2.6 // 예상대로 ;; 권위 섹션 : . 3600 IN NS ns1.example.com. // "."인지 모르겠습니다. 그러나 처음에는 나쁘다. . 3600 IN NS ns2.example.com. // 위 참조. ;; 추가 섹션 : ns1.example.com. 3600 IN A 192.0.2.6 // 예상되지 않음, 192.0.2.4 여야합니다. ns2.example.com. 3600 IN A 192.0.2.6 // 예상하지 못했습니다. 192.0.2.5 여야합니다.
이 문제를 어떻게 해결합니까? 내가 끔찍한 일을하고 있습니까? 더 좋은 방법이 있습니까?