(RTEX) Accéder à son Jeedom en IPv6

Tags: #<Tag:0x00007f3852fad390> #<Tag:0x00007f3852fad228>

Avec la raréfaction des adresses IP (IPv4) telles que nous les connaissons aujourd’hui, le besoin de se connecter à ses services en IPv6 va aller en grandissant.
Jeedom n’échappe pas à ce besoin.
Cet article montre que Jeedom est accessible et peut être contrôlé en IPv6. Il n’aborde pas les communications entre Jeedom et ses périphériques.

Malheureusement, les solutions à mettre en œuvre ne sont pas à la portée des non spécialistes réseaux aujourd’hui.

  1. Les prérequis
    Ce point est crucial. Vous devez dire pour chaque item que vous êtes capable de le gérer. Si non, vous n’arriverez pas à faire fonctionner la solution

1.a) Le Linux de votre Jeedom dispose via votre ISP et votre router d’une adresse IPv6.
Elle est de la forme xxxx.xxxx.xxxx.xxyy.zzzz.zzzz.zzzz.zzzz/128. ou x,y et z sont des hexadécimaux.
Les x représentent le network assigné par l’ISP. On parle ici de Prefix Delegation (PD) généralement en /56. Les y correspondent au préfixe que vous assignez à votre LAN.
Les z correspondent à la partie host de votre adresse IP.
Les adresses commençant par fe80 correspondent à une adresse IPv6 valable uniquement dans le subnet local.

1.b) Votre Dynamic DNS permet d’enregistrer des entrées AAAA.
Aujourd’hui, un Dynamic DNS gère généralement des entrées de type A. Pour fonctionner en IPv6, il doit aussi gérer des entrées de type AAAA

1.c) Le routeur fourni par votre ISP ou votre propre routeur doit être capable de gérer les règles de filtrage entrantes en IPv6.
Ce n’est pas souvent le cas. Par exemple, mon ISP via son routeur fournit un service IPv6 sortant. Il est par contre impossible de gérer les flux IPv6 entrant vers mon LAN.
J’ai donc installé mon propre routeur

  1. Les contraintes
    2.1) Mon ISP bloque par défaut les ports 80 et 443 vers le LAN. Je dois donc utiliser un port alternatif. Par exemple: 1825.

2.2) IPv6 n’est pas disponible partout. Par exemple, il n’est pas toujours disponible sur les smartphones en 4G. Les opérateurs ne l’activent pas. La solution doit donc fonctionner aussi bien en IPv4 qu’en IPv6 et de manière transparente.

  1. Les solutions
    3.1) Le Dynamic DNS: J’ai modifié le plugin DYNDNS pour y ajouter la détection de l’adresse IPv6 et la mise à jour du record AAAA.
    Comme se plugin s’exécute sur Jeedom, il détecte bien l’adresse IPv6 du Jeedom.
    Il fournit également correctement l’adresse IPv4 du routeur.

3.2) Apache: Par défaut, la configuration d’Apache fait qu’il n’écoute que sur les port 80 pour HTTP et 443 pour HTTPS. J’ai dû faire écouter Apache sur le port alternatif choisi.
Il faut modifier le fichier /etc/apache2/ports.conf en y ajoutant après la ligne Listen 80 , la ligne Listen 1825 https
Il faut également modifier dans /etc/apache2/sites-available le fichier de configuration ssl.
Il faut ajouter dans la définition du VirtualHost le port alternatif choisi.
La ligne devient <VirtualHost *:443 *:1825>

3.3) Le routeur: J’ai opté pour un Edgerouter X de Ubiquiti. Il me permet de gérer les différents aspects du routage mais aussi les règles du Firewall. Pour permettre l’accès à Jeedom en IPv6, j’ai ajouté la règle:
ALLOW protocol TCP destination address ::20c:33ff:fe33:3333/::ffff:ffff:ffff:ffff port 1825

La syntaxe utilisée pour l’adresse est de dire que l’on filtre uniquement sur la partie host de l’adresse IPv6. La partie network pouvant changer.

Lorsque tout ceci est mis en place et après un redémarrage de Jeedom vous devriez arriver à vous connecter en IPv6 et toujours en IPv4.

C’est visible dans la fenêtre Utilisateurs.
image

6 J'aimes

Merci @henribibi,

Excellent tuto très clairement rédigé.

merci pour le tuto, c’est très intéressant.

Bonjour Henribi,
merci pour le tuto!

pourriez-vous indiquer comment procéder pour le modification du plugin dyndns?

Quelqu’un a-t-il testé avec le dynhost d’OVH?

Bonjour,

Il n’est pas publié, ni disponible sur le web pour le moment.
Je vais te l’envoyer par MP.

Bonjour,

Tu trouveras le plugin sur github Plugin DynDns6

Dans la page de configuration pour les services qui supportent IPv6, tu as une checkbox IPv6 pour activer ou pas la mise à jour de l’adresse IPv6.
J’ai vérifié dans le code et OVH n’a pas actuellement de support dans le code pour IPv6.
Lors de mes recherches, je n’ai pas trouvé la méthode ou la possibilité de le faire chez OVH.
Les services dynamic DNS supportés sont actuellement No-IP et duckdns.

Si tu trouve les informations pour OVH, je peux adapter le code.

Bonjour Henribi,

un double merci! pour le plugin et duckdns que je ne connaissais pas