OpenWRT derrière une Freebox: IPv6, DMZ et Bridge

Guillaume Kulakowski par Guillaume Kulakowski dans OpenWRT 22 novembre 2020 26
OpenWRT

Bien que je sois le très récent et heureux possesseur d’une Freebox Pop, j’ai fait le choix de continuer à déléguer la gestion de mon réseau ainsi que de mon partage Wi-Fi, non pas à la Pop, mais à OpenWRT.

Les avantages pour moi sont les suivants :

  • Plus de contrôle au niveau des règles de firewall (IPv4, IPv6) ainsi que de la configuration du routeur en général.
  • Avoir la main sur le choix de ma solution de VPN (WireGuard dans mon cas).
  • Avoir le contrôle de l’anti-pub (une complète maîtrise et non pas une simple activation/désactivation).
  • Pouvoir faire du DoH (DNS over HTTPS).
  • Pouvoir mettre un contrôle parental configurable aux petits oignons.
  • Monitorer mon trafic.
  • Mettre en place du Wi-Fi 802.11r (roaming).
  • etc…

Je reviendrai sur pas mal de ces points dans différents billets à venir, mais pour le moment je ne m’intéresserai qu’à la base : avoir un réseau avec une gestion IPv4 / IPv6 (notons que l’IPv6 est obligatoire pour OQee).

Rappel de mon installation sous OpenWRT

Comme évoqué précédemment, j’ai une installation et un réseau domestique assez étendu, le tout propulsé par 2 routeurs Xiaomi Redmi AC2100 (pas cher sur AliExpress). Ils me permettent d’étendre mon Wi-Fi sur les 2 étages que comporte ma maison. Mes routeurs sont tous les 2 dépouillés de leur firmware chinois pour tourner sous OpenWRT dans sa dernière version (19.07.4 à ce jour).

Pour cette configuration, je me suis basé sur différentes sources :

Configuration de la Freebox

Mode « Routeur + DMZ » VS mode « Bridge »

Lors de ma première mis en place d’OpenWRT, j’ai un peu raté ma configuration de l’IPv6. En effet, je suis resté en mode Routeur + DMZ sans configurer l’IPv6. Autant je suis passé à côté avec la Freebox 4K, autant avec la Pop, je m’en suis rendu compte de suite via OQee qui doit obligatoirement passer en IPv6. Du coup, j’ai basculé en mode Bridge histoire d’avoir plus la main. J’en étais pleinement satisfait mais avec la fibre et seulement 1/4 d’IP (le partage d’IP selon Free) cette solution ne fonctionnait plus.

Exemple d'IP partagée chez Free
Exemple d’IP partagée chez Free

Du coup j’ai refait une installation, tout aussi fonctionnelle, en mode Routeur et fait en parallèle une demande d’IP full stack. Mais la configuration Routeur me donnant parfaitement satisfaction, j’ai décidé de rester dessus.

Comme je suis gentil, je vous laisse les 2 hypothèses et vous laisse argumenter en commentaire. Notez cependant que le mode Routeur vous éloigne de la loi de Murphy 😉 en vous offrant un mode rescue.

La troisième hypothèse étant le double NAT mais là on complexifie et on est à la limite du dégueulasse.

Hypothèse n°1 : Le mode « Routeur » de la Freebox avec une DMZ

Pour passer en mode routeur, il suffit de laisser la configuration de base de la Freebox. Notez que j’ai juste choisi un sous réseau différent de mon sous réseau OpenWRT (192.168.0.1/24 VS 192.168.1.1/24).

Freebox - Mode Réseau - Routeur
Freebox – Mode Réseau – Routeur

Ensuite on donne un bail statique au routeur OpenWRT en fonction de son adresse MAC. Dans mon cas 192.168.0.1.

Freebox - Réseau local - DHCP - Baux statiques
Freebox – Réseau local – DHCP – Baux statiques

Et après on utilise l’option DMZ pour balancer tout le trafic dessus :

Freebox - Connexion Internet - Gestion des ports - DMZ
Freebox – Connexion Internet – Gestion des ports – DMZ

Hypothèse n°2: Bascule en mode Bridge

