Différences entre versions de « DHCP »

De The Linux Craftsman
Aller à la navigation Aller à la recherche
Ligne 102 : Ligne 102 :
 
Pour renforcer la sécurité, il faut ajouter une clé que l'on génère de la façon expliquée ([[DNS#Mise_.C3.A0_jour_s.C3.A9curis.C3.A9e|ici]]).
 
Pour renforcer la sécurité, il faut ajouter une clé que l'on génère de la façon expliquée ([[DNS#Mise_.C3.A0_jour_s.C3.A9curis.C3.A9e|ici]]).
  
Une fois cette clé générée, il faut la renseigner dans le fichier ''/etc/dhcp/dhcpd.conf avec les zones concernées par la mise à jour
+
Une fois cette clé générée, il faut la renseigner dans le fichier ''/etc/dhcp/dhcpd.conf avec les zones concernées par la mise à jour (au début du fichier)
  
 
<pre>
 
<pre>

Version du 28 décembre 2013 à 12:31

Client Serveur
Protocole udp udp
Port 67 68
Configuration Iptables X iptables -I INPUT 2 -p udp --dport 67 -j ACCEPT

Introduction

  • Dynamic Host Control Protocol (DHCP) est un protocole réseau ;
  • Défini dans la RFC1531 et présenté la première fois en 1993 ;
  • Son rôle est d'assurer la configuration automatique des paramètres IP d'une station ;
  • DHCP configure l'adresse IP et le masque de la station cliente mais peu également configurer sa passerelle par défaut ainsi que ses serveur DNS et NBNS (WINS).
  • DHCP est arrivé d'un problème : la conception d'IP suppose la configuration de chaque ordinateur connecté sur le réseau ;
  • Quasi impossible pour des réseaux de grande taille ;
  • Source d'erreur pour les FAI qui possèdent plus de clients que d'adresse IP publique.

Fonctionnement

L'ordinateur équipé d'une carte réseau mais dépourvu d'IP :

  1. Envoie par diffusion un datagramme DHCP DISCOVER sur le port 67 ;
  2. Tout serveur en mesure de répondre sur le réseau du client, envoie un datagramme DHCP OFFER en diffusion sur le port 68 et à destination du client (@MAC) ;
  3. Le client retient une des offres reçues, et diffuse un datagramme DHCP REQUEST comportant l'IP du serveur et l'IP retenue ;
  4. Le serveur DHCP envoie un datagramme DHCP ACK qui assigne au client l'adresse IP, le masque ainsi que la durée du bail pour cette adresse. C'est ce paquet qui contient les paramètres annexes comme la passerelle, les serveurs DNS, …

Installation

# yum -y install dhcp

Configuration du service

Le fichier de configuration du démon DHCP est : /etc/dhcp/dhcpd.conf

subnet 192.168.50.0 netmask 255.255.255.0 {
	# Ce serveur DHCP fait autorité pour ce sous-réseau
	authoritative;
	# Spécifie le routeur que le client prendra comme passerelle
	option routers 192.168.50.254;
	# Pas nécessaire si aucun découpage en sous-réseaux (dans la majorité des cas)
	option subnet-mask 255.255.0.0;
	# Le client prendra la chaîne comme suffixe DNS (eg. ping www au lieu de www.tala-informatique.fr)
	option domain-name "tala-informatique.fr";
	# Spécifie le serveur DNS du réseau
	option domain-name-servers 192.168.50.253;
	# Utilise cette portion d'IP pour l'attribution d'adresse
	# Cette plage doit exclure les adresses spécifiées plus bas pour les hôtes !
	range 192.168.50.10 192.168.50.50;

	# Durée de conservation du bail	
	default-lease-time 7200;
	max-lease-time 10800;

	# DHCP donnera le nom d'hôte (eg. tc1) à la machine
	use-host-decl-names on;

	host tc1 {
		hardware ethernet 00:80:64:1A:E9:14;
		fixed-address 192.168.50.1;
		# A mettre uniquement si l'option "use-host-decl-names" n'est pas explicitement spécifiée ou à "off"
		option host-name "tc1";
	}
}

Enregistrement dans le chargeur de démarrage

# chkconfig dhcpd on

Mise à jour du DNS

Il est possible de configurer dhcpd pour qu'il envoie des mises à jour à named

Pour cela, il faut ajouter les lignes suivantes:

ddns-update-style interim;
ignore client-updates;
ddns-domainname "tala-informatique.fr.";
ddns-rev-domainname "200.168.192.in-addr.arpa.";

La méthode interim est le standard. Le client peut demander au serveur DHCP de mettre à jour le serveur DNS en lui passant ses propres paramètres et le serveur est configuré pour honorer (allow client-updates) ou pas la demande du client (ignore client-updates)

ddns-domainname et ddns-rev-domainname permettent de spécifier au serveur DNS de quel zone il s'agit pour qu'il ajoute les enregistrement de type A et PTR dans les bons fichiers de zones.

Sécurisation de la mise à jour

Pour renforcer la sécurité, il faut ajouter une clé que l'on génère de la façon expliquée (ici).

Une fois cette clé générée, il faut la renseigner dans le fichier /etc/dhcp/dhcpd.conf avec les zones concernées par la mise à jour (au début du fichier)

key DHCP_DAEMON {
        algorithm hmac-md5;
        secret "m6y00sQNwZQkQKq92ODj/5iSGIejHKGuURLVxHDE/iM=";
}

zone tala-informatique.fr. {
  primary 192.168.200.253;
  key DHCP_DAEMON;
}

zone 200.168.192.in-addr.arpa. {
  primary 192.168.200.253;
  key DHCP_DAEMON;
}