Auteur Sujet: [OPNsense + LEOX + Orange] Connexion IPv4 instable / pertes de connexion sur VLA  (Lu 112 fois)

0 Membres et 2 Invités sur ce sujet

jojo86

  • Abonné Orange Fibre
  • *
  • Messages: 44
  • Chatellerault (86)
Orange FTTH + OPNsense + LEOX : connexion IPv4 instable / pertes de connexion

Bonjour,

Je cherche à remplacer ma Livebox S Orange par un OPNsense + ONT LEOX LXT-010H-D.

J'arrive bien à obtenir une connexion Orange avec cette configuration, mais celle-ci est très instable.

Selon les essais :

- OPNsense obtient correctement un bail DHCP Orange et Internet peut fonctionner ;
- la connexion peut ensuite tomber après quelques minutes ;
- lors de certaines relances du WAN, dhclient termine en TIMEOUT / FAIL ;
- lors d'autres essais, Orange renvoie bien un DHCP ACK, OPNsense configure correctement l'IPv4 publique et la gateway, mais aucun trafic Internet ne passe ensuite.

Le problème n'est donc pas simplement "je n'arrive pas à obtenir un bail DHCP".

Cette configuration a déjà réellement permis d'accéder à Internet, mais la connexion ne reste pas stable et son rétablissement est aléatoire.

Je détaille ci-dessous toute ma configuration et les vérifications déjà effectuées pour éviter de repartir de zéro.


1 - Matériel / environnement

- Abonnement : Orange FTTH
- Livebox : Livebox S Arcadyan
- identification logicielle : LiveboxNautilus
- routeur : OPNsense
- version actuelle : 26.7.3_11
- ONT : LEOX LXT-010H-D
- WAN physique OPNsense : igc0
- lien Ethernet LEOX <-> OPNsense : 2.5 Gb/s Full Duplex
- WAN logique OPNsense : vlan0.832

Côté GPON/LEOX :

- ONU correctement enregistré
- état GPON : O5 / Operation
- OLT identifié via OMCI : ALCL
- numéro GPON et informations nécessaires configurés dans le LEOX

Je masque volontairement ici le GPON_SN et les autres identifiants propres à mon accès.

La Livebox fonctionne normalement sur cette même ligne.

Je l'ai d'ailleurs reconnectée récemment pour donner temporairement accès à Internet à OPNsense afin de le mettre à jour de mon ancienne version 24.7 jusqu'en 26.7.3_11.

Le problème est revenu lorsque j'ai remis le LEOX + OPNsense.


2 - Configuration VLAN

Le WAN Orange est configuré sur :

Interface physique : igc0
VLAN : 832
Interface : vlan0.832

Le VLAN lui-même reste en PCP 0 :

vlan: 832
vlanproto: 802.1q
vlanpcp: 0
parent interface: igc0

Je n'applique donc PAS une priorité 6 à tout le trafic du VLAN.

La CoS 6 est appliquée spécifiquement au DHCP via le paramètre avancé du client DHCP OPNsense :

Use VLAN priority = Internetwork Control (6)


3 - MAC WAN

La MAC de la Livebox est clonée sur le WAN OPNsense.

XX:XX:XX:XX:XX:XX

Le dhcp-client-identifier utilise également cette MAC.


4 - Configuration DHCPv4 / Send Options

Le WAN est configuré en DHCP IPv4.

Mes Send Options sont :

dhcp-class-identifier "arcadyan",user-class "2FSVDSL_livebox.Internet.softathome.LiveboxNautilus",option-90 [OPTION90_ANONYMISEE],dhcp-client-identifier 01:XX:XX:XX:XX:XX:XX

Soit :

Option 60 / Vendor Class :

arcadyan

Option 77 / User Class :

2FSVDSL_livebox.Internet.softathome.LiveboxNautilus

Option 90 :

[VALEUR RECUPEREE DE LA LIVEBOX - ANONYMISEE]

Option 61 / Client ID :

01:[MAC_LIVEBOX]

