Bonjour Michel,
Bonjour à tous,
Le 06/11/2019 à 20:48, Michel Py a écrit :
Malheureusement je ne connais rien au Checkpoint, mais j'utilise
cette option (121) et çà marche impec avec des clients Windows.
On tient la solution. Le CheckPoint transmet bien l'option 121 dans sa
réponse DHCPACK. Par conséquent, la route statique est désormais bien
acquise par nos stations de travail. Le problème des paquets martiens
est résolu.
La difficulté était de découvrir la syntaxe à utiliser sur le
CheckPoint, pour y enregistrer cette route statique au format RFC3442.
Exemple:
route statique 192.168.37.0/24
passerelle 192.168.248.251
D'après la RFC3442, la valeur de l'option 121 doit être codée ainsi:
24 192 168 37 192 168 248 251
L'interface utilisateur web du CheckPoint semble offrir le choix entre
deux options, dans la fenêtre "DHCP Custom option":
- Hex String:
La valeur de l'option 121 doit alors être saisie en hexadecimal ; le
CheckPoint ne réalise aucune conversion et transmet les 8 octets en
l'état (moins leurs séparateurs) dans le corps du paquet DHCPACK:
saisi à la main:
18:C0:A8:25:C0:A8:F8:FB
envoyé par le CheckPoint:
18c0a825c0a8f8fb
Dans la saisie manuelle, le séparateur entre les octets est le
deux-points, et il n'y a pas de séparateur entre l'adresse de réseau et
celle de la passerelle.
- IP Address Array
La valeur de l'option 121 doit alors être saisie en base 10 classique,
et sera convertie par le CheckPoint en octets dans le corps du paquet
DHCPACK:
saisi à la main:
24.192.168.37,192.168.248.251
envoyé par le CheckPoint:
18c0a825c0a8f8fb
Dans la saisie manuelle, le séparateur entre les chiffres est le point
et le séparateur entre l'adresse de réseau et celle de la passerelle est
la virgule.
Dans tous les cas, le CheckPoint calcule lui-même la longueur de
l'option 121 (ici, huit octets, mais ça pourrait différer en fonction du
masque de réseau et du nombre de passerelles annoncées). Il ne faut pas
la saisir manuellement.
Comme pour l'oeuf de Christophe Colomb, rien de compliqué une fois qu'on
sait comment enregistrer ces valeurs dans l'interface du firewall. Le
problème, c'est le silence complet de la doc CheckPoint à ce sujet. Le
man de dhcpd-options fut mon ami:
https://linux.die.net/man/5/dhcpd-options
Ci-dessous, le DHCPdump qui confirme la présence de l'option 121 dans
les paquets DHCPACK émis par le CheckPoint:
OPTION: 57 ( 2) Maximum DHCP message size 1500
OPTION: 61 ( 7) Client-identifier 01:c8:2a:14:xx:xx:xx
OPTION: 50 ( 4) Request IP address 192.168.248.64
OPTION: 51 ( 4) IP address leasetime 7776000 (12w6d)
OPTION: 12 ( 15) Host name WorkStation
---------------------------------------------------------------------------
TIME: 2019-11-07 10:12:00.946
IP: 192.168.248.254 (0:1c:7f:xx:xx:xx) > 192.168.248.64
(c8:2a:14:xx:xx:xx)
OP: 2 (BOOTPREPLY)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 0
XID: 5c407f63
SECS: 0
FLAGS: 0
CIADDR: 0.0.0.0
YIADDR: 192.168.248.64
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: c8:2a:14:xxx:xx:xx:00:00:00:00:00:00:00:00:00:00
SNAME: .
FNAME: .
OPTION: 53 ( 1) DHCP message type 5 (DHCPACK)
OPTION: 54 ( 4) Server identifier 192.168.248.254
OPTION: 51 ( 4) IP address leasetime 921600 (1w3d16h)
OPTION: 1 ( 4) Subnet mask 255.255.255.0
OPTION: 121 ( 8) Classless Static Route 18c0a825c0a8f8fb ...%....
OPTION: 3 ( 4) Routers 192.168.248.254
OPTION: 6 ( 4) DNS server 192.168.248.254
---------------------------------------------------------------------------
En espérant que ça puisse aider quelqu'un d'autre.
--
Frederic Dumas
f.du...@ellis.siteparc.fr
Frederic Dumas a écrit :
Quelqu'un pourrait-il m'aider à encoder l'annonce d'une route statique
au format RFC3442 dans le "DHCP Custom option" du Checkpoint ?
---------------------------
Liste de diffusion du FRnOG
http://www.frnog.org/