Freebox / Unifi UDM, DHCP & IPV6

De base l'UDM / UDM Pro en mode bridge sur une Freebox fonctionne en IPV4. Ca fait le job, mais parfois on peut avoir besoin d'un adressage en IPV6. J'ai lu pas mal de choses sur ce sujet, plus ou moins précises, notamment sur ce fil et sur ce site, j'ai eu quelques difficultés de mise en œuvre et je vais essayer de faire une synthèse simple.

EDIT 15/03/2024 : Lors de mon passage de la Freebox Delta à Ultra je me suis aperçu que l'on peut maintenant sur l'UDM utiliser SLAAC sur la config coté UDM. Cela simplifie grandement l'utilisation de l'IPv6 sur le LAN et évite tout ce qui suit, dès lors que l'on a pas besoin de fixer les IP (fonctionne très bien pour le player POP et OQEE).

Pour faire simple (Unifi Network 8.1.113)

La configuration IPv6 sur INTERNET/FREE :

La configuration IPv6 sur le LAN :

EDIT 02/04/2024 : Problème dans un réseau ActiveDirectory ou le routage site to site n'est pas effectif en IPv6 et ou les serveurs AD ne répondent pas en IPv6. Sur les clients le DNS IPv6 prends le dessus, et donc on n'a plus la résolution AD. Il est possible de forcer les clients à utiliser un DNS spécifique pour le domaine AD. Mais ce que la doc MS ne dit pas, c'est qu'il faut ajouter un point avant le nom de domaine pour que cela fonctionne :

Add-DnsClientNrptRule -Namespace ".domain.tld" -NameServers "192.168.x.x"

Ainsi la résolution du domaine AD passera par le DNS local et tout le reste par le DNS défini sur l'UDM. On doit pouvoir faire ça avec les policy du serveur AD.

La version plus complexe avec plusieurs réseaux en délégation

La première chose à faire est de récupérer l'IPV6 du port WAN actif de l'UDM en s'y connectant en SSH avec la commande ip addr | grep "global dynamic" -B2 -A3 :

# ip addr | grep "global dynamic" -B2 -A3
3: eth9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc htb state UP group default qlen 10000
    link/ether 74:ac:b9:14:2d:e2 brd ff:ff:ff:ff:ff:ff
    inet 86.66.125.69/24 scope global dynamic eth9
       valid_lft 602510sec preferred_lft 602510sec
    inet6 fe80::76ec:b9xx:fe15:2df2/64 scope link
       valid_lft forever preferred_lft forever

L'IPV6 de notre port WAN est donc : fe80::76ec:b9xx:fe15:2df2/64

On va ensuite sur la page de configuration de la Freebox, dans mon cas une Delta S connectée à l'UDM avec un câble SFP+ dans l'espoir (vain) d'obtenir les 8 Gbit/s promis en 10G EPON. Donc sur http://mafreebox.freebox.fr (Paramètres de la Freebox / Configuration IPV6) et on reporte cette adresse dans le second Next Hop (et pas le premier hein !) afin de déléguer un préfixe. Et on note le préfixe associé.

On configure le port WAN de l'UDM en client DHCPv6 avec une taille de délégation de 64 :

Maintenant on va aller configurer le LAN de l'UDM. On reporte le préfixe précédemment noté au niveau IPV6 Gateway/Subnet et si on souhaite activer le serveur DHCP on défini une IP de départ et une IP de fin. Je ne l'ai pas fait car je souhaitait utiliser le DHCP de mon contrôleur de domaine Windows (pourquoi faire simple... mais idée abandonnée.). Pensez à cocher l'option RA.

A partir de là en SSH sur l'UDM on doit pouvoir pinguer en IPV6 :

# ping6 www.ibm.com
PING www.ibm.com (2a02:26f0:2b00:383::1e89): 56 data bytes
64 bytes from 2a02:26f0:2b00:383::1e89: seq=0 ttl=52 time=11.222 ms
64 bytes from 2a02:26f0:2b00:383::1e89: seq=1 ttl=52 time=11.307 ms
64 bytes from 2a02:26f0:2b00:383::1e89: seq=2 ttl=52 time=11.511 ms

Si on a pas configuré le serveur DHCP, on peut également rapidement configurer un client Windows en statique :

PS C:\Users\Lionel.SUPTEL> ping www.google.com -6
Pinging www.google.com [2a00:1450:4007:819::2004] with 32 bytes of data:
Reply from 2a00:1450:4007:819::2004: time=11ms
Reply from 2a00:1450:4007:819::2004: time=11ms
Reply from 2a00:1450:4007:819::2004: time=11ms
Reply from 2a00:1450:4007:819::2004: time=12ms

DHCP et résilience

Il me reste à configurer le serveur DHCP v6 sous Windows Serveur. Enfin, là se pose une vrai question sur les avantages et inconvénients. Actuellement j'ai un serveur Windows (VM dans un ESXi) dans une infrastructure Active Directory répartie sur plusieurs sites. Donc ça se justifie, et c'est même obligatoire au niveau du DNS.

Par contre, imaginons que demain je ne soit plus là ou dans l'incapacité de maintenir tout ça (infra IP et IoT). Il faut que l'accès internet soit résilient et puisse se passer du host ESXi . Mon idée est donc de basculer le DHCP sur l'UDM, de faire pointer les deux premiers DNS vers des serveurs AD et les deux suivants vers des DNS publics.

Mais pour cela il faut que le DHCP de l'UDM fasse aussi bien que celui de Windows. Et là ce n'est pas gagné. La lacune principale est qu'il n'y a rient pour facilement lister les baux. Sérieux ! Un jour surement dans une nouvelle interface encore plus design. A faire du beau ils en oublient souvent le fonctionnel chez Ubiquiti.

