10.3. Agent de relais DHCP
L'agent de relais DHCP (dhcrelay) permet de relayer les requêtes
DHCP
et BOOTP
d'un sous-réseau sans serveur DHCP
vers un ou plusieurs serveurs DHCP
sur d'autres sous-réseaux.
Lorsqu'un client
DHCP
demande des informations, l'agent de relais DHCP transfère la requête à la liste des serveurs DHCP
spécifiés lors du démarrage de l'agent de relais DHCP. Lorsqu'un serveur DHCP
renvoie une réponse, la réponse est diffusée sur le réseau ayant envoyé la requête d'origine.
L'agent de relais DHCP pour
IPv4
, dhcrelay, écoutes les demandes DHCPv4
et BOOTP
sur toutes les interfaces, sauf si les interfaces sont spécifiées dans /etc/sysconfig/dhcrelay
avec la directive INTERFACES
. Voir Section 10.3.1, « Configurer dhcrelay en tant qu'agent de relais DHCPv4 et BOOTP ». L'agent de relais DHCP pour IPv6
, dhcrelay6, n'a pas ce comportement par défaut et vous devez spécifier les interfaces pour écouter les requêtes DHCPv6
. Voir Section 10.3.2, « Configurer dhcrelay en tant qu'agent de relais DHCPv6 ».
dhcrelay peut être exécuté en tant qu'agent de relais
DHCPv4
et BOOTP
(par défaut) ou en tant qu'agent de relais DHCPv6
(avec l'argument -6
). Pour voir le message d'utilisation, exécutez la commande dhcrelay -h
.
10.3.1. Configurer dhcrelay en tant qu'agent de relais DHCPv4 et BOOTP
Pour exécuter dhcrelay en mode
DHCPv4
et BOOTP
, spécifier les serveurs dans lesquels vous souhaitez envoyer les demandes. Copier et éditer le fichier dhcrelay.service
en tant qu'utilisateur root
:
~]#cp /lib/systemd/system/dhcrelay.service /etc/systemd/system/
~]#vi /etc/systemd/system/dhcrelay.service
Modifiez l'option
ExecStart
sous la section [Service] et ajouter une ou plusieurs adresses IPv4
de serveur à la fin de la ligne, par exemple : ExecStart=/usr/sbin/dhcrelay -d --no-pid 192.168.1.1
Si vous souhaitez également spécifier des interfaces où l'agent de relais DHCP écoute les requêtes
DHCP
, ajoutez-les à l'option ExecStart
avec l'argument -i
(sinon, il écoutera toutes les interfaces), par exemple : ExecStart=/usr/sbin/dhcrelay -d --no-pid 192.168.1.1 -i em1. Pour les autres options, consulter la page man
dhcrelay(8)
.
Pour activer les changements, en tant qu'utilisateur
root
, démarrez le service à nouveau :
~]#systemctl --system daemon-reload
~]#systemctl restart dhcrelay
10.3.2. Configurer dhcrelay en tant qu'agent de relais DHCPv6
Pour exécuter dhcrelay en mode
DHCPv6
, ajouter l'argument -6
et indiquer « lower interface » (interface de niveau inférieur sur laquelle les requêtes vont être reçues des clients ou en provenance d'autres agents de relais) et « upper interface » (l'interface de niveau supérieur sur laquelle des requêtes des clients et d'autres agents de relais doivent être transférées). Copier dhcrelay.service
dans dhcrelay6.service
et modifiez-le en tant qu'utilisateur root
:
~]#cp /lib/systemd/system/dhcrelay.service /etc/systemd/system/dhcrelay6.service
~]#vi /etc/systemd/system/dhcrelay6.service
Modifiez l'option
ExecStart
sous la section [Service] Ajouter l'argument -6
et ajpouter les interfaces « lower interface » et « upper interface », par exemple : ExecStart=/usr/sbin/dhcrelay -d --no-pid -6 -l em1 -u em2. Pour obtenir des options supplémentaires, consulter la page man
dhcrelay(8)
.
Pour activer les changements, en tant qu'utilisateur
root
, démarrez le service à nouveau :
~]#systemctl --system daemon-reload
~]#systemctl restart dhcrelay6