La Fibre
Datacenter et équipements réseaux => Routeurs => Remplacer la LiveBox par un routeur => Discussion démarrée par: unrealdtc le 07 septembre 2021 à 14:57:13
-
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'ONT
Je 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 OpnSense
VLAN :
- 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 OpnSense
tcpdump -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...
-
Je ne connais pas très bien Opnsense. J'ai l'intuition que le problème pourrait venir de l'option 61. Je ne sais pas si elle est indispensable, et si oui quand, où et comment, mais je te dirais de reprendre celle codé en hexa dans la capture faite depuis la Livebox et de la balancer dans la conf d'opnsense.
Sinon, si tu es sur du codage de ton identifiant, le problème pourrait également venir de la CoS, ou encore d'un problème de VLAN (globalement un problème de continuité sur le support Ethernet). En faisant une capture (fichier) sur l'interface WAN de Opnsense et en l'analysant avec Wireshark tu dois pouvoir vérifier ces élements.
Attention, si tu es client professionnel avec l'option IP Fixe, tu ne peux pas utiliser l'authentification en DHCP mais uniquement la PPPoE. Je ne pense pas que ça soit le cas, car j'ai cru comprendre que ta livebox fonctionne en DHCP sur l'infra Orange.
-
Attention, si tu es client professionnel avec l'option IP Fixe, tu ne peux pas utiliser l'authentification en DHCP mais uniquement la PPPoE. Je ne pense pas que ça soit le cas, car j'ai cru comprendre que ta livebox fonctionne en DHCP sur l'infra Orange.
Avec la LB5 c'est du DHCP pour l'IP fixe maintenant
-
Bonjour,
sur une Livebox Pro V3, en VDSL2, avec une IP Fixe, l'interface de la Livebox indique une connexion DHCP aussi.
(https://i.imgur.com/lWKvKL9.png)
-
Finalement, j'ai compris... Et c'est vraiment un truc de fou.
Je suis tombé sur ce lien qui explique qu'il y a deux façons de calculer la longueur de la chaîne :
https://kb.isc.org/docs/matching-user-class-option-77-from-rfc-3004-compliant-clients-in-isc-dhcp
Il s'avère que chez Orange, on ne suit pas la spec RFC, la preuve :
0x0170: 3d07 016c bab8 2d9d 684d 2a29 4653 5644 =..l..-.hM*)FSVD
Notez bien le ")" = 41 en ASCII décimal.
Dans tous les tutos, les gens envoient User-Class = "+FSVDSL_livebox.Internet.softathome.Livebox3" et je pense que personne ne s'est posée la question de ce "+" qui vient préfixer la chaîne. En fait c'est la longueur de la chaîne en ASCII décimal = 43.
Ayant capturé la vraie chaîne utilisée par ma box, j'ai voulu utiliser ceci, donc j'ai mis :
+FSVDSL_livebox.Internet.sagem.LiveboxPro3
Sauf que ce n'est pas la bonne longueur de chaine, qui est ")".
En gros, ce "+" qui traine c'est pour concourner l'incompatibilité entre le client DHCP ISC et l'infrastructure Orange qui ne suit pas la RFC !