Mise a jour dynamique d'une zone DNS

De Adadov.net wiki
Révision datée du 9 février 2023 à 20:35 par Adadov (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Ecrit Par : Adadov

Pour gérer facilement les zones DNSSEC, il est fortement conseillé d'utiliser la mise à jour dynamique afin que le système signe automatiquement les nouvelles entrées.
On va voir comment faire dans cette doc pour mettre en place la configuration nécessaire.

Générer les clés nécessaires aux mises à jours sécurisées

Warning : On ne génère plus les clés avec dnssec-keygen mais avec tsig-keygen.

Commencez par générer la clé:

[root@linux] # tsig-keygen -a hmac-sha512 key.reference.name. > /etc/named/key.reference.name.keydblclick to copy

Il n'y a rien de plus à faire pour cette partie là, le plus long fut de retrouver le bon utilitaire depuis le changement ...

Ajout de votre clé dans la configuration de Bind

Une fois votre clé en main (ou plutôt en fichier) il faut l'ajouter dans votre configuration avant de pouvoir l'autoriser.

Pour ça il suffit d'ajouter la directive suivante dans le fichier named.conf

include "/etc/named/key.reference.name.key";

Autoriser la mise à jour dynamique d'une zone (version simple)

Dans la version simple, il suffit d'ajouter une directive pour autoriser la mise à jour dynamique d'une zone, il faut utiliser la directive allow-update.

Elle peut être utilisée dans la configuration globale ou par zone suivant vos besoins.

Il suffit de placer la directive suivante à l'endroit voulu:

allow-update { key key.reference.name.key; };

Utilisation de nsupdate

Depuis une machine linux on peut tout simplement utiliser nsupdate pour envoyer facilement ses demandes de mise à jour au serveurs DNS


Une précision pour commencer, les mises à jour dynamique ne supportent que les ajouts et suppressions.

Il ne faudra donc pas oublier de supprimer un pointeur lors de la création du nouveau pour remplacer un pointeur.

La syntaxe est pratiquement toujours la même:

update <add|delete> <fqdn>. <ttl> <type> <contenu>

Par exemple, pour ajouter le pointeur A pour srv.example.com qui pointe vers 127.0.0.1:

update add srv.example.com. 3600 A 127.0.0.1

Les instructions peuvent être enchaînées (une par ligne) la dernière devant être "send" afin d'envoyer les instructions au serveur.

Dans certains cas il peut être nécessaire d'ajouter des informations avant, comme le serveur auquel adressé la requête.

Il faudra alors ajouter une ligne comme celle ci au début de notre requête:

server soa.example.com

Mise à jour en une commande

Voilà comment je fais mes mises à jour depuis ma ligne de commande:

[root@linux] # echo -e "server localhost\nupdate add srv.example.com. 3600 IN A 127.0.0.1\nsend\n" |nsupdate -k key.reference.keydblclick to copy