DHCP: Dynamic Host Configuration Protocol
Le DHCP permet de fournir une configuration réseau aux machines du réseau. Les différentes trames DHCP sont:
DHCPDISCOVER — Localisation des serveurs DHCP et demande de configuration sur le port 67 en broadcast avec le contenu de son adresse MAX.
DHCPOFFER — Réponse du server DHCP qui contient les premiers paramètres sur le port 68.
DHCPREQUEST — Le client renvoie donc la première requête “dhcpoffer” qui lui est parvenu en disant les paramètres pris. Le server pourra donc considérer comme cette adresse prise.
DHCPDECLINE — Le server informe que la configuration IP est déjà prise.
DHCPACK - Le server renvoi la configuration qu’il peut maintenant utiliser et que le bail commence.
DHCPNAK — Le server renvoie une information au client pour lui dire que son bail est expiré.
DHCPRELEASE — Le client libère sa configuration IP
Exemple quand mon server TFTP demande une configuration:
Installation du server:
apt install isc-dhcp-server
On édite le fichier d’écoute des interfaces.
vim /etc/default/isc-dhcp-server
Remplir la directive INTERFACESv4 par le nom de votre carte réseau. Pour savoir le nom de votre carte réseau, vous pouvez la trouver en exécutant “ifconfig” qui se trouve dans le paquet “net-tools” ou utiliser ip ‑a
On édite le fichier de configuration principal.
vim /etc/dhcp/dhcpd.conf
Le remplir comme ceci pour configuration de base, modifié vos propres valeurs.
On redémarre le service
/etc/init.d/isc-dhcp-server restart
Et nos futurs machines recevront bien une adresse IP en commençant par l’adresse 192.168.43.200
Attribution d’IPs Statiques
Nous pouvons attribuer une IP statique à une machine en fonction de son adresse MAC.
Par hôte, il faut rajouter ces lignes:
host tftp-debian {
hardware ethernet 05:06:FF:D4:E3:BB;
fixed-address 192.168.1.10;
}
Ici, l’hôte tftp-debian qui contient l’adresse MAC 05:06:FF:D4:E3:BB recevra l’adresse 192.168.1.10 si il en fait la demande.
Nous pouvons donc éjecter toutes les personnes du réseau duquel les adresses MAC ne sont pas déclarées dans ce fichier en rajoutant la ligne:
deny unknow-clients;