DHCP Relay sur interface PPPoE

octobre 02, 2013  |   Actualités,Blog   |     |   0 commentaire

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 ?)

ppoe-3

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.

 

Les commentaires sont fermés.