Concernant le "2" placé devant FSVDSL dans la configuration OPNsense :

j'ai vérifié le paquet réellement généré avec tcpdump.

Il produit bien :

User-Class (77), length 51:
instance#1: "FSVDSL_livebox.Internet.softathome.LiveboxNautilus", length 50

Le "2" sert donc bien à produire la longueur de l'instance RFC3004 et ne se retrouve pas dans la chaîne envoyée comme faisant partie de "FSVDSL...".


5 - DHCPv4 / Request Options

J'utilise actuellement :

subnet-mask,broadcast-address,dhcp-lease-time,dhcp-renewal-time,dhcp-rebinding-time,domain-search,routers,domain-name-servers,option-90,domain-name,option-120,option-125

C'est notamment un des points sur lesquels je souhaiterais votre avis.

Je me demande s'il est préférable de conserver cette liste ou d'utiliser une liste plus minimale.


6 - Vérification réelle de la CoS 6

Je n'ai pas seulement vérifié le réglage dans l'interface graphique.

La règle PF générée par OPNsense contient bien :

pass out log quick on vlan0.832 proto udp from any port = bootpc to any port = bootps set ( prio 6 ) keep state

Et tcpdump directement sur igc0 confirme que les requêtes DHCP sortent réellement en :

ethertype 802.1Q
vlan 832
p 6

0.0.0.0.68 > 255.255.255.255.67
BOOTP/DHCP Request

Donc :

DHCP sortant = VLAN 832 / PCP 6


7 - Orange accepte bien l'authentification DHCP

C'est ce qui rend le problème difficile à comprendre.

Lors d'un de mes derniers essais, tcpdump montre :

OPNsense -> Orange
DHCP Request
VLAN 832 / PCP 6

Orange -> OPNsense
DHCP ACK
VLAN 832 / PCP 3

Extrait anonymisé du DHCP ACK :

DHCP-Message (53): ACK
Your-IP: XX.XX.XX.XX
Server-ID: 80.10.X.X
Lease-Time: 259200
Subnet-Mask: 255.255.248.0
Broadcast: XX.XX.XX.255
Default-Gateway: XX.XX.XX.1
Domain-Name-Server: DNS_ORANGE_1, DNS_ORANGE_2
Client-ID: ether XX:XX:XX:XX:XX:XX

Le bail est donc bien délivré par Orange.

Dans mon cas :

Lease-Time : 259200
Renewal-Time : 85536
Rebinding-Time : 207360

Orange renvoie également les options 90, 125 et 119.


8 - OPNsense applique correctement le bail

Après réception de l'ACK, ifconfig montre bien :

vlan0.832:
flags=<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP>
mtu 1520

inet XX.XX.XX.XX
netmask 0xfffff800
broadcast XX.XX.XX.255

vlan: 832
vlanpcp: 0
parent interface: igc0

media: Ethernet autoselect (2500Base-T <full-duplex>)
status: active

La route par défaut est également présente :

default    XX.XX.XX.1    UGS    vlan0.832

Donc à cet instant :

LEOX O5                         OK
VLAN 832                        OK
MAC Livebox clonée              OK
DHCP PCP/CoS 6                  OK
Option 60                       OK a priori
Option 61                       OK a priori
Option 77                       OK a priori
Option 90                       acceptée
DHCP Request                    OK
Réponse Orange                  OK
DHCP ACK                        OK
IPv4 publique                   OK
Masque                          OK
Gateway                         OK
Route par défaut                OK


9 - Mais le trafic peut ne plus passer

Malgré tout cela, lors du dernier essai :

ping -S IP_PUBLIQUE GATEWAY_ORANGE
=> 100 % packet loss

et :

ping -S IP_PUBLIQUE 1.1.1.1
=> 100 % packet loss

J'ai donc capturé directement sur l'interface physique igc0.


10 - Capture du trafic data sur igc0

Les requêtes ICMP sortent réellement de l'interface physique :

