10.4. Configuration d'un serveur DHCP Multi-hôtes
DHCP
multi-hôtes sert plusieurs réseaux, c'est-à-dire, plusieurs sous-réseaux. Les exemples dans les sections suivantes décrivent comment configurer un serveur DHCP
pour qu'il puisse desservir plusieurs réseaux, sélectionner les interface réseau à écouter, et comment définir les paramètres réseau pour les systèmes qui se déplacent entre les réseaux.
/etc/dhcp/dhcpd.conf
existant.
DHCP
n'écoutera que les interfaces pour lesquelles il pourra trouver une déclaration de sous-réseau dans le fichier /etc/dhcp/dhcpd.conf
.
/etc/dhcp/dhcpd.conf
, pour un serveur qui a deux interfaces de réseau, eth0 dans un réseau 10.0.0.0/24
et eth1 dans un réseau 172.16.0.0/24
. Plusieurs déclarations de sous-réseau
permettent de définir des paramètres différents pour plusieurs réseaux :
default-lease-time 600; max-lease-time 7200; subnet 10.0.0.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; option routers 10.0.0.1; range 10.0.0.5 10.0.0.15; } subnet 172.16.0.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; option routers 172.16.0.1; range 172.16.0.5 172.16.0.15; }
sous-réseau 10.0.0.0 masque réseau 255.255.255.0;
- Une déclaration de
sous-réseau
est obligatoire pour tout réseau que votre serveurDHCP
déssert. Plusieurs sous-réseaux nécessitent plusieurs déclarations desous-réseaux
. Si le serveurDHCP
n'a pas d'interface réseau faisant partie de la plage d'une déclaration desous-réseau
, le serveurDHCP
ne desservira pas de ce réseau.S'il n'y a qu'une déclaration desous-réseau
aucune interface de réseau qui se situe dans la plage de ce sous-réseau, le démonDHCP
échouera au démarrage, et une erreur sera journalisée dans le fichier/var/log/messages
:dhcpd: No subnet declaration for eth0 (0.0.0.0). dhcpd: ** Ignoring requests on eth0. If this is not what dhcpd: you want, please write a subnet declaration dhcpd: in your dhcpd.conf file for the network segment dhcpd: to which interface eth1 is attached. ** dhcpd: dhcpd: dhcpd: Not configured to listen on any interfaces!
option subnet-mask 255.255.255.0;
- L'option
option subnet-mask
définit un masque de sous-réseau, et remplace la valeur dumasque de réseau
dans la déclaration dusous-réseau
. Dans les cas simples, les valeurs du sous-réseau et du masque de réseau correspondent aux mêmes valeurs. option routers 10.0.0.1;
- L'option
option routers
définit la passerelle par défaut du sous-réseau. Cela est exigé pour que les systèmes puissent atteindre les réseaux internes sur un sous-réseau différent, ainsi que sur des réseaux externes. range 10.0.0.5 10.0.0.15;
- L'option
range
(plage) se réfère au pool d'adressesIP
disponibles. Une adresse faisant partie d'une plage de valeursIP
indiquée est assignée aux systèmes.
dhcpd.conf(5)
.
Avertissement
10.4.1. Configuration de l'hôte
/etc/dhcp/dhcpd.conf
et /etc/dhcp/dhcpd.conf
existants.
L'exemple /etc/dhcp/dhcpd.conf
suivant crée deux sous-réseaux et configure une adresse IP
pour le même système, selon le réseau auquel elle se connecte :
default-lease-time 600; max-lease-time 7200; subnet 10.0.0.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; option routers 10.0.0.1; range 10.0.0.5 10.0.0.15; } subnet 172.16.0.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; option routers 172.16.0.1; range 172.16.0.5 172.16.0.15; } host example0 { hardware ethernet 00:1A:6B:6A:2E:0B; fixed-address 10.0.0.20; } host example1 { hardware ethernet 00:1A:6B:6A:2E:0B; fixed-address 172.16.0.20; }
hôte example0
- La déclaration
host
définit des paramètres spécifiques pour un système unique, comme une adresseIP
. Pour configurer des paramètres spécifiques sur plusieurs hôtes, utiliser des déclarations d'hôte
.La plupart des clientsDHCP
ignorent le nom dans les déclarations d'hôte
, et à ce titre, ce nom peut être n'importe quoi, tant que c'est différent des autres déclarations d'hôte
. Pour configurer le même système sur des réseaux multiples, utilisez un nom différent pour chaque déclaration d'hôte
, sinon le démonDHCP
ne démarrera pas. Les systèmes sont identifiés par l'optionhardware ethernet
, et non pas le nom dans la déclaration del'hôte
. hardware ethernet 00:1A:6B:6A:2E:0B;
- L'option
hardware ethernet
identifie le système. Pour trouver cette adresse, exécuter la commandeip link
. fixed-address 10.0.0.20;
- L'option
fixed-address
assigne une adresseIP
au système spécifié par l'optionhardware ethernet
. Cette adresse doit se trouver en dehors de la plage d'adresssesIP
spécifiée par l'optionrange
.
option
ne se terminent pas par un point virgule, le démon DHCP
ne démarrera pas, et une errreur ressemblant à ce qui suit sera journalisée dans /var/log/messages
:
/etc/dhcp/dhcpd.conf line 20: semicolon expected. dhcpd: } dhcpd: ^ dhcpd: /etc/dhcp/dhcpd.conf line 38: unexpected end of file dhcpd: dhcpd: ^ dhcpd: Configuration file errors encountered -- exiting
Les déclarations suivantes d'hôte
configurent un système unique, qui possède plusieurs interfaces de réseau, pour que chaque interface reçoive la même adresse IP
. Cette configuration ne fonctionnera pas si les deux interfaces réseau sont connectées au même réseau en même temps :
host interface0 { hardware ethernet 00:1a:6b:6a:2e:0b; fixed-address 10.0.0.18; } host interface1 { hardware ethernet 00:1A:6B:6A:27:3A; fixed-address 10.0.0.18; }
interface0
est la première interface réseau, et interface1
est la seconde interface. Les différentes options hardware ethernet
identifient chaque interface.
hôte
, sans oublier :
- d'assigner une
fixed-address
valide au réseau auquel l'hôte se connecte. - de rendre le nom de déclaration d'
host
unique.
hôte
, le démon DHCP
ne démarre pas, et l'erreur suivante est journalisée dans /var/log/messages
:
dhcpd: /etc/dhcp/dhcpd.conf line 31: host interface0: already exists dhcpd: } dhcpd: ^ dhcpd: Configuration file errors encountered -- exiting
host interface0
définies dans /etc/dhcp/dhcpd.conf
.