Seral - Part. 1a - Routeur OPNsense 1-10 GBPS
Cet article explique comment mettre en place son propre routeur sous OPNsense, basé sur un Lenovo m720q et un ONT Nokia XS-010X-Q, pour une connexion fibre 1 Gbps, avec la possibilité d’évoluer vers 10 Gbps.
Choix du matériel
Connexion à la fibre
La première étape consiste à trouver un ONT GPON rootable, autrement dit, un équipement que l’on peut réellement s’approprier.
Une liste assez complète est disponible sur hack-gpon.org, accompagnée de tutoriels et de fiches techniques. Prenez le temps de les lire, c’est une mine d’informations.
Dans mon cas, j’ai opté pour un modèle 10 Gbps compatible avec mon opérateur internet: le Nokia XS-010X-Q.
Attention toutefois: pour le rooter, il est nécessaire de souder sur les pins UART et d’utiliser un adaptateur USB-TTL. Rien de bien compliqué, des photos et explications détaillées sont disponibles sur le lien ci-dessus.
⚠️ Point critique: l’UART fonctionne en 3,3 V.
Pas en 5 V.
Sinon, vous obtiendrez une jolie brique.
Le routeur
Pour le routage, j’ai choisi une petite workstation sur laquelle il est possible d’installer un pare-feu comme OPNsense.
Ce choix implique quelques compromis:
- il faut ajouter soi-même des ports Ethernet,
- il n’y a pas de carte Wi-Fi capable de gérer plusieurs points d’accès de qualité (un équipement supplémentaire est donc nécessaire).
En revanche, d’un point de vue sécurité, c’est un avantage: le matériel chargé du Wi-Fi est totalement isolé du routeur principal.
Le Lenovo m720q a la particularité de disposer d’un slot PCIe libre, ce qui permet d’y ajouter une carte réseau supplémentaire, notamment des modèles 4 ports.
Un excellent tutoriel détaille la préparation du m720q et les pièces à acheter:
👉 Guide complet ici
Si vous visez le 10 Gbps, assurez-vous:
- d’acheter une carte réseau compatible 10 GbE,
- qu’elle soit acceptée par le m720q (whitelist matérielle Lenovo),
- que votre ONT ou votre routeur en bridge supporte également ce débit.
Coûts
- Nokia XS-010X-Q: ~130–150 €
(import US, frais de douane à prévoir)
- Nokia XS-010X-Q: ~130–150 €
- Lenovo m720q: 130–150 € d’occasion
- ~75 € pour une carte réseau 1 GbE et les adaptateurs
- Matériel de soudure + USB-TTL:
déjà en ma possession, sinon compter 30–50 € pour de l’entrée de gamme Total minimum: ~335 € (en 2023)
Alternative à l’ONT
Il est également possible de conserver le routeur fourni par l’opérateur et de le passer en mode bridge.
Dans ce mode, le routage est entièrement délégué à OPNsense, tout en laissant parfois le Wi-Fi actif sur la box opérateur.
Dans ce cas, le coût se limite à l’équipement placé derrière le routeur, soit environ 200 € pour un Lenovo m720q.
Il existe évidemment des alternatives moins chères, selon les besoins.
Configuration du GPON
Une fois les pins UART soudés, vous pouvez vous connecter directement à la carte (avec PuTTY, par exemple), en utilisant le bon baud rate.
Assurez-vous également d’avoir installé les bons drivers pour votre adaptateur USB-TTL, le plus souvent un FTDI.
Vous devriez obtenir un prompt similaire à celui présenté sur Hack GPON.
Il suffit alors de passer en mode enable, suivre la procédure décrite sur le site, puis d’accéder à un shell.
L’objectif est maintenant de configurer l’ONT pour usurper le routeur d’origine.
Selon l’opérateur, les vérifications peuvent être plus ou moins strictes: mot de passe GPON, adresse MAC, numéro de série, vendor ID, version matérielle, etc.
La méthode pour modifier ces paramètres est détaillée sur Hack GPON.
Pour les récupérer:
- inspectez une sauvegarde de la configuration du routeur d’origine,
- vérifiez les étiquettes physiques (numéros de série),
- consultez lafibre.info, la communauté y documente de nombreux cas concrets.
Pour les plus téméraires, il est aussi possible de tenter:
- l’obtention d’un shell sur le routeur fourni par l’opérateur,
- ou l’utilisation (coûteuse) d’un TAP optique, une option que je testerai peut-être un jour (en DIY), pour la beauté du sport hehe
Astuce
Si vous ne parvenez pas à récupérer toutes les valeurs nécessaires (identifiants, paramètres GPON, etc.), une solution consiste à brancher temporairement le routeur fourni par l’opérateur. Celui-ci effectuera l’authentification, après quoi vous pourrez rapidement reconnecter votre propre équipement.
Attention cependant: au moindre reboot prolongé ou coupure de courant, l’authentification est perdue et la manipulation devra être répétée.
Configurer le m720q
Installer OPNsense
Il existe déjà une tonne de tutos pour installer OPNsense, inutile d’en rajouter un de plus. Il vous faut simplement:
- un écran,
- un clavier,
- une clé USB.
Vous flashez l’ISO avec Rufus, vous démarrez dessus, et c’est parti.
Quelques liens utiles quand même:
Configurer les interfaces
Malheureusement, mon équipement n’est pas en ligne pour le moment (et j’avoue avoir une certaine flemme à remettre un SSD juste pour faire des captures d’écran). Il va donc falloir lire attentivement 😉
LAN
Vous devriez voir plusieurs interfaces réseau:
em0 (interface d’origine du Lenovo), igb0, igb1, igb2 et igb3.
Comme vous l’aurez sans doute deviné, on évitera d’utiliser em0 pour le LAN ou le WAN. Ce port est nettement moins performant, et autant profiter pleinement des interfaces supplémentaires pour obtenir de meilleurs débits.
On commence par assigner notre LAN et WAN. Dans le CLI, choisissez l’option 1:
- LAN → igb0
- WAN → igb3 Logiquement, le LAN sera le premier port, et le WAN (port auquel vous devez connecter l’ONT sera le dernier).
Ensuite, option 2 pour configurer les IPs, et sélectionnez le LAN. Répondez comme suit:
Configure IPv4 address LAN interface via DHCP: N
Enter the new LAN IPv4 address: 10.66.10.1
Enter the new LAN IPv4 subnet: 24
Configure IPv6 address LAN interface via WAN tracking: Y
Do you want to enable DHCP server on LAN: y
Enter the start address of the IPv4 client: 10.66.10.2
Enter the end address of the IPv4 client: 10.66.10.2
Do you want to change the web GUI protocol from HTTPS to HTTP: y
Do you want to generate a new self-signed web GUI certificate: y
Restore web GUI access defaults: y
Et voilà. Le LAN est prêt, on peut dire adieu au CLI.
Branchez-vous en Ethernet au routeur, ouvrez votre navigateur et allez sur:
Identifiants par défaut:
- utilisateur: root
- mot de passe: opnsense
Changez-le immédiatement. Vraiment.
WAN
Pour configurer le WAN, direction Interfaces → [WAN].
À partir d’ici, tout dépend énormément de votre opérateur. Encore une fois, lafibre.info est votre meilleur allié.
Dans mon cas, chez green.ch, il faut créer un VLAN 10 et envoyer des requêtes DHCP spécifiques. Je n’ai toujours pas de capture d’écran sous la main, donc si vous êtes dans la même situation… respirez un bon coup et relisez attentivement 😄
Première chose: on désactive évidemment les private networks et bogon networks, qui n’ont strictement rien à faire ici.
Ensuite:
- on renseigne la MAC address du routeur fourni par l’opérateur,
- on fixe le MTU à 1492 (PPPoE oblige).
Ne configurez ni DHCP, ni IP statique sur cette interface. Les paramètres IP doivent rester sur None.
Rendez-vous dans Interfaces → Devices → VLAN, puis créez un nouveau VLAN avec les paramètres suivants:
- Device:
vlan0.10 - Parent:
igb3(votre interface WAN) - VLAN tag:
10 - VLAN priority: Best Effort
- Description:
Internet
Une fois le VLAN créé, allez dans Interfaces → Assignments.
Dans la section Assign a new interface, sélectionnez vlan0.10 Internet et nommez l’interface… Internet. Oui, sobre et efficace.
Ouvrez maintenant Interfaces → [INTERNET] et configurez:
- Décochez block private networks et block bogon networks
- IPv4 Configuration: DHCP
- IPv6 Configuration: DHCPv6
- MAC address: celle du routeur d’origine (à nouveau)
- MTU: laissez vide
- DHCPv6 client configuration: (dépend de votre fournisseur internet, exemple pour init7 dans l’autre configuration)
Dans la section DHCP client configuration:
- utilisez le même hostname que celui du routeur opérateur (dans mon cas:
fritz.box) - pour le protocol timing:
- Timeout:
60 - Retry:
15 - Select Timeout:
0 - Initial Interval:
1
- Timeout:
Enfin, dans Lease Requirements, vous pouvez ajouter les options DHCP spécifiques envoyées par le routeur d’origine.
Ces valeurs peuvent être récupérées via un dump Wireshark sur le routeur opérateur, si possible.
Dans mon cas, j’ai dû utiliser:
dhcp-class-identifier "AVM DHCPC v9.04.395" ,dhcp-client-identifier ff:08:ec:b8:1d:00:03:00:01:MA_MAC_ADDRESS_HEHE
Il faut maintenant créer une gateway qui nous permettra de faire sortir le traffic par ce VLAN. Direction System → Gateways → Configuration, et créez une nouvelle Gateway avec pour interface VLAN_Internet, vous pouvez désactiver le Gateway monitoring et la nommer “INTERNET_DHCP” par exemple.
Évidemment, si je connais l’astuce pour éviter de récupérer toutes les valeurs de l’ONT à la main, ce n’est pas un hasard… Dans mon cas, il ne reste plus qu’à redémarrer le firewall, rebrancher l’ancien routeur le temps qu’il s’authentifie, puis basculer rapidement le câble sur le Lenovo.
Sale, mais efficace.
Potentiellement, votre opérateur ne nécessitera pas un VLAN, ou d’autres sortilèges, et vous pourrez juste régler les configurations IP du WAN sur “DHCP”. C’est tout le bien que je vous souhaite !
Ports optionnels
Vous vous souvenez de em0, igb1 et igb2 ? Moi oui, et j’aimerais bien m’en servir 😉
On va donc créer un bridge entre tous les ports sauf celui du WAN, afin que le LAN soit disponible sur l’ensemble des interfaces.
Rassurez-vous, c’est très simple:
- Allez dans Interfaces → Assignments
- Puis Devices → Bridge
- Créez un bridge avec igb0, igb1, igb2 et em0.
- Retournez dans Assignments et assignez bridge0 au LAN
🎉 Félicitations, votre M720Q est maintenant pleinement opérationnel.
Passons à la suite avec la configuration basique du firewall.
CREER LA GW INTERNET
opnsense homelab souverain securite m720q nokia xs-010-q ont gpon 10gbps green.ch swisscom firewall router
1530 Mots
2025-01-24 16:00