Maneira automática para aumentar o número de série do arquivo de zona em um no BIND9

5

Eu tenho um servidor BIND9 com muitas zonas e preciso aumentar o número de série dos arquivos de zona em um. Algumas zonas estão usando o formato YYYYMMDDXX, mas outras zonas apenas o aumentam em um, já que elas são zonas dinâmicas do DNS, portanto, atualizá-las todas por um faria o trabalho por mim.

Existe uma maneira de fazer isso? Eu tentei com sed , mas falta conhecimento para fazer isso automaticamente.

    
por Vinícius Ferrão 30.07.2014 / 03:12

5 respostas

1

Se você está lidando com um evento único e precisa forçar uma transferência, então rndc retransfer é a ferramenta preferida para ignorar números de série e apenas fazê-lo. Essa abordagem não deve ser usada para o trabalho do dia a dia (ela elimina a precisão do número de série), mas às vezes a necessidade de trabalhar fora da banda é maior.

Um loop em torno do seguinte deve fazer o truque:
rndc -s ${someslave} -k ${yourkey} retransfer ${i}.example.com

(como uma nota lateral, esta também é a maneira preferida de corrigir um número de série quando é incrementado no futuro)

    
por 30.07.2014 / 04:10
1

Como o formato da zona de vinculação é bastante flexível, qualquer ferramenta simples de manipulação de texto pode ser um pouco perigosa.

Um método para atingir seu objetivo, pode ser ativar atualizações dinâmicas para todas as suas zonas, com acls limitando o acesso somente da máquina local. Em seguida, basta adicionar add e, em seguida, remover um registro temporário em cada zona com nsupdate. A ligação lidará com a atualização da série para você.

    
por 30.07.2014 / 03:20
0

Se o SOA de todos os domínios for o mesmo, basta colocar o SOA em um arquivo separado, db.soa ou algo assim, e incluí-lo em cada zona:

$INCLUDE db.soa

Dessa forma, há apenas um lugar para incrementar. Além disso, dependendo de como você está implementando tudo o que está fazendo, pode fazer mais sentido usar o tempo de época do UNIX como serial ao invés de incrementar um por vez. Você poderia criar um script, digamos, touch-zones.sh que sobrescreveria o arquivo db.soa e usaria o registro de data e hora unix atual na serial. todas as zonas, então, por inclusão, teriam suas séries incrementadas.

    
por 30.07.2014 / 04:01
0

Eu usei um utilitário chamado h2n para manipular os arquivos de zona do BIND. Eu aprendi pela primeira vez sobre o livro O'Reilly DNS e BIND. Você quer a opção "-y".

    
por 30.07.2014 / 06:10
0

Um bom tutorial sobre isso está em: link

Esta é também a maneira recomendada no DNS & Livro BIND (ed. 2006). O importante é entender que os números de série do DNS SOA "envolvem-se". Infelizmente, os números de série típicos YYYYMMDDXX quebram com atualizações dinâmicas e eu acho que seria melhor dispensar isso completamente, e usar números de série crescentes e manter arquivos de zona em controle de versão.

Para o problema específico em questão, acho que o maior desafio seria identificar o número que faria todas as zonas parecerem maiores e sincronizá-las com tudo isso.

Questões semelhantes no SX:

  1. Alterando o número de série do DNS para o passado
  2. link
por 22.10.2014 / 21:33