Par contre sur le DHCP WIndows j'utilise l'option 121 (Classless Static Route Option, RFC3442) qui se configure très facilement sur Windows. Sur l'UDM c'est un peu plus compliqué (mais pas plus que sur OpenSense ou Mikrotik). Heureusement il y a ici un calculateur qui va nous permettre de créer la chaine hexa que l'on va va pouvoir entrer dans les options personnalisées dans un champ texte des paramètres DHCP de l'UDM. Pourquoi faire simple !

Bien sur il est impossible d'importer les réservations DHCP de Windows vers l'UDM. Il va donc falloir se les faire à la main en cliquant sur chaque objet. Dans cette interface on peut également figer l'AP utilisé.

Il est intéressant de noter la possibilité d'affecter une IP réservée en dehors de la plage déclarée dans le DHCP. Et ça c'est intéressant. Dans un premier temps je crée un DHCP sur l'UDM avec uniquement une IP disponible et je laisse le DHCP Windows actif qui continuera à affecter les baux. Je fige les IP sur l'UDM et quand c'est terminé je peux arrêter le DHCP Windows et élargir la plage sur l'UDM, et accessoirement faire marche arrière au besoin.

Par contre coté IPv6 il n'est pas possible à ce jour de figer les IP. Ca viendra, peut-être...

Sources

 

 

Commentaires (12) -

  • Un grand merci pour ton tuto clair, net et précis !
    Après avoir galéré avec cette histoire d'ipv6 pour l'app OQEE (via apple tv) j'ai réglé ça en 5min grâce à toi.
    Milles merci pour le partage de tes connaissances !!!
    • Welcome !
      J'ai bien galéré aussi avec des bribes d'infos à droite et à gauche, entre ceux qui savent et ne disent pas vraiment tout et ceux qui disent mais ne savent pas vraiment, c'est pour ça que j'ai essayé de synthétiser.
  • Salut.
    Merci pour ton article, très utile.
    Je suis très novice en config réseau etc, mais je cherche également à configurer l'ipv6 pour avoir accès à OQEE (sur AppleTV).
    je bloque tout bêtement au début: je rentre la commande de récupération ipv6/wan dans le terminal MacOS, mais ça ne fonctionne pas. Faut-il rentrer ça dans autre chose ?
    (j'ai configuré un pass pour le SSH sur UDM, ça c'est bon)
    • Non, je viens de tester à nouveau et c'est OK avec la dernière mise à jour de l'UDM : ip addr | grep "global dynamic" -B2 -A3
      • OK, alors il y a quelque chose que je ne comprends pas car lorsque je rentre ça dans le terminal MacOS: j'obtiens "zsh: command not found: ip".
        • Au cas ou... Dans le terminal il faut se connecter à l'UDM....

          #ssh root@ip_udm
          • OK, je me doutais bien qu'il me manquait une commande de ce type. (j'avais bien précisé que j'étais très novice ;-) )
            Bon maintenant j'ai un autre message d'erreur: "ssh: Could not resolve hostname ip_udm: nodename nor servname provided, or not known"
            • Bon OK, j'avais mis tout ça de côté, puis là j'y suis revenu.
              Donc c'est bon je me suis connecté en SSH, j'avais juste pas bien compris comment faire...(j'avais bien dit que j'étais "très novice" !!)
              J'ai ensuite suivi ta config pas à pas et là apparemment ça fonctionne !!
              Merci beaucoup pour ta précieuse aide. Je suis la preuve qu'avec un peu d'attention, tout le monde peu se lancer dans cette config, grâce à toi.
  • Hello, grand merci pour le tuto qui m'a clairement aidé en mai pour avoir accès à OQEE sur mon AppleTV par contre cela ne fonctionne plus... uniquement fait une mise à jour de mon UDR récemment donc peut-être un lien ?
    Pourtant tous les paramètres sont bien en place.
    • A priori rien n'a changé et ça fonctionne toujours.
  • Hello !
    Ton tuto est clair. Et je bloque dès le début :
    Quand je tape "ip addr | grep "global dynamic" -B2 -A3", le terminal ne me renvoie rien
    Quand je tape "ip addr", là j'ai la liste complète des interfaces de mon routeur. Sur le coup, je repère bien celle correspondant à mon port WAN, mais j'ai :
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
        link/ether 18:e8:29:49:84:fb brd ff:ff:ff:ff:ff:ff
        inet 82.67.85.164/24 brd 82.67.85.255 scope global eth0
           valid_lft forever preferred_lft forever
        inet6 fe80::1ae8:29ff:fe49:84fb/64 scope link
           valid_lft forever preferred_lft forever

    La différence est donc :
    - au niveau de la première ligne : " qdisc noqueue state UP" (j'ai eu UNKNOWN à cet endroit avant, mais ça a changé) au lieu de "qdisc htb state UP group default qlen 10000"
    - au niveau de la ligne de l'adresse IP4 "scope global" au lieu de "scope global dynamic"

    Je n'ai aucune idée de ce que tout ça signifie, mais j'ai suivi le reste de la procédure. Mes machines se voient bien distribuer des adresses IP6, mais le test google (https://ipv6test.google.com) me dit que je n'ai pas IPV6, je ne vois pas de trace d'une adresse IPV6 pour mon routeur ET quand je ping6, j'ai un timeout.

    Donc j'en déduis qu'il y a un problème quelque part mais je ne vois pas où ?

    Des idées ?
    • Tout cela est devenu obsolète, si on veut juste de l'IPv6 sur le LAN (sans délégation et réseaux multiples). Je vais ajouter des copies d'écran.

Ajouter un commentaire

Loading