Como posso redefinir ou abaixar o serial usado no registro SOA do servidor DNS BIND?

9

Eu uso o BIND como meu servidor DNS em casa. Para meu Start Of Authority (registro SOA), eu sempre uso uma série no formato recomendado

AAAAMMDD ##

onde ##está o contador de alterações naquele dia.

Infelizmente mudei o serial e adicionei mais 1 dígito por engano. Depois de atualizar o nome-daemon, não consegui mais reverter isso.

Existe uma maneira possível de redefinir o serial / contador nas bibliotecas internas do BIND?

Mestre da Celebração
fonte
Encontrei uma solução em serverfault.com/questions/158021/…
Master of Celebration

Respostas:

8

As "bibliotecas internas do BIND" não se importam com o número de série. É apenas o acordo entre o servidor mestre e os servidores escravos que importa. Em outras palavras, o BIND permitirá que você diminua o número de série em um arquivo de zona sem reclamar. É apenas que os escravos não receberiam mais atualizações.

Os números de série do arquivo de zona são números inteiros de 32 bits sem sinal e envolvem o maior número inteiro sem sinal de 32 bits possível. Portanto, há uma maneira de diminuir o número de série, incrementando-o repetidamente até que ele role e se aproxime de zero. Há um valor máximo pelo qual você pode incrementá-lo por vez, portanto, você deve fazer isso iterativamente em várias etapas:

  • Aumente o número de série em um grande incremento, mas não mais que 2147483647
  • Aguarde que todos os servidores escravos atualizem e estejam atualizados com o SOA atual.
  • Repetir

Você sempre pode escolher um incremento para não precisar iterar mais de duas vezes.

Siga este HOWTO .

Celada
fonte
13

Se você tiver acesso shell a todos os servidores escravos, existe uma solução mais simples:

Para poder diminuir um número de série nos servidores escravos, você pode efetuar login no servidor escravo e executar rndc retransfer my.zone.name. Isso fará com que o escravo busque a zona do mestre e ignore completamente o número de série.

Patrick
fonte
2
Sim, bem, supondo que você tenha acesso a todos os servidores escravos ou então peça ao administrador de cada um para executar esse comando para você.
26412 Celada
11
Muito útil, tenha um voto positivo! Ainda assim, como a outra resposta não é desnecessária nem antiga, convém alterar sua primeira linha para algo como "Existe uma solução mais simples se você tiver acesso shell a todos os servidores escravos:".
Heinzi 16/01