MAC_WAN > MAC_GATEWAY_ORANGE
ethertype 802.1Q
vlan 832, p 0
ethertype IPv4

IP_PUBLIQUE > 1.1.1.1
ICMP echo request

Les requêtes sont donc émises en :

VLAN 832 / PCP 0

La MAC de destination est bien celle associée à la gateway Orange.

Malgré cela, aucune réponse ICMP ne revient.


11 - Comportement instable observé

Le point important est que le comportement n'est pas toujours identique.

J'ai déjà eu une connexion Internet réellement fonctionnelle avec le LEOX + OPNsense.

Mais après quelques minutes, elle pouvait tomber.

Dans les logs dhclient, j'ai notamment observé :

BOUND

puis, quelques minutes plus tard, un redémarrage/rechargement du client avec :

PREINIT
TIMEOUT
ancienne lease temporairement réappliquée
FAIL

Lors d'autres essais, comme actuellement, Orange renvoie pourtant bien un ACK mais le trafic ne fonctionne pas derrière.

C'est donc véritablement un problème de connexion instable et non simplement un DHCP qui n'aurait jamais fonctionné.


12 - Ce que j'ai déjà éliminé / vérifié

- La Livebox fonctionne sur la ligne.
- Le LEOX est en O5.
- L'OLT est ALCL.
- Le lien LEOX/OPNsense est actif en 2.5 Gb/s.
- VLAN 832 vérifié par capture.
- DHCP réellement émis en PCP 6.
- trafic normal réellement émis en PCP 0.
- MAC Livebox clonée.
- Option 60 = arcadyan.
- Option 77 correspondant à LiveboxNautilus.
- Option 90 récupérée depuis la Livebox.
- Option 61 basée sur la MAC Livebox.
- Orange répond aux requêtes DHCP.
- Un DHCP ACK complet a été capturé.
- OPNsense installe correctement l'IPv4 et la route.
- OPNsense a été mis à jour jusqu'en 26.7.3_11.


13 - Mes questions

Voyez-vous une erreur ou une différence par rapport à une configuration Orange/OPNsense fonctionnelle, notamment concernant :

1. Les Send Options ?

dhcp-class-identifier "arcadyan"
user-class "2FSVDSL_livebox.Internet.softathome.LiveboxNautilus"
option-90 [...]
dhcp-client-identifier 01:[MAC]

2. Les Request Options ?

subnet-mask,broadcast-address,dhcp-lease-time,dhcp-renewal-time,dhcp-rebinding-time,domain-search,routers,domain-name-servers,option-90,domain-name,option-120,option-125

Certaines devraient-elles être supprimées ou ajoutées ?

3. La gestion des priorités est-elle correcte avec :

DHCP sortant : VLAN 832 / PCP 6
DHCP ACK Orange : VLAN 832 / PCP 3
trafic Internet normal : VLAN 832 / PCP 0

4. Le fait qu'Orange renvoie un ACK valide permet-il réellement d'exclure une erreur dans les options DHCP, ou une option demandée/non demandée peut-elle influencer ce qui se passe ensuite ?

5. Quelqu'un utilise-t-il actuellement un LEOX LXT-010H-D avec un OLT ALCL et OPNsense ?

Y a-t-il une particularité concernant l'OMCI, les GEM ports ou le mapping 802.1p qui pourrait expliquer :

ONU O5
+
DHCP ACK
+
IPv4 publique et gateway installées
+
trafic VLAN 832 visible sur igc0
+
connexion parfois fonctionnelle
+
puis perte totale du trafic

6. Enfin, quelqu'un a-t-il rencontré sur OPNsense un redémarrage/reload intempestif de dhclient/WAN quelques minutes après un BOUND sur un WAN DHCP utilisant un VLAN ?

Je préfère maintenant éviter de modifier les paramètres au hasard : les captures montrent que la connexion arrive très loin dans le processus et qu'elle a déjà fonctionné.

Merci d'avance pour votre aide.

jojo86

  • Abonné Orange Fibre
  • *
  • Messages: 44
  • Chatellerault (86)
