Dynamic Host Configuration Protocol (DHCP)
Description
Dynamic Host Configuration Protocol (DHCP, protocole de configuration dynamique des hôtes) est un protocole réseau dont le rôle est d’assurer la configuration automatique des paramètres IP d’une station, notamment en lui affectant automatiquement une adresse IP et un masque de sous-réseau. Wikipédia
Cette configuration automatique est assurée par la communication entre la station et un serveur, appelé serveur DHCP, afin d'échanger toutes les informations nécessaires.
Lors de la connexion d'une machine utilisateur sur le réseau, le réseau s'authentifie auprès du radius, puis demande une adresse IP auprès du serveur DHCP. Celui-ci lui attribue une adresse IP. Une fois l'adresse obtenue, la machine peut envoyer des requêtes sur le réseau local, voire vers internet le cas échéant.
Approfondissement sur le processus d'attribution d'adresse IP
La station et le serveur DHCP échangent principalement 4 types de messages : DHCPDISCOVER, DHCPOFFER, DHCPREQUEST, DHCPACK.
- DHCPDISCOVER - Pour une machines configurée en attribution d'ip dynamique, celle-ci broadcaste une le fait qu'elle recherche une adresse IP. Dans ce message, la machine indique notament son adresse MAC.
- DHCPOFFER - Le DHCP regarde sa configuration, les leases (liste des adresses déjà attribuées par le serveur DHCP) et les informations du DHCPDISCOVER. Il détermine une adresse IP et broadcaste sa proposition d'adresse pour l'adresse mac de la machine demandeuse.
- DHCPREQUEST - La machine demande l'attribution d'une adresse IP. Cela vient soit après une DHCPOFFER, soit directement la machine est configurée en attribution d'adresse IP statique.
- DHCPACK - Le serveur DHCP valide la demande d'atribution d'adresse IP, et ajoute la machine considérée à sa liste de leases
Infrastructure
3 machines assurent le bon fonctionnement du service DHCP : Saymyname et Braum sur Brest et Loupiac sur Rennes. Pour assurer le service, chaque serveur contient un fichier de configuration et une liste de leases.
Failover
Il y a bien deux machines à Brest pour assurer la redondance du service. Saymyname occupe le rôle de DHCP primaire, depuis le pool d'hyperviseur principal au i11. Braum occupe le rôle de DHCP secondaire depuis l'hyperviseur de secours, Kyubey.
En fonctionnement normal, les deux serveurs se partagent les requêtes DHCP. C'est à dire qu'ils répondent chacun aux requêtes de certaines adresses MAC (et pas les mêmes). L'important quand on a deux serveurs DHCP, c'est qu'ils répondent exactement la même chose. C'est pourquoi il faut que la partie déclaration des réseaux dans le fichier de configuration doit être rigoureusement identique. Pour les IP non fixées dans la configuration (rien à voir avec le principe d'adresse IP dynamique), les deux serveurs en failover communiquent régulièrement pour être synchronisés. Pour les adresses IP fixées dans la configuration (ie celles associées à des adresses MAC dans la liste de hosts), le failover n'a pas d'utilité car les deux serveurs répondent de la même manière.
En fonctionnement anormal, ie quand l'un des deux serveurs tombe, le serveur toujours en marche prend le relais pour gérer toutes les requêtes DHCP envoyées sur le réseau.
Stack de tests
Il est conseillé (obligatoire) de tester une nouvelle configuration DHCP sur la stack de test avant de la déployer. Pour cela, il y a actuellement 3 machines virtuelles sur kyube :
- Bao le dhcp primaire
- Oba le dhcp secondaire
- Altair la machine de test
Utilisation
Configuration
Liens utiles
TODO
- Finir de compléter les parties
- Migrer les infos pour l'installation dans le repo dhcp-brest