Modification de DHCP : Mise à jour dynamique du DNS

Attention : vous n’êtes pas connecté(e). Votre adresse IP sera visible de tout le monde si vous faites des modifications. Si vous vous connectez ou créez un compte, vos modifications seront attribuées à votre propre nom d’utilisateur(rice) et vous aurez d’autres avantages.

La modification peut être annulée. Veuillez vérifier les différences ci-dessous pour voir si c’est bien ce que vous voulez faire, puis publier ces changements pour finaliser l’annulation de cette modification.

Version actuelle Votre texte
Ligne 1 : Ligne 1 :
{{ArticleHead|Adadov}}
{{EnCours|auteur=Adadov}}
{{Auteur|Adadov}}
__TOC__
Le serveur DHCP est un élément indispensable de tout réseau informatique aujourd'hui. Il permet d'adresser dynamiquement tous les équipements actifs du réseau qui possèdent un client DHCP (en gros n'importe quel équipement de nos jours).
Le serveur DHCP est un élément indispensable de tout réseau informatique aujourd'hui. Il permet d'adresser dynamiquement tous les équipements actifs du réseau qui possèdent un client DHCP (en gros n'importe quel équipement de nos jours).


Ligne 20 : Ligne 22 :


Il faut aussi prendre en compte que le serveur DHCP ne fait pas la mise à jour du DNS pour les clients dont les IP sont réservées, il ne faudra donc pas oublier dans les procédures de mettre à jour manuellement le DNS pour ces machines lors de la création ou de la modification d'une attribution.
Il faut aussi prendre en compte que le serveur DHCP ne fait pas la mise à jour du DNS pour les clients dont les IP sont réservées, il ne faudra donc pas oublier dans les procédures de mettre à jour manuellement le DNS pour ces machines lors de la création ou de la modification d'une attribution.
Pour le moment les clients qui possèdent plusieurs interfaces sont gérés très difficilement, c'est à dire que seule la première interface qui fait sa requête DHCP obtiendra une entrée DNS, les autres obtiendront ... une erreur (et une IP). Il est prévu que dans de futurs versions ces cas soient gérés correctement.


== Création de la clé TSIG ==
== Création de la clé TSIG ==
Ligne 29 : Ligne 29 :
Pour la générer :
Pour la générer :


{{LxTerm|user=root|text=tsig-keygen -a hmac-sha512 DHCP_UPDATER}}
{{LxTerm|user=root|text=dnssec-keygen -a HMAC-MD5 -b 128 -n USER DHCP_UPDATER}}
{{AlTable
{{AlTable
|cols=2|row1header=yes|class=wikitable|fullwidth=yes
|cols=2|row1header=yes|class=wikitable|style=margin:15px auto
|col1align=center|col1width=175px
|col1align=center|col1width=175px
|col2width=450px|col2style=padding-left:10px
|col2width=250px|col2style=padding-left:10px
|style1.2=padding-left:0.2em
|style1.2=padding-left:0.2em
| Paramètre
| Paramètre
| Description
| Description
| '''-a''' hmac-sha512
| '''-a'''
| Algorithme à utiliser
| Algorithme à utiliser
| DHCP_UPDATER
| '''-b'''
| Taille de la clé
| '''-n'''
| Type de propriétaire
| '''DHCP_UPDATER'''
| Nom de la clé
| Nom de la clé
}}
}}
Ligne 47 : Ligne 51 :


Le fichier en ''.private'' se présente comme ceci :
Le fichier en ''.private'' se présente comme ceci :
<syntaxhighlight lang=text>
<file>
Private-key-format: v1.2
Private-key-format: v1.2
Algorithm: 157 (HMAC_SHA512)
Algorithm: 157 (HMAC_MD5)
Key: WoY0txiBiG+ZK22RjJN6AQ==
Key: WoY0txiBiG+ZK22RjJN6AQ==
Bits: AAA=
Bits: AAA=
</syntaxhighlight>
</file>


La ligne qui nous intéresse est celle qui commence par ''Key:'', la clé est tout le reste de la ligne.
La ligne qui nous intéresse est celle qui commence par ''Key:'', la clé est tout le reste de la ligne.


Et le bloc qui sera intégré dans la configuration se présente comme ceci :
Et le bloc qui sera intégré dans la configuration se présente comme ceci :
<syntaxhighlight lang=text>
<file>
key DHCP_UPDATER {
key DHCP_UPDATER {
algorithm HMAC-SHA512;
algorithm HMAC-MD5;
secret <LACLEVIENTICI>;
        secret <LACLEVIENTICI>;
};
};
</syntaxhighlight>
</file>


{{AlTable
== Configuration du serveur DHCP ==
|cols=2|row1header=yes|class=wikitable|fullwidth=yes
|col1align=center|col1width=175px
|col2width=450px|col2style=padding-left:10px
|style1.2=padding-left:0.2em
| Paramètre
| Description
| '''key''' DHCP_UPDATER
| Nom que l'on souhaite donner à la clé
| '''algorithm''' HMAC-SHA512
| C'est l'algorithme utilisé pour générer la clé
| '''secret''' <LACLEVIENTICI>
| C'est la clé
}}


== Configuration du serveur DHCP ==
Voici les parties qui nous intéressent dans le fichier de configuration du serveur DHCP {{fname|dhcpd.conf}} :


Voici les parties qui nous intéressent dans le fichier de configuration du serveur DHCP {{fname|dhcpd.conf}}
<file>
<syntaxhighlight lang=text>
key DHCP_UPDATER {
key DHCP_UPDATER {
algorithm HMAC-SHA512;
algorithm HMAC-MD5;
secret <LACLEVIENTICI>;
        secret <LACLEVIENTICI>;
};
};


subnet 192.168.0.0 netmask 255.255.255.0 {
subnet 192.168.0.0 netmask 255.255.255.0 {
[...]
[...]
domain-name "exemple.loc";
ddns-updates on;
ignore client-updates;
default-lease-time 86400;
}
ddns-update-style interim;
zone exemple.loc. {
primary 127.0.0.1;
key DHCP_UPDATER;
}
zone 0.168.192.in-addr.arpa. {
primary 127.0.0.1;
key DHCP_UPDATER;
}
</syntaxhighlight>
=== Paramètrage du subnet ===
Pour chaque subnet il va falloir configurer quelques informations, ce qui permet d'activer ou non les mises à jour dynamique en fonction du subnet.
<syntaxhighlight lang=text>
subnet 192.168.0.0 netmask 255.255.255.0 {
[...]
domain-name "exemple.loc";
ddns-updates on;
ddns-updates on;
ignore client-updates;
ignore client-updates;
default-lease-time 86400;
default-lease-time 86400;
}
}
</syntaxhighlight>
{{AlTable
|cols=2|row1header=yes|class=wikitable|fullwidth=yes
|col1align=center|col1width=175px
|col2width=450px|col2style=padding-left:10px
|style1.2=padding-left:0.2em
| Paramètre
| Description
| '''ddns-update''' yes
| Active la mise à jour dynamique du DNS pour les clients de ce subnet
| '''ignore''' client-updates
| Désactive la prise en compte des demandes de mise à jour faites par le client
| '''default-lease-time''' 86400
| C'est la durée par défaut du bail, elle n'est pas liée à la mise à jour dynamique mais nous sera utile pour le configuration du DNS
| '''domain-name''' exemple.loc
| Cette option n'est pas non plus liée à la mise à jour dynamique mais elle permettra de sélectionner la zone à mettre à jour
}}


=== Configuration de la mise à jour dynamique ===
<syntaxhighlight lang=text>
ddns-update-style interim;
ddns-update-style interim;
</syntaxhighlight>
{{AlTable
|cols=2|row1header=yes|class=wikitable|fullwidth=yes
|col1align=center|col1width=175px
|col2width=450px|col2style=padding-left:10px
|style1.2=padding-left:0.2em
| Paramètre
| Description
| '''ddns-update-style''' interim
| La seule valeur que prend ce paramètre est interim ou none, vous vous doutez bien que si vous choisissez none, aucune mise à jour ne sera faite.
}}
=== Configuration des zones ===


Pour finir il ne nous reste plus qu'à ajouter les informations pour joindre le serveur DNS de chaque zone à mettre à jour.
<syntaxhighlight lang=text>
zone exemple.loc. {
zone exemple.loc. {
primary 127.0.0.1;
primary 127.0.0.1;
Ligne 171 : Ligne 96 :
key DHCP_UPDATER;
key DHCP_UPDATER;
}
}
</syntaxhighlight>
</file>
 
{{AlTable
|cols=2|row1header=yes|class=wikitable|fullwidth=yes
|col1align=center|col1width=175px
|col2width=450px|col2style=padding-left:10px
|style1.2=padding-left:0.2em
| Paramètre
| Description
| '''zone''' exemple.loc.
| C'est le nom de la zone concernée au format DNS.
| '''primary''' 127.0.0.1
| C'est l'adresse IP du serveur DNS
| '''key''' DHCP_UPDATER
| C'est le nom du bloc qui contient la clé TSIG à utiliser, ici DHCP_UPDATER
}}


== Configuration du serveur DNS ==
== Configuration du serveur DNS ==


La mise à jour du DNS quant à elle, est bien plus simple et rapide. La seule chose qu'il faut faire c'est, pour chacune des zones que le DHCP devra mettre à jour, autoriser notre clé générée plus haut à mettre à jour.
[[Category:SysAdmin|DHCP]]
 
[[Category:Networking|DHCP]]
=== Ajout de la clé TSIG ===
 
Le bloc a ajouter dans la configuration est exactement le même que pour le DHCP, celui qui a eu cette idée est un génie !!
 
<syntaxhighlight lang=text>
key DHCP_UPDATER {
algorithm HMAC-SHA512;
secret <LACLEVIENTICI>;
};
</syntaxhighlight>
 
Pour plus d'infos reportez vous à la [[DHCP_:_Mise_à_jour_dynamique_du_DNS#Création_de_la_clé_TSIG|configuration du DHCP]].
 
=== Configuration des zones ===
 
{{Warn|On peut aussi utiliser des ACL pour les droits, mais on ne peut pas mélanger droits simples et ACL}}
 
<syntaxhighlight lang=text>
zone "exemple.loc" IN {
type master;
file "data/exemple.loc.zone";
allow-update { key DHCP_UPDATER; };
};
 
zone "0.168.192.in-addr.arpa" IN {
type master;
file "data/reverse.zone";
allow-update { key DHCP_UPDATER; };
};
</syntaxhighlight>
 
{{AlTable
|cols=2|row1header=yes|class=wikitable|fullwidth=yes
|col1align=center|col1width=175px
|col2width=450px|col2style=padding-left:10px
|style1.2=padding-left:0.2em
| Paramètre
| Description
| '''allow-update''' { key DHCP_UPDATER; }
| On spécifie qu'on autorise la mise à jour via une clé et le nom qu'on lui a donnée dans la configuration
}}
 
[[Catégorie:DHCP-DNS]]
Notez bien que toutes les contributions à Adadov.net wiki peuvent être modifiées, transformées ou supprimées par d’autres utilisateurs. Si vous ne désirez pas que vos écrits soient modifiés contre votre gré, merci de ne pas les soumettre ici.
Vous nous promettez aussi que vous avez écrit ceci vous-même ou que vous l’avez copié d’une source placée dans le domaine public ou d’une ressource libre similaire (voir AdadovNet:Copyrights pour plus de détails). N’utilisez aucun travail sous droits d’auteur sans autorisation expresse !
Annuler Aide pour la modification (s’ouvre dans une nouvelle fenêtre)