Cours 2: DHCP & DNS
DHCP
Dynamic Host Configuration Protocol.
Configuration automatique des machines du réseau
- Attribuer une adresse IP
Mais aussi d’autres paramètres
- IP de la passerelle vers Internet
- IP d’un serveur DNS
- Nom de domaine local
- Le fuseau horaire
- IP d’un serveur d’impression
- Nom d’un serveur TFTP pour démarrage automatique PXE (installation automatique de machine)
- Serveur kickstart
- …
En général ces paramètres sont fixes (enregistrés en dur dans dhcpd.conf
)
Pour l’attribution d’IP par contre non :)
- Une IP piochée dans un pool d’adresses
- Avec un bail de durée limitée
Principe
- Le client envoie un
discover
en broadcast - Un serveur répond
- Le client lui demande une IP
- Le serveur confirme
Quid si le serveur DHCP tombe en panne ?
-> redonder avec un deuxième serveur
Attention: avoir des pools séparés
DNS
Domain Name System
Traduire les noms de domaine en adresses IP et inversement.
La traduction se fait de droite à gauche: pour fr.wikipedia.org.
- On demande à
.
le serveur DNS pour.org.
- On demande au serveur DNS de
.org
le serveur DNS pourwikipedia.org.
- On demande au serveur DNS de
wikipedia.org
l’adresse defr.wikipedia.org.
- Il répond
185.15.58.224
et2a02:ec80:600:ed1a::1
On en reparlera plus précisément en cours de réseau
Zone
Conséquence: pour notre domaine adsillh.local.
, on est responsable de résoudre tous les *.adsillh.local.
D’où notre fichier de zone adsillh.local
:
; date file for zone adsillh.local
$TTL 86400 ; 1 day
@ IN SOA adsillh.local. root.adsillh.local. (
2024090101 ; serial
10800 ; refresh (3 hours)
3600 ; retry (1 hour)
604800 ; expire (1 week)
38400 ; minimum (10 hours 40 minutes)
)
$TTL 3600 ; 1 hour
@ NS alma-server
alma-server A 192.168.56.10
Attention au serial
: il faut le mettre à jour quand on change la zone !
Après le SOA, une ligne = un enregistrement (record)
- Une traduction nom de domaine -> IPv4
alma-server A 192.168.56.10
- Une traduction nom de domaine -> IPv6
alma-server AAAA fec0::1
- Un alias (appelé Canonical Name)
myserver CNAME alma-server
- L’adresse d’un serveur de mail pour le domaine
@ MX 10 alma-server
Nota:
@
désigne la zone elle-même (iciadsillh.local.
donc)- Un
.
à la fin indique que le nom de domaine est complet (plutôt que un sous-domaine de la zone courante):truc.bidule
désignetruc.bidule.adsillh.local.
truc.bidule.
désignetruc.bidule.
Avez-vous pensé à mettre à jour le serial
?
Il y a des tas d’autres types d’enregistrements:
- La position géographique
alma-server LOC 44 52 N 0 33 W 20m
- Le serveur DNS pour un sous-domaine
perso NS ns.perso
- Le type SPF pour la validation des mails (on en reparle plus tard)
@ SPF "v=spf1 a -all"
Au fait, je vous ai parlé du champ serial
?
- Le type TXT, complètement fourre-tout.
@ TXT "printer=lpr5"
Tous les admins ont un jour oublié de mettre à jour le champ serial
.
Un exemple
@ NS alma-server
@ MX 10 alma-server2
alma-server A 192.168.56.10
alma-server AAAA fec0::10
alma-server2 A 192.168.56.11
alma-server2 AAAA fec0::11
webmail CNAME mail-server2
Zone inverse
On est aussi responsable de la traduction d’IP en nom de domaine.
On renseigne la résolution dans le domaine dédié in-addr.arpa.
On fait aussi la résolution de droite à gauche (du plus général au plus spécifique)
-> il faut retourner l’adresse IP !
-> pour 192.168.56.10
il faut renseigner 10.56.168.192.in-addr.arpa.
Dans notre cas en TP on a configuré une zone 56.168.192.in-addr.arpa.
, et l’on a mis les enregistrements
$TTL 86400 ; 1 day
@ IN SOA adsillh.local. root.adsillh.local. (
14 ; serial
10800 ; refresh (3 hours)
3600 ; retry (1 hour)
604800 ; expire (1 week)
38400 ; minimum (10 hours 40 minutes)
)
$TTL 3600 ; 1 hour
@ NS alma-server.adsillh.local.
10 PTR alma-server.adsillh.local.
11 PTR alma-server2.adsillh.local.
Là aussi il faut mettre à jour le serial
quand on modifie la zone.
TTL, mise à jour, propagation
TTL
$TTL
(Time To Live) indique la durée de vie des enregistrements, en secondes.
Pour que votre serveur DNS ne soit pas interrogé en permanence, les clients DNS gardent en cache l’information pendant la durée du TTL
TTL grand = DNS moins chargé.
TTL grand = si on change un enregistrement, les clients DNS vont quand même encore garder l’ancien enregistrement pendant longtemps.
Mise à jour
-> Si on prévoit de migrer un site web vers un autre serveur, commencer par diminuer le TTL.
-> Le jour où l’on fait la migration, les clients basculeront progressivement pendant le temps de la TTL.
Nouveau nom de domaine
Si on ajoute un nouveau nom de domaine, tester d’abord en interrogeant directement son DNS.
Si on teste via un cache DNS et que l’on s’était trompé, ce cache va rester “pollué” avec la mauvaise réponse pendant tout le temps du TTL.
propagation
L’information DNS ne se “propage” pas sur Internet: l’information DNS se périme toute seule au bout du TTL.
Quid si le serveur DNS tombe en panne ?
Utiliser un Maître et un ou plusieurs Esclaves
- On configure sur le maître
- Le maître envoie la nouvelle configuration aux esclaves
- Les deux peuvent répondre
Avez-vous pensé à mettre à jour le serial
? Sinon les esclaves ne seront pas mis à jour.
DHCP + DNS
Mettre à jour DNS avec la bonne IP est un peu fastidieux.
Quand une machine obtient une IP dynamiquement, il faut mettre à jour le DNS dynamiquement !
-> DHCP notifie DNS des baux