DHCP Relay sur interface PPPoE
Il est parfois utile de pouvoir configurer le DHCP Relay sur les interfaces afin de pouvoir transformer les requetes broadcast DHCP en unicast vers un serveur DHCP sur un autre réseau
Néanmoins, il est impossible de pouvoir trouver l’interface PPPoE dans la liste des interfaces à choisir via la commande sysconfig :
Relay via interfaces ('e' to exit): ------------------------------------------------------------------ 1) [_]Mgmt 2) [*]eth1 3) [*]eth2
Sachant que pour se faire, le DHCP relay doit être activé sur l’interface d’entrée & de sortie (Ne pas essayer de sélectionner l’interface Ethernet qui permet de lier physiquement avec le lien ISP, cela ne fonctionnera pas – en effet, c’est bien l’interface PPPoE qu’il aurait fallu spécifier … Sauf qu’elle ne se trouve pas dans la liste dû à un bug Checkpoint
Checkpoint référence un Bug (00601565) sur les versions R70.40 : https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&solutionid=sk44713&js_peid=P-114a7bc3b09-10006&partition=Advanced&product=IPS
Un Hotfix semble avoir été développé pour cette version (R70.40) – mais n’a visiblement pas été porté vers la version R75.30/40 SPLAT (Idem pour Gaia ?)
Il existe toutefois une solution de contournement :
Après tout, le “sysconfig” est un script qui exécute en background des commandes spécifiques
Cela est visible via la commande ps :
[Expert@FW-SOX]# ps -auxw | grep dhcr root 12766 0.0 0.0 1744 352 ? Ss Jul29 0:00 /usr/sbin/dhcrelay -i eth1 -i eth2 192.168.1.56 192.168.1.57
En démarrant le dhcp relay via la commande « dhcrelay » et en forçant le nom de l’interface PPPoE , les requêtes DHCP sont bien relayées « malgré le petit warning (pppoe0: unknown hardware address type 512) »
[Expert@FW-SOX]# dhcrelay -d -i eth2 -i pppoe0 192.168.1.56 192.168.1.57 Internet Software Consortium DHCP Relay Agent V3.0pl2 Copyright 1997-2000 Internet Software Consortium. All rights reserved. For info, please visit http://www.isc.org/products/DH CPpppoe0: unknown hardware address type 512 Listening on Socket/pppoe0 Sending on Socket/pppoe0 Listening on Socket/eth2 Sending on Socket/eth2 Sending on Socket/fallback forwarded BOOTREQUEST for 00:e0:4c:39:28:bf to 10.173.14.108 forwarded BOOTREQUEST for 00:e0:4c:39:28:bf to 10.173.14.107 forwarded BOOTREPLY for 00:e0:4c:39:28:bf to 255.255.255.255 forwarded BOOTREQUEST for 00:e0:4c:39:28:bf to 10.173.14.108 forwarded BOOTREQUEST for 00:e0:4c:39:28:bf to 10.173.14.107 forwarded BOOTREPLY for 00:e0:4c:39:28:bf to 255.255.255.255
Enfin, il ne faut pas oublier de mettre la commande au sein d’un script de démarrage pour s’assurer de la persistance au reboot (cf. https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&solutionid=sk39396)
Ajouter à la fin du fichier /etc/rc.local
#sleep 60 to wait for CheckPoint #to fully initialize on the interfaces sleep 60 dhcrelay -i eth2 -i pppoe0 192.168.1.56 192.168.1.57
/etc/rc.local est indépendant de l’OS sur lequel il tourne et toute modification effectuée dedans persistera au redémarrage et après un upgrade.
Ne pas oublier aussi de désactiver le DHCP Relay via la commande sysconfig pour ne pas avoir deux processus qui tournent.