Orange FTTH : remplacer une Livebox S par OPNsense + LEOX LXT-010H-D – Internet + TV + Replay

Bonjour,

Je partage ma configuration permettant de retirer complètement ma Livebox S et d'utiliser directement OPNsense derrière un ONT LEOX LXT-010H-D.

Résultat :

Internet Orange : OK
Décodeur TV Orange : OK
TV en direct : OK
Replay / VOD : OK
Mises à jour du décodeur : OK
Livebox retirée : OK

Ma configuration :

Orange FTTH
ONT : LEOX LXT-010H-D
OPNsense : 26.7.3_11
Interface fibre : igc0
VLAN Internet : 832
VLAN TV multicast : 840
Port décodeur : igc3
OLT : ALCL
Livebox : Livebox S / Livebox Nautilus

Certaines données sont propres à chaque abonnement et sont donc anonymisées ici :

VOTRE_GPON_SN
VOTRE_OPTION_90
MAC_LIVEBOX
SERIAL_LIVEBOX
VOTRE_OPTION_125


1. Récupérer les informations de la Livebox avec GO-BOX

Avant de retirer la Livebox, j'ai utilisé l'outil GO-BOX pour l'interroger et récupérer les informations nécessaires à son remplacement.

Le PC/Mac utilisé doit être connecté au réseau de la Livebox.

GO-BOX permet notamment de récupérer les informations qui serviront ensuite à configurer le LEOX et OPNsense :

- informations GPON / ONT
- MAC WAN de la Livebox
- numéro de série de la Livebox
- ProductClass
- informations nécessaires à l'authentification DHCP Orange / option 90

Dans mon cas :

ProductClass : Livebox Nautilus

Conservez toutes ces informations : elles seront utilisées pour programmer le LEOX, configurer le WAN Orange et construire l'option DHCP 125 du décodeur.

Sur macOS, si nécessaire, Git et Go peuvent être installés avec :

brew install git go

Récupérez ensuite GO-BOX depuis son dépôt GitHub et suivez les instructions du projet pour interroger votre Livebox.

Je ne mets volontairement pas ici une ligne de commande GO-BOX dont la syntaxe pourrait varier suivant la version utilisée.

Attention : ne publiez pas votre mot de passe Livebox, votre GPON_SN complet, votre option 90 complète ou les autres identifiants propres à votre accès.


2. Configurer le LEOX LXT-010H-D

Le LEOX est accessible en Telnet sur son adresse de management (configurez votre ordi en IP fixe sur une IP du réseau comme 192.168.100.10, masque 255.255.255.0):

telnet 192.168.100.1

Utilisez les identifiants correspondant à votre LEOX (par défaut : User = leox, mot de passe = leolabs_7).

La configuration présente dans la mémoire flash peut être affichée avec :

flash all

Programmez ensuite votre numéro de série GPON :

flash set GPON_SN VOTRE_GPON_SN

Puis les paramètres suivants :

flash set PON_VENDOR_ID ARLT
flash set HW_HWVER ARLTLBN100
flash set GPON_PLOAM_PASSWD DEFAULT012
flash set OMCI_TM_OPT 0
flash set OMCI_OLT_MODE 1
flash set OMCI_SW_VER1 SAHNOFR010216
flash set OMCI_SW_VER2 SAHNOFR010901
flash set OMCC_VER 128

Redémarrez ensuite le LEOX :

reboot

Dans ma configuration, le LEOX se synchronise en O5 sur un OLT Orange ALCL.


3. Interface physique Orange dans OPNsense

Dans :

Interfaces > Assignments

assignez l'interface physique reliée au LEOX :

Device : igc0
Description : Orange_Parent

Configuration :

Enable Interface : coché
IPv4 Configuration Type : None
IPv6 Configuration Type : None
MAC address : MAC WAN de la Livebox
Promiscuous mode : décoché
MTU : vide
MSS : vide
Speed and duplex : Default

Le point important est de mettre le MAC WAN de la Livebox sur le parent physique igc0.