Freebox - Mode Réseau - Bridge
Le mode Bridge de la Freebox

Tout d’abord nous allons basculer la Freebox en mode bridge. Ça se passe depuis l’interface de gestion de la Freebox: http://mafreebox.freebox.fr. Vous allez devoir accepter qu’en passant en mode Bridge vous perdez tout un tas de fonctionnalités mais au final, quand on en est à mettre OpenWRT à la place de la Freebox on ne devrait pas trop avoir de soucis pour valider ses choix.

Etes-vous sûr de vouloir passe en mode Bridge
Êtes-vous sûr de vouloir passe en mode Bridge

Prise en charge de l’IPv6

A partir de là que vous soyez en mode Routeur ou Bridge c’est pareil.

Récupération de l’IPv6 du lien local d’OpenWRT

Tout d’abord, il va vous falloir récupérer l’IPv6 d’OpenWRT. Pour cela, il suffit de se connecter dessus en SSH et d’utiliser ifconfig pour récupérer l’IPv6 de lien local (Scope:Link). Dans mon cas fe80::8ac3:xxxx:xxxx:xxxx :

ifconfig eth0 | grep "Scope:Link"
inet6 addr: fe80::8ac3:xxx:xxx:xxx/64 Scope:Link

Configuration de la délégation de préfixe IPv6

On va récupérer l’IPv6 déterminée précédemment et la configurer dans l’interface IPv6 de la Freebox en tant « Next hop » du second premier (remarque, depuis l’écriture de cet article, le second nœud semble poser soucis pour le Player qui peut ne pas est reconnu comme étant sur le réseau Free) nœud de délégation de préfixe :

Configuration IPv6 - Délégation de prefixe
Configuration IPv6 – Délégation de préfixe

Notez bien quelque part ces 2 informations, vous en aurez besoin plus tard :

  • Le préfixe de la délégation que vous venez de mettre en place (2a01:e34:xxxx:xxxx::/64).
  • L’adresse IPv6 du lien local (fe80::8c97:xxxx:xxxx:xxxx).

Remarquez également que l’on désactive le firewall IPv6 de la Freebox, ainsi que le DHCPv6 et les DNS IPv6 (je n’utilise pas ceux de Free) :

Configuration IPv6 - DHCPv6
Configuration IPv6 – DHCPv6
Configuration IPv6 - DNS IPv6
Configuration IPv6 – DNS IPv6

Voilà, la partie configuration de la Freebox est finie ! On peut maintenant passer sur l’interface d’OpenWRT.

Configuration d’OpenWRT

Installation des dépendances

Tout d’abord on suppose que vous ayez LuCi d’installée avec quelques outils ainsi que le support de l’IPv6, sinon :

opkg install luci-ssl-openssl luci-theme-material luci-i18n-base-fr luci-i18n-firewall-fr luci-i18n-opkg-fr luci-i18n-attendedsysupgrade-fr luci-i18n-uhttpd-fr \
ipset curl diffutils speedtest-netperf \
kmod-ipt-nat6

Interfaces WAN & WAN6

Pour la partie WAN/WAN6, la configuration est assez simple :

  • WAN :
    • Protocole : Client DHCP
LuCi - Interfaces » WAN
LuCi – Interfaces » WAN
  • WAN6 :
    • Protocole : Client DHCPv6
    • Demander une adresse IPv6 : try
    • Demander le préfixe IPv6 de la longueur : Automatique
    • Préfixe IPv6 délégué personnalisé : le préfixe de la délégation mise en place sur la Freebox (2a01:e34:xxxx:xxxx::/64).
LuCi - Interfaces » WAN6
LuCi – Interfaces » WAN6
LuCi - Interfaces » WAN6 (Paramètres avancé)
LuCi – Interfaces » WAN6 (Paramètres avancé)

Interface LAN

Là encore, la configuration est facile :

  • Paramètres généraux :
    • Protocole : Adresse statique
    • Adresse IPv4 : 192.168.1.254
    • Masque-réseau IPv4 : 255.255.255.0
    • Passerelle IPv4 : vide (il va trouver)
    • Diffusion IPv4 : vide (il va trouver)
    • Longueur d’attribution IPv6 : 64 (c’est le /64 de vos préfixes de délégation)
    • Indice d’affectation IPv6 : vide
    • Suffixe IPv6 : ::254 (pour ressembler à l’IPv4)
