DHCP Linux
Le service DHCP permet la configuration automatique des paramètres IP d’une machine, notamment en lui attribuant automatiquement une adresse IP et un masque de sous-réseau.
Connaitre les informations réseau
Avant d’installer le service DHCP, il faut configurer l’adresse IP de son serveur en IP fixe.
1. Pour lister vos interfaces réseaux et connaitre l’indentant de la carte à configurer, utilisez la commande ip a :
ip a
La console retourne votre configuration actuelle :
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether fa:fd:16:bd:36:82 brd ff:ff:ff:ff:ff:ff
altname enp0s18
inet 192.168.32.28/24 brd 129.2.255.255 scope global dynamic noprefixroute ens18
valid_lft 2628sec preferred_lft 2628sec
inet6 fe80::f8fd:16ff:febd:3682/64 scope link noprefixroute
valid_lft forever preferred_lft forever
Vous pouvez également lister vos interfaces réseau avec cette commande :
ls /sys/class/net
2. Pour connaitre la passerelle que la machine utilise, utliser la commande ip route :
ip route show
La console retourne votre configuration actuelle :
default via 129.2.30.31 dev ens18 proto dhcp metric 100
192.168.1.254/24 dev ens18 proto kernel scope link src 192.168.32.28 metric 100
3. Pour connaitre la passerelle que la machine utilise, regarder dans le fichier /etc/resolv.conf
cat /etc/resolv.conf
La console retourne votre configuration actuelle :
# Generated by NetworkManager
nameserver 8.8.8.8
nameserver 8.8.4.4
Configuration de l'interface réseau
Editez le fichier /etc/network/interfaces
nano /etc/network/interface
Le fichier doit ressembler à quelque chose comme ceci :
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
Information
Ici on peut voir notre interface réseau loopback qui est notre carte par défaut, si on à pas de réseau. Pour configurer son interface réseau il faut determiner le nom de celle ci (en général les carte filaires sont en eth0,1,2 ect et les cartes wifi sont en wlan0,1,2 etc).
Si vous n’avez aucune ligne pour votre interface réseau comme ici, il faudra rajouter ces lignes et adapter le nom de la carte réseau par la votre
allow-hotplug ens18
iface ens18 inet static
address 192.168.100.14/24
gateway 192.168.1.254
dns-nameservers 8.8.8.8 1.1.1.1
dns-domain domaine.local
Il est possible de mettre le masque sur une ligne à part comme ceci :
adress 192.168.100.14
netmask 255.255.255.0
Une fois le fichier fermé et enregistré, il faut relancer le service networking pour appliquer les changements :
systemctl restart networking.service
Il faudra également remonter votre interface réseau avec la commande ifup, adaptez à votre interface
ifdown ens18
ifup ens18
Parfois on peut avoir une erreur : « interface not configured » ou quelque chose du genre, on peut essayer de vider le cache de l’interface avant de la relancer
ip addr flush dev lo
Vos interfaces sont correctement configurées.
Installation du service DHCP
1. Installer le service isc-dhcp-server
apt install isc-dhcp-server
2. Editer le fichier /etc/default/isc-dhcp-server
nano /etc/default/isc-dhcp-server
3. Ajouter le nom de l’interface en bas du fichier à la ligne INTERFACESv4
INTERFACESv4="ens18"
INTERFACESv6=""
4. Pour configurer des étendues, il faut éditer le fichier /etc/dhcp/dhcpd.conf
nano /etc/dhcp/dhcpd.conf
5. Ajouter ces lignes en bas de fichier
# Etendue LAN
subnet 192.168.1.0 netmask 255.255.255.0 { # ADRESSE RESEAU + MASQUE
option routers 192.168.1.254; # PASSERELLE DE L'ETENDUE
range 192.168.1.100 192.168.1.200; # PLAGE D'ADRESSES A DISTRIBUER
}
6. Relancer le service dhcp pour prendre en compte les modifications
service isc-dhcp-server restart
Votre serveur DHCP est correctement configuré.