Les VLAN enfants héritent ainsi de ce MAC.


4. VLAN Internet 832

Dans :

Interfaces > Devices > VLAN

créez :

Parent : igc0
VLAN tag : 832
VLAN priority : 0

Affectez ce VLAN à l'interface WAN.

Configuration WAN :

IPv4 Configuration Type : DHCP
MTU : 1520
MAC address : vide
Promiscuous mode : décoché

Le champ MAC reste vide sur le WAN puisque le MAC de la Livebox est porté par igc0.


5. DHCP Orange

Dans les paramètres DHCPv4 avancés du WAN :

Send Options :

dhcp-class-identifier "arcadyan",user-class "2FSVDSL_livebox.Internet.softathome.LiveboxNautilus",option-90 VOTRE_OPTION_90,dhcp-client-identifier 01:AA:BB:CC:DD:EE:FF

Remplacez :

VOTRE_OPTION_90
AA:BB:CC:DD:EE:FF

par votre option 90 et le MAC WAN de votre Livebox.

Le préfixe :

01:

du DHCP Client Identifier est volontaire.

Le "2" devant FSVDSL est également volontaire :

user-class "2FSVDSL_livebox.Internet.softathome.LiveboxNautilus"

Request Options :

subnet-mask,broadcast-address,dhcp-lease-time,dhcp-renewal-time,dhcp-rebinding-time,domain-search,routers,domain-name-servers,option-90,domain-name,option-120,option-125

Priorité DHCP :

Le VLAN 832 reste :

VLAN priority : 0

Mais dans le client DHCP WAN :

Use VLAN priority : Internetwork Control (6)

Le DHCP Orange est ainsi envoyé en PCP6.


6. TV Orange : VLAN 840

Dans ma configuration :

VLAN 832 = Internet + Replay / VOD
VLAN 840 = TV en direct / multicast

Je n'utilise pas le VLAN 838 pour la TV.

Certains anciens tutoriels Orange utilisent encore les VLAN 838 + 840, mais le 838 n'est pas nécessaire dans ma configuration actuelle.

Dans :

Interfaces > Devices > VLAN

créez :

Parent : igc0
VLAN tag : 840
VLAN priority : Voice (5)

Affectez-le ensuite à une interface :

Description : Orange_TV_840
IPv4 Configuration Type : Static IPv4
IPv4 address : 192.168.84.1/24
IPv6 Configuration Type : None
Gateway : None


7. Port dédié au décodeur Orange

J'utilise igc3 exclusivement pour le décodeur.

Dans :

Interfaces > Assignments

configuration :

Device : igc3
Description : Orange_TV_Decodeur
IPv4 Configuration Type : Static IPv4
IPv4 address : 192.168.3.1/24
IPv6 Configuration Type : None
Gateway : None


8. DHCP du décodeur

J'utilise ISC DHCPv4 sur Orange_TV_Decodeur :

Subnet : 192.168.3.0/24
Range : 192.168.3.2 - 192.168.3.254
Gateway : 192.168.3.1

DNS :
80.10.246.132
81.253.149.2

Il faut également fournir l'option DHCP 125.

Elle contient notamment les informations suivantes :

Enterprise Number : 3561
OUI : 3 premiers octets du MAC WAN Livebox
SerialNumber : numéro de série Livebox
ProductClass : Livebox Nautilus

Dans ISC DHCP :

Number : 125
Type : String
Value : VOTRE_OPTION_125

Cette valeur doit être construite avec les informations de VOTRE Livebox.

Dans mon cas, la structure utilisée pour l'option 125 est :

00:00:0d:e9
2b
04:06:XX:XX:XX:XX:XX:XX
05:0f:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
06:10:4c:69:76:65:62:6f:78:20:4e:61:75:74:69:6c:75:73

avec :

00:00:0d:e9 = Enterprise Number 3561
04 = OUI
05 = SerialNumber
06 = ProductClass

Le ProductClass :

Livebox Nautilus

