Lista de domínios no servidor DNS?

8

Existe uma maneira de obter uma lista completa dos registros A e CNAME no meu servidor BIND DNS?

Eu tenho acesso aos arquivos da zona. Mas no meu servidor existem muitos arquivos de zona e levaria muito tempo para revisar todos eles manualmente. Existe um comando que lista essas informações ou terei que escrever um script pessoalmente?

chroder
fonte
Ó não! Não é um script!
Womble

Respostas:

9

Em vez de usar grepem todos os arquivos de zona, use:

% rndc dumpdb -zones

Isso criará um dump dos dados oficiais do servidor chamados named_dump.db, provavelmente em /var/named/data(ou similar).

Esse arquivo é mais fácil de analisar do que os arquivos de zona originais, porque cada linha começa com o nome de domínio ao qual se aplica. Os arquivos da zona bruta provavelmente são abreviados.

Alnitak
fonte
2
Perfeito, é exatamente isso que eu precisava! Embora o arquivo tenha sido nomeado named_dump.db no meu caso. Obrigado :)
chroder
4
No Ubuntu, parece que acaba em/var/cache/bind/named_dump.db
m01 27/06
1

Do seu var/named/data(ou diretório equivalente) grep através dos arquivos db. * Com uma expressão regular apropriada, algo como:

grep '\(.  *A   *[0-9][0-9]*\)\|\(..*CNAME..*\)' db.*

Observe que o final 'db. * `Verifica todos os arquivos db. Repita o procedimento para todos os diretórios em que você possui arquivos de zona.

ConcernedOfTunbridgeWells
fonte
11
É para isso que serve o comando find! encontre / var / named / data -name 'db. *' -print0 | xargs -0 grep '...'
Chris Jester-Young
-2

para i na minha lista de domínios; dig -t axfr $ i @localhost; feito

É necessário permitir transferências de zona do host local primeiro.

dmourati
fonte