OpenWRT - Interfaces » LAN (Paramètres généraux)
OpenWRT – Interfaces » LAN (Paramètres généraux)
  • time# >= #[Extérieur][Héliotrope][Crépuscule Civil]# + variable(volets_fermeture_bas_inc),jh Serveur DHCP / Paramètres IPv6 :
    • Service de publicité de routeur : mode serveur
    • Service DHCPv6 : désactivé
    • Proxy NDP : désactivé
    • Toujours annoncer le routeur par défaut : coché
OpenWRT - Interfaces » LAN (Serveur DHCP / Paramètres IPv6)
OpenWRT – Interfaces » LAN (Serveur DHCP / Paramètres IPv6)

Ici la question du service DHCPv6 se pose pour l’attribution de baux statiques IPv6. J’ai fait le choix de laisser la Freebox attribuer les IPv6 locales car au final elles sont basées sur SLAAC (Stateless Address Auto Configuration) et ne bougent pas (statiques).

J’avais essayé d’utiliser la fonction DHCP d’OpenWRT en jouant sur les suffixes d’IPv6 et les DUID mais cette solution exigeait de passer en mode serveur et posait des soucis sur certains devices. J’ai donc des baux statiques (comme en IPv4) mais je n’ai pas la main sur l’IP générée vu qu’elle est fonction de l’adresse MAC.

Route

A ce stade un ping6 google.fr n’est toujours pas opérationnel sur mes machines. Reste à rajouter une route statique depuis l’interface de LuCi. On va router 2000::/3 vers l’adresse IPv6 du lien local que vous avez noté précédemment :

OpenWRT - Routes statiques (Routes IPv6 statiques)
OpenWRT – Routes statiques (Routes IPv6 statiques)

Pour comprendre le pourquoi du comment, je vous invite à lire ce sujet.

Tester

Pour tester, vous pouvez utiliser plusieurs solutions :

  • Allumer votre Freebox Player et regarder la TV sur OQee. Si vous n’avez pas un message qui prend tout l’écran c’est que vous êtes en IPv6.
  • Faire un ping6 google.fr.
  • Utiliser le service de Google.
Êtes-vous prêt pour l'Internet du futur ?
Êtes-vous prêt pour l’Internet du futur ?

Je suis maintenant l’heureux possesseur d’un réseau pleinement compatible IPv6 et mes services sont exposés à la fois en IPv4 et en IPv6… Mais ça, ça sera le sujet d’un prochain article.

Rétrolien

[…] de ma série d’articles sur OpenWRT, le firmware Open-source pour votre routeur. Après la mise en œuvre avec Free, la gestion du Wi-Fi 802-11r, je m’attaque à présent au contrôle […]

[…] précédemment nous avions vu comment configurer le support IPv6 sur OpenWRT derrière une Freebox. Maintenant que nous pouvons surfer avec la v6 du protocole IP, on va voir comment exposer, […]

Commentaires

sébastien person

De sébastien person le 22 novembre 2020

Pourquoi tu es pas passé en ip full stack. C'est gratuit, j'ai toute ma plage de port et donc seul sur mon ip

Guillaume Kulakowski

J''y suis passé 😀. Mais malgré ça je reste en mode DMZ car c'est plus simple.

Ricardo

De Ricardo le 6 décembre 2020

Bonjour,
Tout d'abord un grand merci de nous offrir ces retours d'expériences utiles et si bien détaillées.

