Incrémentation du serial d'une zone

Au lieu de mettre le serial de la forme YYYYMMDDxx, un moment d’égarement et hop.. je suis en 2008200501.

Impossible de base de revenir en 2008090300 car ce serial qui a pourtant la forme souhaitée est inférieur au précédent.
Le serial n’étant pas incrémenté, il ne sera pas pris en compte par les slaves.

L’occasion de tester la méthode suivante…

  • Explication / Solution:

Les numéros peuvent aller jusqu’a 2^32 -1 soit 4 294 967 295.
Mais le chiffre après 4 294 967 295, c’est 0. (En fait il faut voir cela comme une roue).

Donc pour tout serial de départ, il y a la moitié des autres possibilités qui sont considérées comme “supérieures” et l’autre moitié “inférieures”.
4 294 967 295 / 2 = 2147483647.5

Donc si j’ai mon serial à 2008200501:
De 2 008 200 502 à 4 155 684 148 -> cette nouvelle valeur sera “supérieure”
De 4 155 684 149 à 4 294 967 295 et de 0 à 2 008 200 500 -> cette nouvelle valeur sera “inférieure”

Donc avec mon 2 008 090 300 du jour, je serais inférieur..logique..(c’est bien le problème..) tout comme je le serais également avec la valeur 4 294 967 295..moins logique…

Oui, on a donc 4 155 684 148 qui est supérieur à 4 155 684 149 au sens des serials d’une zone !!

Bref en mettant mon nouveau serial à 4 155 684 148 (max) il sera pris par les slaves car supérieur… Puis en le remettant dans la foulée à 2 008 090 300 (date du jour), il sera a nouveau considéré comme supérieur et pris à nouveau en compte. Ouf.

  • Divers

Extrait de la RFC 1982:

The DNS SOA serial number

The serial number in the DNS SOA Resource Record is a Serial Number
as defined above, with SERIAL_BITS being 32. That is, the serial
number is a non negative integer with values taken from the range
[0 .. 4294967295]. That is, a 32 bit unsigned integer.

The maximum defined increment is 2147483647 (2^31 - 1).

Note: Si on supprime le fichier de zone des slaves, forcément ils vont le reprendre quelquesoit le numéro.. mais on a pas toujours la main sur les slaves..

Vus : 9
Publié par Uggy : 252