Linux : comment forcer le renouvellement d’adresse IP DHCP avec dhclient ?
Sommaire
I. Présentation
Dans ce tutoriel, nous allons apprendre à utiliser la commande "dhclient" pour gérer la configuration IP dynamique d'une machine sous Linux. Nous prendrons l'exemple d'une machine sous Ubuntu, mais cela est valable pour d'autres distributions.
La carte réseau d'un ordinateur peut être configurée en adressage statique, c'est-à-dire avec une adresse IP fixe définie au niveau de la configuration de la machine, ou en adressage dynamique, où la configuration est obtenue via un serveur DHCP.
Ces paramètres reçus de la part du serveur DHCP sont associés à ce que l'on appelle un bail DHCP. La commande "dhclient" va permettre de gérer ce bail, notamment, car elle va permettre de libérer le bail et de renouveler un nouveau bail, c'est-à-dire une nouvelle configuration IP au serveur DHCP.
II. Utilisation de la commande dhclient
A. À savoir avant de commencer
Pour que la commande dhclient puisse être utilisée, la carte réseau doit être configurée en DHCP (configuration dynamique). Cela peut être configuré à partir du fichier "/etc/network/interfaces" ou d'un fichier de configuration de Netplan, selon comment est géré le réseau sur la machine.
À titre d'information, voici la configuration du fichier "/etc/netplan/01-network-manager-all.yaml" de Netplan sur Ubuntu :
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
ethernets:
ens33:
dhcp4: yes
Également à titre d'information, si vous passez par le fichier "/etc/network/interfaces", voici la configuration attendue :
auto ens33
iface ens33 inet dhcp
Relancez le service réseau sur votre machine (la commande est différente, selon si vous utilisez Netplan ou pas).
Vous devez également être vigilant sur les machines administrées à distance : le fait de libérer le bail DHCP va déconnecter la machine du réseau. Ainsi, si vous agissez sur un serveur à distance via SSH, par exemple, vous risquez de perdre la main.
B. Libérer le bail DHCP sous Linux
Si votre machine Linux dispose déjà d'une adresse IP obtenue par DHCP, vous pouvez libérer le bail et donc supprimer l'adresse IP de la carte réseau via cette commande :
sudo dhclient -r
Vous devez disposer d'un accès "sudo" (élévation de privilèges) ou d'un accès root en direct pour exécuter cette commande. Cette commande ne retourne aucun résultat dans la console.
Si vous avez besoin de spécifier une carte réseau spécifique, ce qui peut s'avérer utile si vous en avez plusieurs sur votre machine, utilisez cette commande (ici, on cible la carte "ens33") :
sudo dhclient -r ens33
C. Renouveler le bail DHCP sous Linux
Si vous désirez ensuite demander un nouveau bail DHCP, vous devez simplement exécuter cette commande :
sudo dhclient
Il n'est pas nécessaire de spécifier la moindre option. La machine va immédiatement envoyer des paquets sur le réseau pour tenter de localiser un serveur DHCP et obtenir une nouvelle adresse IP.
III. Conclusion
Voilà, grâce à la commande "dhclient", vous pouvez renouveler bail DHCP d'une machine sous Debian ou Ubuntu très simplement ! Une alternative consisterait à utiliser "nmcli" (NetworkManager) à la place de "dhclient", mais la méthode évoquée dans cet article est plus facile à retenir.
Enfin, si vous utilisez une machine Linux avec une interface graphique, vous pouvez tout simplement désactiver et réactiver l'interface réseau dans les paramètres réseau. Cela va permettre de renouveler le bail DHCP à partir de l'environnement de Bureau.
Ou alors tu vides le fichier de lease 😅
J’aimerais savoir plus et avoir plus de détails sur les explications.