Depuis plusieurs mois je cherche à mettre en place une solution semblable à la vôtre, mais je bute systématiquement sur des contraintes, soit de prix soit de manques techniques (pas de gigabit sur Internet, pas d'IPV6, ..etc..).
Et votre solution à base de routeur "Xiaomi Redmi AC2100" semble me convenir parfaitement.

Toutefois je suis dubitatif quand aux performances de ce routeur, car, il y a quelques mois je m'étais intéressé à l' "Ubiquiti Edge-Router X", qui dispose de spécifications techniques identiques (mêmes processeur avec une quantité de mémoire supérieure) et pourtant on m'avait mis en garde contre deux défauts :
. dans le flux Internet, il est limité à du 400/500 Mbps au maximum (car processeur surchargé)
. il ne gère que IPV4

Je vois que vous disposez d'une ligne Fibre Optique, comme moi.
Est-ce que vous avez constaté des limitations de bande passante à cause du routeur ?

Par avance, merci pour votre réponse.
Ricardo

Guillaume Kulakowski

Alors depuis que je suis en fibre, effectivement les tests speedtest-cli ne passent plus à partir du routeur. Je passe par mon serveur: https://twitter.com/llaumgui/status/1330559269259898881?s=19

Je n'ai aucun pb d'IPv6 et j'ai une superbe connexion... Après j'attends le port sous OpenWRT du Redmi AX6 pour monter à 512Mo de RAM mais plus pour AdGuard Home qui est un peu a l'étroit sur 128Mo... Mais AdBlock fonctionne parfaitement !

David

De David le 6 décembre 2020

Bonjour,

J'ai une configuration équivalente avec un Netgear R8000 sous OpenWRT et une freebox en mode routeur avec DMZ. J'ai aussi routé le VLAN 100 afin de pouvoir conserver mon serveur dlna à l'intérieur du réseau du routeur tout en profitant des fonctionnalités du player Pop.

Ma question est peut-être liée au modèle de routeur que j'utilise, mais voici :
Lors d'un redémarrage du routeur, l'adresse de lien local est recalculée et je dois donc réimplanter cette adresse manuellement dans la configuration du next hop de la freebox. Lors d'une coupure prolongée alors que je suis à distance, je perds donc toute connectivité avec mon réseau personnel. Y a-t-il un moyen sous OpenWRT de figer cette adresse afin que lors d'un redémarrage, toutes les fonctionnalités Internet reviennent automatiquement ?

Guillaume Kulakowski

Bonjour,

j'ai pas fait de routage VLAN car mon freeplayer n'est pas isolé sur 1 port et il est derière un switch (TV, PlayStation, etc...). PAr contre chez moi l'adresse du lien local est fixe. Tu as essayé de regarder sur les forums d'OpenWRT ?

David

De David le 12 décembre 2020

Bonjour,

Sur les forums OpenWRT, j'ai justement lu que l'adresse de lien local était calculée dynamiquement au démarrage. Il y a peut-être un paramètre qui permet de la figer, mais je ne l'ai pas trouvé. Si vous trouvez, dans votre configuration, un paramètre contenant l'adresse de lien local que vous utilisez, je vous remercie de le poster afin que je puisse voir ce qui pourrait me manquer.

Je vais poursuivre mes recherches.

Guillaume Kulakowski

Tu as un lien vers le sujet ?

Ricardo

De Ricardo le 17 décembre 2020

Bonjour,
Merci encore pour vos articles qui nous aident vraiment.
Mais, je suis toujours inquiet quant à la sécurité de nos appareils.
Est-ce que vous êtes satisfait des règles de sécurité mises en place par défaut par le firewall d'Openwrt ? Ou peut-être les avez-vous personnalisé ?
Et comment s'assurer que ces règles nous protègent réellement ?
Par avance, merci pour vos réponses.
Cordialement.
Ricardo

Guillaume Kulakowski

Lorsque je vois les trucs à faire pour ouvrir, forwarder, etc... Je me dis que c'est bien fermé 😛. Après un routeur firewallé ne t'empêche pas d'avoir des firewall sur tes machines !!! Pour les règles par défaut, j'en ai désactivé certaines en fonction de les besoins.

Pour finir tu as des outils pour tester ton réseau et détecter les failles.

Sebastien

De Sebastien le 26 janvier 2021

Bonjour Guillaume,

J'ai un souci avec mon routeur Linksys WRT3200ACM sur lequel j'ai installé OpenWRT avec lequel je souhaite avoir de l’IPV6 pour faire fonctionner la Freebox Pop.

La Freebox Server est en mode Bridge.

J’ai suivi plein de tutoriels pour paramétrer le routeur mais il n’y a rien à faire, cela fonctionne pendant un temps puis la Freebox Pop m’indique un message du genre : ‘Votre Freebox Pop n’est utilisable que depuis le réseau Free. Vérifiez que vous êtes connecté au réseau de votre Freebox.’

J’ai bien évidement aussi appliqué tout ce qui est indiqué dans votre tutoriel mais ça a tenu 1 jour.

Le temps pendant lequel la Freebox Pop fonctionne varie grandement, cela peut être 1 jour comme une semaine... puis hop à nouveau ce message d’erreur.

Que la Freebox Pop fonctionne (pendant un temps) ou non, si je lance une analyse depuis l’outil ‘Diagnostics Freebox’, je vois toujours une ligne dans ‘Réseau - DNS – Freebox Server : Pas d’IPV6 trouvé pour Freebox Server (no_ipv6)

Cela fait des mois que je suis confronté à ce problème et j’apprécierai vraiment de l’aide pour y remédier. (J’ai essayé depuis https://dev.freebox.fr/bugs/task/32820 mais sans succès …)

Je suis sur les forums de Jeedom 😊 et mon pseudo est Sattaz … pourriez-vous me contacter par ce biais ?

Merci beaucoup,

Sébastien

Guillaume Kulakowski

J'ai eu un soucis à peu près similaire. Pour ça je suis passé du second au premier Next hop. C'est ton cas ?
Autre truc pour le bridge il te faut une IP complète et pas 1/4 d'IP.

Sebastien

De Sebastien le 29 janvier 2021

Bonjour Guillaume,

J'ai suivi ta procédure et j'ai utilisé le second Next Hop (en laissant le premier vide sur la FreeBox), ça fonctionne donc un temps et puis ce fameux message ...

J'ai une IPV4 full stack ... c'est bien ce que ce que tu appelles IP complète ?

Ce jour j'ai essayé de suivre ton conseil et d'utiliser le premier Next Hop mais là je n'ai carrément rien ...

Serait-il possible de me filler un coup de main par Teams ou autre ? J'apprécierai car je galère avec ce problème depuis un moment. (Forum Jeedom = Sattaz)

Merci pour tout !

Sébastien

Badulesia

De Badulesia le 6 février 2021

Bonjour.
Je suis l'auteure de l'article "comment obtenir une délégation ..." dans la documentation d'OpenWRT. Contente de voir que cette documentation vous a servie. Votre page sur ce blog est intéressante et a l'avantage d'avoir des images. J'ai testé routeur+DMZ d'une part et bridge d'autres part sans véritablement voir de différences.

Guillaume Kulakowski

Merci pour cette doc ! Et oui, à part les e***dement pas vu de réèlles différences entre DMZ et Bridge. Du coup je suis passé en DMZ qui marche parfaitement.

Sebastien

De Sebastien le 19 février 2021

Bonjour Guillaume !

J’ai du nouveau et cela semble stable car je n’ai plus de coupures depuis plus de 2 semaines consécutives.

Avec une configuration sur le second Next Hop ça fonctionnait mais il y avait ce fameux problème ‘Votre Freebox Pop n’est utilisable que depuis le réseau Free. Vérifiez que vous êtes connecté au réseau de votre Freebox.’ qui survenait de temps en temps.

J’avais ensuite essayé avec ton conseil de mettre la configuration sur le premier Next Hop mais la ca ne fonctionnait tout simplement pas.

Finalement j’ai configuré les 2 en même temps et depuis ça tient !

Je ne sais pas l’expliquer mais c’est stable... peut-être tu peux trouver une explication à cela ?

Ou est-ce Free qui a corrigé quelque chose ?

Mystère 😊

Sébastien

Ricardo

De Ricardo le 12 mars 2021

Bonjour,
J'aimerais savoir comment vous utilisez le VPN Wireguard que vous avez installé sur Openwrt !
Car je l'ai installé sur ma config (qui est très proche de la vôtre) et tout semble fonctionner correctement.
Sauf que, lorsque je suis sur mon poste client connecté en VPN sur mon routeur Openwrt, je n'ai accès qu'à certains services, par exemple "ping", "traceroute" ou "ssh" qui fonctionnent bien.
En revanche des services comme les partages SMB ou FTP ne fonctionnent pas du tout !
Est-ce que vous rencontrez ce genre de problèmes !
Cordialement.
PS :
Pour l'installation de Wireguard j'ai suivi la doc Openwrt (https://openwrt.org/docs/guide-user/services/vpn/wireguard/start) et deux autres tutos.

Guillaume Kulakowski

Il faut autoriser des routes entre ton réseau et le réseau VPN...

https://blog.kulakowski.fr/wp-content/uploads/2021/03/openwrt_firewall.png

Ricardo

De Ricardo le 23 mars 2021

Bonjour, merci pour votre réponse, mais finalement j'ai fait autrement.
Je dispose de plusieurs mini-machines sur mon réseau local et j'ai installé Wireguard sur un Raspberry Pi 4 qui me sert de NAS maison.
Et ça fonctionne parfaitement bien !
Merci encore.
Ricardo

Claude Weber

De Claude Weber le 13 avril 2021

J'ai remarqué hier en bidouillant avec un routeur sans accès ssh (Honor3) qu'on pouvait lire l'adresse locale via l'appli Freebox sur Smartphone. D&ns Freebox Server, aller dans appareils connectés.
Là vous avez les appareils connectés actuellement et même précédemment. Cliquez sur un des appareils, vous aurez une page d'infos et en bas de la page sous 'Connectivité' vous trouverez l'adresse locale IPV6.

Merci pour vos infos et bonne continuation.
Claude

kornflex

De kornflex le 1 septembre 2022

bonjour,

merci pour ce tuto, mais j'aurai besoin d'un coup de main...
L'interface openwrt a changé depuis et je ne sais pas trop ou mettre la config du prefix sur l'interface wan6.

De plus, tu dis que tu laisses la freebox faire serveur DHCP pour l'attribution des IP : J’ai fait le choix de laisser la Freebox attribuer les IPv6 locales car au final elles sont basées sur SLAAC

Or, tu désactives le serveur DHCP, cf le screenshot de ta config freebox.

Merci pour ton aide

Guillaume Kulakowski

Attention, oui la Freebox gère les IPv6, mais c'est OpenWRT qui gère les v4. Je désactive le serveur DHCP v4, le SLAAC gère le V6.

Heyyy

De Heyyy le 29 novembre 2022

Bonjour,

J'essaye moi aussi d'adapter ce tuto à la nouvelle version d'OpenWRT.
Et la grosse différence c'est que le champs "custom delegated IPv6-prefix" n'existe pas sur l'interface wan6.
=> J'ai finalement pu activé la délégation IPv6 en ajoutant "list ip6prefix 'XXXXX::/64'
Dans /etc/config/network, dans la configuration de l'interface "wan6".

Donc l'option n'est pas présente graphiquement mais si on l'ajoute en CLI, ça fonctionne.

Par contre je rencontre au niveau du routage ipv6. J'ai bien activé le "RA Service" (Router Advertisement Service) et j'obtiens bien une IPv6.
MAIS, le routage ne marche pas, et je ne sais pas pourquoi... Je peux pinger en IPv6 le routeur WRT depuis un prompt termux du player Pop, mais je ne peux pas aller au delà.
Le routeur lui-même peut bien pinger en IPv6 la freebox et Internet.

=> d'où peut venir le blocage ?

Merci d'avance,

PieCout

De PieCout le 8 avril 2023

Bonjour, Merci pour ce post, qui m'a déjà pas mal éclairé, mais je cale sur un truc. Je vous explique.
Ma Freebox est sur 192.168.1.254, OpenWrt sur 192.168.1.1. OpenWrt a une adresse statique sur la FB, et la DMZ est active.
Mon souci est que, pour des histoires de pièces, de cables et de murs épais, mon nas est directement branché sur la FB, alors que mes autres appareils sont tous sur l'OpenWRT, mais aucun d'entre eux ne voient le NAS. Comment faire pour que tout ce beau monde se parle dans la joie ?

Les commentaires pour ce poste sont fermés.

Réseaux sociaux