Listando todas as zonas carregadas no BIND


13

Estou tentando migrar um servidor DNS que possui vários milhares de zonas carregadas nele. O arquivo named.conf tem cerca de 17 inclusões diferentes, e alguns desses arquivos também incluem, além de muitos comentários, etc. É uma bagunça!

Estou querendo obter uma lista de todas as zonas atualmente carregadas no BIND. Eu olhei para o rndc dumpdb, mas ele não me mostra apenas as zonas.

Em vez de seguir os arquivos de inclusão desarrumados, existe uma maneira mais fácil de obter uma lista das zonas autorizadas dentro do BIND? Obrigado!

Respostas:


15

Você pode executar rndc dumpdb -zonespara criar um arquivo chamado cache_dump.db . Este arquivo conterá todas as zonas autorizadas e será criado no diretório de dados do BIND.


Isso é o que eu pensei também, mas sua única me mostrando os dns reverso arpa zonas
DuPie

Eu verificaria os arquivos de log para obter mais informações. Se apenas as zonas ARPA reversas estiverem no arquivo de despejo, eu diria que apenas essas são carregadas no servidor DNS.
Vladimir Blaskov

1
Onde está o diretório de dados do BIND?
Qian Chen

É /var/namedou /var/named/chroot/var/named(se você estiver usando o chroot'BIND ed') na maioria das distribuições, mas sua milhagem pode variar dependendo da distribuição que você está usando.
Vladimir Blaskov

1
No Debian jessie, o arquivo terminou em /var/cache/bind/named_dump.db
Calimo 15/11

2

O rndc dumpdb confirmado é o melhor método.

No meu caso, descobri que havia duas instâncias de ligação separadas sendo executadas no mesmo servidor (não pergunte), uma fazendo DNS avançado e outra fazendo DNS reverso. Sem especificar o PID, ele anexava ao único que fazia DNS reverso e só me mostrou isso.


2

Se você quiser apenas imprimir a configuração (incluindo arquivos de inclusão) em sua forma canônica, basta ligar para:

named-checkconf -p(opcionalmente, -t /some/chroot/dirse BIND for executado chroot e a configuração precisar ser lida no diretório chroot)

Isso simplifica todos os arquivos incluídos, remove todos os comentários e formata tudo perfeitamente.

Embora a saída inclua zonas configuradas estaticamente, não listará zonas dinâmicas, como as adicionadas rndc addzone.


1

Adicionar -all faz o truque para mim (no Ubuntu Ubuntu 16.04.2 LTS (xenial))

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

1

Para versões mais recentes do BIND9, a partir de 9.12.0a1; há também named-checkconf -lque pode listar as zonas em um formato fácil, incluindo status e visualizações de mestre / escravo.

Exemplo:

$ 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

A seguir está o comando exato para listar as zonas que são carregadas durante a inicialização. Isso é testado no RHEL6.7 x86_64.

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

Exemplo:

[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
por favor explique mais.
Sven

Por favor, consulte a resposta editada.
precisa saber é o seguinte

0

Outra alternativa é usar bind'as próprias estatísticas de formato XML, se você tiver ativado statistics-channele estatísticas de zona ativadas (por exemplo, no global options { }). Este método também permite que você selecione / mostre facilmente visualizações, tipos de zonas e dados de zonas (por exemplo, número de série), bem como estatísticas por zona, é claro.

Usando wgete xml(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

O acima mostra uma lista de todos os domínios principais na exibição _default .

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

O exemplo acima mostra todas as zonas no formato CSV: zona, exibição, tipo, serial.

Para selecionar apenas uma vista e um tipo de zona específicos :

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

(Esse recurso de estatísticas está disponível desde o bind-9.6.0, dezembro de 2008. O /v3/formato usado acima está disponível apenas desde o bind-9.10, abril de 2014. O formato JSON também pode estar disponível, portanto, algo análogo deve ser possível jot.)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.