BIND에로드 된 모든 영역 나열


13

수천 개의 영역이로드 된 DNS 서버를 마이그레이션하려고합니다. named.conf 파일에는 약 17 개의 서로 다른 포함이 있으며 그중 일부에는 포함되어 있으며 많은 주석 처리 등이 있습니다.

현재 BIND에로드 된 모든 영역의 목록을 얻고 싶습니다. rndc dumpdb를 보았지만 영역 만 표시하지는 않습니다.

지저분한 포함 파일을 따르는 대신 BIND 내에서 권한 부여 영역 목록을 얻는 쉬운 방법이 있습니까? 감사!

답변:


15

cache_dump.dbrndc dumpdb -zones 라는 파일을 작성하기 위해 실행할 수 있습니다 . 이 파일에는 모든 권한 영역이 포함되며 BIND의 데이터 디렉토리에 작성됩니다.


저도 그렇게 생각했지만 리버스 dns arpa
존만

자세한 내용은 로그 파일을 확인하십시오. 리버스 ARPA 영역 만 덤프 파일에 있으면이 영역 만 DNS 서버에로드된다고 말할 수 있습니다.
블라디미르 Blaskov

1
BIND의 데이터 디렉토리는 어디에 있습니까?
Qian Chen

그것은 하나의 /var/named/var/named/chroot/var/named(당신이 사용하는 경우 chroot대부분의 배포판에 '에드 BIND를)하지만 마일리지 사용중인 분포에 따라 달라질 수 있습니다.
Vladimir Blaskov

1
데비안 제시에서 파일은 /var/cache/bind/named_dump.db에서 종료되었습니다
Calimo

2

확인 된 rndc dumpdb가 가장 좋은 방법입니다.

필자의 경우 동일한 서버에서 2 개의 별도 바인드 인스턴스가 실행 중이라는 것을 알았습니다 (요청하지 않음). PID를 지정하지 않으면 역 dns 만하는 PID에 연결되어 있었고 나에게만 보여주었습니다.


2

구성 파일 (포함 파일 포함)을 표준 형식으로 인쇄하려면 다음을 호출하면됩니다.

named-checkconf -p(선택적으로 -t /some/chroot/dirBIND가 chrooted를 실행하고 chroot dir에서 구성을 읽어야하는 경우)

이렇게하면 모든 포함 파일이 평평 해지고 모든 주석이 제거되고 모든 것이 깔끔하게 포맷됩니다.

출력에는 정적으로 구성된 영역이 포함되지만로 추가 된 동적 영역은 나열되지 않습니다 rndc addzone.


1

-all을 추가 하면 트릭이 발생합니다 (Ubuntu Ubuntu 16.04.2 LTS (xenial))

sudo rndc dumpdb -all && cat /var/cache/bind/named_dump.db

1

9.12.0a1 기준으로 최신 버전의 BIND9; 또한 named-checkconf -l마스터 / 슬레이브 상태 및보기를 포함하여 영역을 쉬운 형식으로 나열 할 수 있습니다.

예:

$ sudo /usr/sbin/named-checkconf -l -t /chroot/bind/
example.com IN external master
otherdomain.com IN external slave
internal.example.com IN internal master
example.com IN internal in-view external
otherdomain.com IN internal in-view external

# this has 2 views: external, internal
# and 3 zones: example.com, otherdomain.com, internal.example.com
# the external view contains: example.com, and slaves otherdomain.com
# the internal view uses in-view statements to show
# the same version of external zones, plus contains a unique zone

0

다음은 시작 중에로드 된 영역을 나열하는 정확한 명령입니다. 이것은 RHEL6.7 x86_64에서 테스트되었습니다.

/usr/sbin/named-checkconf -z -t /var/named/chroot | grep loaded

예:

[root@dnsserver ~]# /usr/sbin/named-checkconf -z -t /var/named/chroot | grep loaded
zone 0.0.127.in-addr.arpa/IN: loaded serial 2008040700
zone 19.58.10.in-addr.arpa/IN: loaded serial 2008040701
zone 11.54.10.in-addr.arpa/IN: loaded serial 2008040700
zone example.com/IN: loaded serial 2008040702
zone ./IN: loaded serial 2008040700

2
더 설명 해주세요.
Sven

수정 된 답변을 참조하십시오.
Sasikumar K

0

또 다른 대안은 사용하는 것입니다 bind', 자신의 XML 형식으로 통계를 하면 당신이를 활성화 statistics-channel하고 (세계에서 예를 들어 존 통계를 사용할 수 있습니다 options { }). 이 방법을 사용하면 뷰, 구역 유형 및 구역 데이터 (예 : 일련 번호) 및 구역 별 통계를 쉽게 선택 / 표시 할 수 있습니다.

사용 wgetxml(xmlstarlet) :

wget -O - http://127.0.0.1:1080/xml/v3/zones | 
  xml select -I -t -m '/statistics/views/view[@name="_default"]/zones/zone[type="master"]' \
    -v @name -nl

위 의 _default 보기 에 모든 마스터 도메인 목록이 표시되어 있습니다.

wget ... |
  xml select -I -t -m '/statistics/views/view/zones/zone' \
   -v @name -o , -v ../../@name -o , -v type -o , -v serial -nl

위의 모든 영역은 영역,보기, 유형, 직렬 등 CSV 형식으로 표시됩니다.

특정 보기영역 유형 만 선택하려면 다음을 수행하십시오 .

 wget ... |
   xml select -I -t -m '/statistics/views/view[@name="_bind"]/zones/zone[type="builtin"]' \
     -v @name -nl

(이 통계 기능은 2008 년 12 월 bind-9.6.0 이후에 /v3/사용 가능합니다. 위에서 사용 된 형식은 2014 년 4 월 bind-9.10 이후에만 사용 가능합니다. JSON 형식도 사용 가능할 수 있으므로와 유사한 항목이 가능해야합니다 jot.)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.