내 BIND9이 마스터로 관리하는 모든 도메인 이름을 어떻게 나열합니까?

내 BIND9이 마스터로 관리하는 모든 도메인 이름을 어떻게 나열합니까?

내 BIND9가 현재 내 마스터 DNS 서버에서 관리하는 도메인 이름의 전체 목록을 얻기 위해 실행할 수 있는 명령이 있는지 궁금합니다.

가정적으로 다음과 같은 것입니다.

named --list

그러면 현재 해당 마스터에 설정되어 있는 모든 영역의 이름이 모두 표시됩니다.


이제 묻는 이유는 내가 슬레이브 BIND9를 설정한 방식이 각 마스터 항목에 대해 새 항목을 추가하는 것이기 때문입니다. 예를 들어:

zone "example.app" {
    type slave;
    file "/var/cache/bind/example.app.zone";
    masters {  192.168.0.1;  };
    allow-transfer { none; };
};

이를 통해 내 슬레이브 BIND9가 마스터 BIND9에 정보를 요청할 수 있습니다. 작동하며 항목이 몇 개 있으면 찾을 수 있습니다. 50개가 훨씬 넘으면 지루할 뿐만 아니라 많은 실수를 저지르고 이는 해당 실수에 대한 두 번째 DNS가 없다는 것을 의미하며 두 번째 DNS가 누락되었다는 것을 아무 것도 알려주지 않습니다.

마스터가 관리하는 모든 도메인 이름이 슬레이브에 복제된다는 점에서 슬레이브를 설정하는 훨씬 더 좋은 방법이 있을 것이라고 생각합니다. 하지만 나는 내 노예가 다른 사람의 DNS를 관리하는 것을 원하지 않습니다. 따라서 내 마스터(예제에서는 192.168.0.1)만 변경하도록 허용하세요.

어느 쪽이든 괜찮을 것입니다. 물론 두 번째가 더 좋을 것입니다.

답변1

우선, 일반적으로 사이트의 가용성과 참조에 더 좋기 때문에 게시물당 하나의 질문만 합니다...

첫 번째 질문의 경우 현재 관리 중인 영역을 덤프하도록 바인드에 요청할 수 있습니다. dumpdb다음 명령을 참조하세요 rndc.

  dumpdb [-all|-cache|-zones|-adb|-bad|-fail] [view ...]
                Dump cache(s) to the dump file (named_dump.db).

그럼에도 불구하고:

  • 서버가 마스터인 영역만 덤프할지 확실하지 않습니다.
  • 기본적으로 영역 목록이 아니라 전체 덤프이기 때문에 출력을 구문 분석해야 합니다.

두 번째 질문에는 실제로 두 가지 가능성이 있습니다.

  1. Bind9가 이를 관리하기 위해 새로운 기능을 구현한 것 같습니다.http://ftp.isc.org/isc/bind9/cur/9.11/doc/arm/Bv9ARM.ch04.html#catz-info

  2. 마스터 구성에서 슬레이브 구성을 생성하는 스크립트를 작성하세요.

관련 정보