IPv6 ne fonctionne pas (plus ?), dyndns ne la résout pas

What type of hardware are you using: Old laptop or computer
What YunoHost version are you running: 12.1.40.1
How are you able to access your server: The webadmin
SSH

Describe your issue

J’ai commencé en anglais, mais étant proche de me pendre à mon wifi, je reprends en français.

Posons le cadre : je suis béni par SFR d’une IPv4 en CGNAT et d’une IPv6. Ça sent pas bon. Pour une raison inconnue, il m’est arrivé approximativement 4 fois de réussir à joindre mon serveur via son adresse nohost.me, même depuis un smartphone en 4G donc hors wifi. Mais rapidement, ça plante de nouveau et ça devient même injoignable depuis le réseau interne (hors passage par la v4 local en 192 ou la v6 en direct entre crochet dans firefox). Vu que je galère, j’arrête et je reprends 1 mois après et on en est là.

Après moult péripéties, j’ai noté que dyndns malgré ses messages de succès ne mettait pas à jour mon ipv6 (voir le log [ici][ hastebin ). J’ai confirmé en rajoutant un logger.info dans le script python pour en avoir le cœur net.

J’ai fini par vérifier à la main curl -6 ip6.yunohost.org et là, rien côté serveur, alors que mon ordi connecté au réseau me renvoie bien mon ip6. En regardant justement via ip a je note que la différence est que l’ip6 du server est en scope global dynamic mngtmpaddr alors que celle sur mon ordi que renvoie le server est en scope global temporary dynamic (visiblement j’en ai une aussi en global dynamic). Là je me rends compte que mon serveur ne ping rien du tout en ip6, même pas les serveurs Google. Je me résous à contacter Tonton Claude qui me suggère

sudo sysctl -w net.ipv6.conf.wlp0s20f3.use_tempaddr=2
sudo sysctl -w net.ipv6.conf.all.use_tempaddr=2

Et là ça ping partout, joie ! Oui mais ! impossible de faire l’update dyndns. Le log est ici. On voit l’ipv6 mais plus de v4 !

Le diag de yunohost est en PLS : Le serveur ne semble pas du tout connecté à Internet ! ?

J’ai fait tout ça avant de découvrir l’option IPv6 only dans les paramètres. Mais maintenant, j’ai tout remis en état avec tempaddr=0 et ça plante toujours. Même en mettant both ou ipv6 only.

Je suis perdu. J’ai l’impression qu’il y a un problème avec mon IPv6 mais j’ai du mal à savoir quoi.

Share relevant logs or error messages

Already inlined in the text.

Je me réponds plutôt qu’une édition trop longue.

Je pensais avoir tout lu, mais j’avais raté celui-là. Pas tout à fait le même problème, mais presque. Je pensais éviter le vilain fichier netplan mais je crains devoir m’y résoudre. Mystère.

Désespéré, je reboot et là le diag de yunohost me dit que tout est bon sur l’ipv6, et l’update dyndns fonctionne ! Et le site est accessible depuis mon smartphone en 4G ! Je ne comprends plus rien. La sortie de ip a est la même qu’avant.

Étant encore novice en linux je ne saurais pas plus expliquer, mais trop content que ça fonctionne pour toi à présent :victory_hand: Merci beaucoup à @jarod5001 et @rodinux qui se sont beaucoup décarcassés pour m’aider :man_bowing: Et pour moi aussi, le français est plus facile :blush: Longue vie à la communauté et à l’entraide ici et partout :rocket:

Merci d’avoir apporté ta réponse pour que ça puisse potentiellement servir à d’autres :hugs: Et si c’est résolu tu peux même cocher “Solution” :+1:

Malheureusement le problème n’est pas résolu. Comme attendu le site est inaccessible ce matin. Il y a quelque chose que je ne comprends pas sur cet IPv6. Je vais peut-être me résoudre à en faire une statique. Mais j’aimerais comprendre avant si c’est bien ça le problème.

Si je comprends ipv6.yunohost.org stricto-sensu est utilisé ici comme référence pour vérifier que la pile ipv6 fonctionne ?

Pour référence chez moi, comme chez tout autre personne d’ailleurs à cette date :

dig AAAA ip6.yunohost.org

ip6.yunohost.org.	39	IN	AAAA	2001:910:1400:115::12

ce que le curl aurait du retourner.

curl -6 ip6.yunohost.org
<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>

il se trouve que yunohost.org a eu des soucis hier, si le test a eu lieu lors des soucis réseaux il est fort probable que le curl n’ai pas fonctionné, ce test n’aura donc pas aidé à avoir une information sur l’état local.

pour curl if faut tester avec ‘https://ip6.yunohost.org

curl -6 https://ipv6.yunohost.org

le résultat est l’adresse ipv6 source vue par ipv6.yunohost.org qui est retournée en texte. Evidemment si le serveur yunohost ne réponds pas…

Comme la librairie yuonhost s’appuie sur un fichier de cache /var/cache/yunohost/ipv6 qui est valide durant 2 minutes. Pour s’assurer que l’adresse est redemandée il faut supprimer le fichier.

pour la configuration actuelle, le 2 de use_tempaddr semble être la valeur classique

sysctl -n net.ipv6.conf.all.use_tempaddr
2

pour le dyndns , dans la première capture la trace suivante

2026-07-20 20:28:04,817: DEBUG - Reusing IPv6 from cache: None

semble indiquer qu’il n’y a pas d’adresse ipv6 à fournir.

dans la seconde capture

2026-07-20 21:21:11,784: ERROR - [Errno 101] Network is unreachable

Ici le rréseau semble injoignable, soit un problème local, ou bien est-ce que le service dyndns de yunohost avait un souci à ce moment ?

Est-ce que cela marche mieux aujourd’hui ?

Voici ma compréhension actuelle et celle-ci pourrait remettre en question la façon dont fonctionne la détection de l’adresse ip publique de l’équipement dans la librairie yunohost.

L’interface configurée avec use_tempaddr se voit affecter un adresse ipv6 temporaire supplémentaire qui sert pour anonymiser l’adresse ipv6.
Ceci est relatif à la RFC 4941: (Privacy Extensions for Stateless Address Autoconfiguration in IPv6) pour laquelle un nouvelle RFC 8981 est en proposition qui elle fait disparaitre le mot Privacy par Temporary.
Cette adresse est temporaire et susceptible de changer et d’ailleurs elle a tout intérêt de le faire de temps à autre afin justement de limiter le suivi.
Cette adresse est préférée pour toutes les connexions sortantes.

Sur une machine de bureau cela a tout son intérêt, sur un serveur, on peut légitimement se poser la question.

pour supprimer cette adresse il faut désctiver l’utilisation de use_tempaddr, ( à tester )

sudo sysctl -w net.ipv6.conf.wlp0s20f3.use_tempaddr=0

L’adresse marquée mngtmpaddr est celle obtenu depuis la box en mode autoconfiguration (SLAAC), sachant qu’ipv6 propose cette méthode pour obtenir des adresses automatiquement dans son protocole, ce qui est différent d’ipv4 qui nécessite dhcp pour le faire. Ce serait trop simple s’il n’était pas aussi possible d’avoir un dhcpv6 qui lui aussi permet d’obtenir une adresse ipv6, mais la plupart du temps il n’est pas nécessaire d’utiliser dhcpv6 sur le client. Mais je digresse.
La documentation pour mngtmpaddr peut se trouver dans le man ip-address.
Et on y découvre que cela indique que c’est une adresse ‘template’, ainsi les premiers octets du réseau ( /64 la plupart du temps ) servent pour dériver une adresse ip temporaire celle dont j’ai parlé précedemment.

Maintenant on a deux adresses ipv6 globales, les deux sont joignables directement depuis internet, la mngtmpaddr sera celle que l’on peut voir si on demande à la box quelle adresse ipv6 a été fournie à l’équipement et celle qui n’a pas mngtmpaddr a été créé en sus pour servir pour les connexions sortantes.

Donc quand ipv6.yunohost.org reçoit une connexion il la reçoit avec l’adresse temporaire, puisque c’est celle utilisée de préférence, et pourtant ce n’est pas celle fournie par la box.

Le problème doit apparaite au redémarrage de l’équipement mais doit être résolu assez rapidement par la mise à jour du dyndns. Evidemment si le dyndns a des soucis …
Le problème est encore plus marqué lorsque l’on utilise un dns manuel et que l’on enregistre l’adresse ipv6, il faut alors s’assurer d’utiliser celle avec mngtmpaddr quand il y a plusieurs globales.

J’ai laissé ici de côté le cas où l’on active dhcpv6, parce que je n’ai pas encore regardé, ce cas peut arriver si on mets en place de la délégation de préfixe, mais c’est une autre purée.

Je faisais bien le curl sur https://ip6.yunohost.org. Merci pour cette explication longue et détaillée. Est-ce qu’une ip6 statique pour mon ethernet aurait un quelconque effet ? Est-ce que désactiver SLAAC sur ma box pourrait faire quelque chose ? Je suis loin d’être un expert réseau.

Ça ne fonctionne pas mieux aujourd’hui, mis à part les quelques reboots qui m’ont permis de faire quelques tests. Pour une raison que j’ignore, l’interface ethernet n’était pas activée. Je pensais que le port était HS, mais elle était juste désactivée. Je l’ai activé et désactivé le wifi. Peut-être moins capricieux à long terme que le wifi.

Cependant, j’ai eu le même problème. use_tempaddr est à 0 par défaut et ça ne permet pas de résoudre l’adresse ip6. Si je passe à 2, ça fonctionne un temps et ça finit par s’arrêter. Ou pas, ça a l’air de tenir là. J’arrive à y accéder depuis mon smartphone, mais pas depuis mon portable qui est sur le même réseau que le serveur.

EDIT: j’ai fait un test en ajoutant un domaine dynv6.com où je peux écrire à la main l’IP6 à utiliser. Si je mets la temporary ou la global, ça ne fonctionne pas. Je tourne en rond. J’ai du mal à savoir si c’est un problème lié à ma box, à l’interface réseau de debian ou à yunohost.

@Gilgamesh

Le fait de ne pas pouvoir y accéder depuis le même réseau est un indicateur que cela dysfonctionne. Comment as tu testé ? Dans ce cas il faut s’assurer de ne pas utiliser la résolution par nom mais bien donner l’adresse ipv6.

Il faut donc investiguer pas à pas, en ne changeant qu’un seul paramètre à chaque fois, en prenant une note textuelle et copiant le résulat de ip a pour établir s’il ya des changements. En mode avancé tester avec une capture réseau wireshark ou tshark ou tcpdump peut aidier, mais il faut avoir une expertise réseau pour analyser les traces.

Côté box aussi regarder si l’adresse ipv6 est bien vue, sur le forum SFR y a t’il des informations au sujet d’ipv6 ?

Un ip statique pourrait aider encore qu’une partie de la question est autours du parefeu de la box en ipv6, si la box ne connait pas l’équipement, il faut pouvoir spéicef les adresses à la main ou bien ouvrir tout ipv6.