Bonjour,
Je rencontre des difficultés pour remplacer la Livebox Pro par un routeur OpnSense. J'ai bien suivi les différents guides concernant le paramétrage du client DHCP, mais malheureusement, le méchant serveur DHCP en face refuse de répondre !
Ci-dessous, les différents tests réalisés.
PC Linux en bridge placé entre la LB Pro et l'ONTJe capture ainsi une requête qui fonctionne parfaitement.
-3:-21:-52.540565 6c:ba:b8:2d:9d:68 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 440: vlan 832, p 6, ethertype IPv4, (tos 0xc0, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 422)
0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 6c:ba:b8:2d:9d:68, length 394, xid 0x2b5387, Flags [Broadcast] (0x8000)
Client-Ethernet-Address 6c:ba:b8:2d:9d:68
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Discover
Parameter-Request Option 55, length 12:
Subnet-Mask, BR, Default-Gateway, Domain-Name
Domain-Name-Server, Option 120, Lease-Time, RN
RB, AUTH, Option 119, Option 125
MSZ Option 57, length 2: 598
AUTH Option 90, length 70: 0.0.0.0.0.0.0.0.0.0.0.<snip>
Vendor-Class Option 60, length 5: "sagem"
Client-ID Option 61, length 7: ether 6c:ba:b8:2d:9d:68
User-Class Option 77, length 42:
instance#1: "FSVDSL_livebox.Internet.sagem.LiveboxPro3", length 41
END Option 255, length 0
Informations utiles :
- vlan = 832
- vlan priorité = 6
- Vendor-Class = sagem
- User-Class = FSVDSL_livebox.Internet.sagem.LiveboxPro3
- AUTH = 0.0.0.0.0.0.0.0.0.0.0.<snip>
Configuration OpnSenseVLAN :
- Interface : em1
- Tag : 832
- PCP : 0
Assignments :
- WAN : vlan 832 on em1 (Orange)
WAN (configuration DHCP) :
- MAC address : 6c:ba:b8:2d:9d:68 (probablement inutile, mais comme ça j'aurai tout essayé !)
- Send Options : dhcp-class-identifier "sagem",user-class "+FSVDSL_livebox.Internet.sagem.LiveboxPro3",option-90 00:00:00:00:00:00:00:00:00:00:00<snip>
- Request Options : subnet-mask,broadcast-address,routers,domain-name,domain-name-servers,option-120,dhcp-lease-time,dhcp-renewal-time,dhcp-rebinding-time,option-90,domain-search,option-125 (j'ai repris la liste de la capture, dans le même ordre)
- Option Modifiers : vlan-parent "em1", vlan-id 832, vlan-pcp 6
Pour l'option "user-class", j'ai essayé différentes combinaisons : avec le "+", sans...
Pour l'option-90, j'ai pris la liste décimale de la capture, et transformé en hexa :
for i in $(cat Option-90.txt | tr '.' ' '); do printf '%02x:' $i; done
Capture en sortie du routeur OpnSensetcpdump -i em1 -n -s0 -vvv -e
14:07:52.237174 6c:ba:b8:2d:9d:68 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 446: vlan 832, p 6, ethertype IPv4, (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 428)
0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 6c:ba:b8:2d:9d:68, length 400, xid 0xdc95f1d9, secs 7, Flags [none] (0x0000)
Client-Ethernet-Address 6c:ba:b8:2d:9d:68
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Discover
Vendor-Class Option 60, length 5: "sagem"
Client-ID Option 61, length 7: ether 6c:ba:b8:2d:9d:68
Hostname Option 12, length 8: "OPNsense"
Parameter-Request Option 55, length 12:
Subnet-Mask, BR, Default-Gateway, Domain-Name
Domain-Name-Server, Option 120, Lease-Time, RN
RB, AUTH, Option 119, Option 125
User-Class Option 77, length 42:
instance#1: ERROR: invalid option
AUTH Option 90, length 70: 0.0.0.0.0.0.0.0.0.0.0.<snip>
END Option 255, length 0
Remarques :
- Globalement, c'est très similaire
- OpnSense ajoute l'option Hostname
- AUTH est rigoureusement identique entre les deux captures
- Il y a une différence avec l'option User-Class (ERROR: invalid option) ; Internet dit que c'est parce qu'il y a plusieurs implémentations de la spécification. Je soupçonne que ce soit lui le souci, mais que faire ?
Et évidemment, aucune réponse du serveur DHCP, ce qui n'aide vraiment pas au diagnostic... Du coup, je commence à sécher.
En PPPoE (vlan 835) ça fonctionne par contre, mais réduction de MTU, ping plus élevé et aucune garantie que cela fonctionnera encore dans 2 ans...