est encodé en ASCII/hexadécimal dans la dernière partie.


9. Installer et configurer IGMP Proxy

Installez le plugin :

os-igmp-proxy

Puis :

Services > IGMP Proxy

Créez l'upstream :

Interface : Orange_TV_840
Type : Upstream
Threshold : 1

Networks :
0.0.0.0/1
128.0.0.0/1

Puis le downstream :

Interface : Orange_TV_Decodeur
Type : Downstream
Threshold : 1
Network : 192.168.3.0/24

Le fichier généré ressemble à :

quickleave

phyint vlan0.840 upstream ratelimit 0 threshold 1
altnet 0.0.0.0/1
altnet 128.0.0.0/1

phyint igc3 downstream ratelimit 0 threshold 1
altnet 192.168.3.0/24


10. Firewall du VLAN 840

Dans :

Firewall > Rules > Orange_TV_840

Ajoutez une règle IGMP :

Action : Pass
Direction : In
TCP/IP Version : IPv4
Protocol : IGMP
Source : any
Destination : any
Gateway : None

Ajoutez ensuite une règle pour les flux TV :

Action : Pass
Direction : In
TCP/IP Version : IPv4
Protocol : UDP
Source : any
Destination : 232.0.0.0/8
Destination port : any
Gateway : None

POINT TRÈS IMPORTANT :

Dans les options avancées de cette règle UDP, cochez :

Allow options

Sans "Allow options", Orange envoyait bien les flux multicast sur le VLAN 840, mais PF les bloquait et le décodeur n'affichait pas l'image.

Après activation de "Allow options", l'image TV est apparue immédiatement.


11. Firewall du réseau décodeur

Le décodeur doit pouvoir accéder à Internet :

Action : Pass
TCP/IP Version : IPv4
Protocol : any
Source : Orange_TV_Decodeur net
Destination : any

J'ai personnellement placé avant cette règle des BLOCK vers mes autres VLAN afin d'isoler le décodeur du reste de mon réseau.


12. NAT

J'utilise :

Firewall > NAT > Source NAT
Hybrid Source NAT rule generation

OPNsense génère automatiquement le NAT du réseau :

192.168.3.0/24

vers le WAN.

Pas de NAT spécifique pour le multicast du VLAN 840.


13. Architecture finale

Fibre Orange
     |
LEOX LXT-010H-D
     |
     |
igc0 / Orange_Parent
MAC = MAC WAN Livebox
IPv4 = None
IPv6 = None
Promiscuous = OFF
     |
     +-----------------------------+
     |                             |
VLAN 832 PCP0                 VLAN 840 PCP5
     |                             |
WAN DHCP                      192.168.84.1/24
DHCP Orange PCP6                   |
     |                        IGMP Proxy
Internet                           |
Replay / VOD                      igc3
                                   |
                              192.168.3.1/24
                                   |
                              Décodeur Orange


14. Résultat

Avec cette configuration :

LEOX synchronisé O5 : OK
Internet IPv4 Orange : OK
Décodeur Orange : OK
Activation / mises à jour : OK
TV en direct : OK
Replay / VOD : OK
Livebox retirée : OK


15. Points importants

  • Récupérer les informations de sa Livebox avec GO-BOX avant de la retirer.
  • Programmer le LEOX avec les informations de son propre accès Orange.
  • Dans ma configuration, OMCC_VER=128.
  • Mettre le MAC WAN Livebox sur le parent igc0, pas directement sur le VLAN 832.
  • VLAN 832 en PCP0 mais DHCP Orange en PCP6.
  • Conserver le "2" devant FSVDSL dans le User-Class OPNsense.
  • VLAN 840 en PCP5 pour le multicast TV.
  • VLAN 838 non utilisé dans cette configuration.
  • Option DHCP 125 nécessaire au décodeur.
  • IGMP Proxy entre VLAN 840 et le réseau du décodeur.
  • Activer "Allow options" sur la règle UDP multicast du VLAN 840.

En espérant que ce retour puisse servir à d'autres.