Diagnostic : beaucoup d’erreurs DNS sans modifications faites

Mon serveur YunoHost

Matériel: VPS acheté en ligne
Version de YunoHost: 11.0.10.2 (stable)
J’ai accès à mon serveur : En SSH | Par la webadmin
Êtes-vous dans un contexte particulier ou avez-vous effectué des modificiations particulières sur votre instance ? : non

Description du problème

Bonjour,

Étonnamment le diagnostic de YunoHost m’envoie par mail depuis deux jours de nombreuses erreurs et avertissements concernant ma configuration DNS. Cela alors que je n’ai fait aucune modification sur le serveur ou chez mon registar (Gandi).

J’ai essayé de faire les mises à jour et de redémarrer le serveur, au cas où, mais le souci est toujours présent.

Je me suis connecté à la webadmin pour lancer un diagnostic manuellement et j’obtiens pendant le diagnostic ce message d’erreur pour la catégorie ip, sans que cela empêche le diagnostic de se finir :

Erreur pour la catégorie ip
Échec du diagnostic pour la catégorie 'ip':
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 169, in _new_conn
conn = connection.create_connection(
File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 96, in create_connection
raise err
File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 86, in create_connection
sock.connect(sa)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 699, in urlopen
httplib_response = self._make_request(
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 382, in _make_request
self._validate_conn(conn)
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1012, in _validate_conn
conn.connect()
File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 353, in connect
conn = self._new_conn()
File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 174, in _new_conn
raise ConnectTimeoutError(
urllib3.exceptions.ConnectTimeoutError: (, 'Connection to ip6.yunohost.org timed out. (connect timeout=30)')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/requests/adapters.py", line 439, in send
resp = conn.urlopen(
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 755, in urlopen
retries = retries.increment(
File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 574, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='ip6.yunohost.org', port=443): Max retries exceeded with url: / (Caused by ConnectTimeoutError(, 'Connection to ip6.yunohost.org timed out. (connect timeout=30)'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/moulinette/utils/network.py", line 24, in download_text
r = requests.get(url, timeout=timeout)
File "/usr/lib/python3/dist-packages/requests/api.py", line 76, in get
return request('get', url, params=params, **kwargs)
File "/usr/lib/python3/dist-packages/requests/api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/lib/python3/dist-packages/requests/sessions.py", line 542, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python3/dist-packages/requests/sessions.py", line 655, in send
r = adapter.send(request, **kwargs)
File "/usr/lib/python3/dist-packages/requests/adapters.py", line 504, in send
raise ConnectTimeout(e, request=request)
requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='ip6.yunohost.org', port=443): Max retries exceeded with url: / (Caused by ConnectTimeoutError(, 'Connection to ip6.yunohost.org timed out. (connect timeout=30)'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/yunohost/diagnosers/10-ip.py", line 220, in get_public_ip
return download_text(url, timeout=30).strip()
File "/usr/lib/python3/dist-packages/moulinette/utils/network.py", line 30, in download_text
raise MoulinetteError("invalid_url", url=url)
moulinette.core.MoulinetteError: Impossible de se connecter à https://ip6.yunohost.org... peut-être que le service est hors service/indisponible/interrompu, ou que vous n'êtes pas correctement connecté à Internet en IPv4/IPv6.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/yunohost/diagnosis.py", line 196, in diagnosis_run
code, report = diagnoser.diagnose(force=force)
File "/usr/lib/python3/dist-packages/yunohost/diagnosis.py", line 449, in diagnose
items = list(self.run())
File "/usr/lib/python3/dist-packages/yunohost/diagnosers/10-ip.py", line 88, in run
ipv6 = self.get_public_ip(6) if can_ping_ipv6 else None
File "/usr/lib/python3/dist-packages/yunohost/diagnosers/10-ip.py", line 224, in get_public_ip
self.logger_debug(f"Could not get public IPv{protocol} : {e}")
AttributeError: 'MyDiagnoser' object has no attribute 'logger_debug'

Et voici les logs du diagnostic : https://paste.yunohost.org/raw/turegitera

Je ne sais pas ce que je dois faire vu que tous mes sites et services sont pourtant accessibles sans aucun souci.

Je vous remercie d’avance pour vos conseils :slight_smile:

  - Cet enregistrement DNS ne semble pas correspondre à la configuration recommandée : 
    Type : AAAA
    Nom : @
     La valeur actuelle est : 2a01:xxx:xxxx:xxxx::1
     La valeur attendue est : None

ça ressemble à un serveur qui avait de l’IPv6 et donc tu as configuré un enregistrement AAAA

mais l’IPv6 a disparu sur ton serveur pour une raison quelconque, et donc pour être cohérent il faudrait supprimer ces enregistrements AAAA (ou bien rétablir l’IPv6)

Ca continue de marcher car sans doute ça marche en IPv4 … par contre LetsEncrypt n’acceptera pas de renouveller ton certificat si il y a un enregistrement AAAA pour ton serveur mais qu’il ne fonctionne pas

Merci pour ta réponse @Aleks

Je suis allé voir dans l’interface de gestion de mon hébergeur (Hetzner) et pourtant ipv6 semble bien en place et quand je teste avec par exemple ce site il est bien détecté aussi : IPv6 domain readiness tester

Et est-ce que tu arrives à faire ping ip6.yunohost.org et curl ip6.yunohost.org depuis ton serveur ?

ah mince effectivement ça ne marche pas…

admin@Yunohost:~$ ping ip6.yunohost.org
PING ip6.yunohost.org(yunohost.org (2001:910:1410::1)) 56 data bytes
From core5.fra.hetzner.com (2a01:4f8:0:3::326) icmp_seq=16 Destination unreachable: Address unreachable
From core5.fra.hetzner.com (2a01:4f8:0:3::326) icmp_seq=26 Destination unreachable: Address unreachable
From core5.fra.hetzner.com (2a01:4f8:0:3::326) icmp_seq=27 Destination unreachable: Address unreachable
From core5.fra.hetzner.com (2a01:4f8:0:3::326) icmp_seq=36 Destination unreachable: Address unreachable
From core5.fra.hetzner.com (2a01:4f8:0:3::326) icmp_seq=37 Destination unreachable: Address unreachable
^C
--- ip6.yunohost.org ping statistics ---
37 packets transmitted, 0 received, +5 errors, 100% packet loss, time 36753ms

admin@Yunohost:~$ curl ip6.yunohost.org
curl: (7) Failed to connect to ip6.yunohost.org port 80: No route to host
admin@Yunohost:~$ 

C’est un souci que je dois voir directement avec mon hébergeur ?

D’après ce que j’ai compris, vous devez vous rendre sur Hetzner Cloud et demander à ce qu’ils ouvrent le port 25.

As far as I understood you need to go to Hetzner Cloud and ask them to open Port 25 for you.

Here its explained why they closed Port 25: (Reason: Spammers)
https://docs.hetzner.com/de/cloud/servers/faq/

J’ai le même problème Hetzner <–ipv6–> Yunohost.
L’IPv6 marche sur mon serveur : il accepte les connexions de chez moi en ipv6, et depuis le serveur, je connecte le reste du monde en ipv6 sauf yunohost.org.

$ ping -6 yunohost.org
PING yunohost.org(yunohost.org (2001:910:1410::1)) 56 data bytes
From core5.fra.hetzner.com (2a01:4f8:0:3::32a) icmp_seq=1 Destination unreachable: Address unreachable
^C
--- yunohost.org ping statistics ---
2 packets transmitted, 0 received, +1 errors, 100% packet loss, time 1002ms

$ ping -6 www.google.com
PING www.google.com(par21s20-in-x04.1e100.net (2a00:1450:4007:818::2004)) 56 data bytes
64 bytes from par21s20-in-x04.1e100.net (2a00:1450:4007:818::2004): icmp_seq=1 ttl=57 time=12.8 ms
64 bytes from par21s20-in-x04.1e100.net (2a00:1450:4007:818::2004): icmp_seq=2 ttl=57 time=12.5 ms
^C
--- www.google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 12.510/12.647/12.785/0.137 ms

Je me demandais si les problèmes avec le port 25 et IPv6 étaient connectés sur mon dernier diagnostic…

@Gavy est-ce que tu t’envoies des emails à partir de ton serveur Yunohost et est-ce que tu les mets dans ton dossier spam? J’essaie de comprendre pourquoi Hetzner aurait décidé de fermer le port 25 sur nos serveurs.

@Alaska donc la solution serait de demander à Hetzner de réouvrir le port? Leur FAQ conseille de faire une “limit request”: je sais pas si le lien est obsolète ou quoi, mais je crois qu’aucune des options sur cette page n’est liée à la question du port 25. Quelqu’un a une idée?

@Alaska @yunohoster : j’ai du mal à comprendre comment vous faites un quelconque lien avec le port 25 … ping ip6.yunohost.org n’a aucun lien avec le port 25 (c’est meme pas du TCP/UDP) …

@Aleks Techniquement, tu as sûrement raison (j’y connais rien), mais il semblerait que ces deux problèmes sont apparus au même moment pour au moins 2 personnes sur Hetzner, donc il y a un quelconque lien (sur Hetzner).

Dans le diagnostic (une des erreurs liées à IPv6):

[ERROR] The SMTP mail server cannot send emails to other servers because outgoing port 25 is blocked in IPv6.

  • You should first try to unblock outgoing port 25 in your internet router interface or your hosting provider interface. (Some hosting providers may require you to send them a support ticket for this).
  • Some providers won’t let you unblock outgoing port 25 because they don’t care about Net Neutrality.
    • Some of them provide the alternative of using a mail server relay though it implies that the relay will be able to spy on your email traffic.
    • A privacy-friendly alternative is to use a VPN with a dedicated public IP to bypass these kinds of limits. See YunoHost • index
    • You can also consider switching to a more net neutrality-friendly provider

Certes, le diagnostic se plaint qu’il peut pas envoyer de mail sur le port 25 en IPv6 … m’enfin si l’IPv6 ne fonctionne pas du tout, ça veut dire que le problème n’est pas le port 25 mais toute la pile IPv6 dans son entièreté …

1 Like

Comme je disais, j’y connais rien: je me suis demandé si c’était pas l’explication la plus simple en écrivant le commentaire précédent, mais maintenant que tu le dis ça sonne correct.

Merci @Aleks, on semble avancer: le problème serait lié à IPv6 sur Hetzner.

Si ça aide:

  • Mon output pour ping ip6.yunohost.org et curl ip6.yunohost.org est pareil que celui de @Gavy.
  • Le serveur lui-même ne rapporte aucun problème
  • Éteindre et rallumer le serveur ne fixe pas le problème
  • Pas de changements non plus au processus de configuration d’IPv6.

J’ai contacté Hetzner, je vais updater le thread quand j’ai une solution et écrire un résumé en anglais au cas où d’autres ont le problème.

Merci à tous pour vos réponses :slight_smile:

Je viens d’ouvrir un ticket auprès du support de Hetzner, je transmettrai ici leur réponse mais effectivement c’est tout ipv6 qui est apparemment HS sur mon serveur…

Bon très étrange mais le problème semble être résolu, sans action de ma part, redémarrage du serveur ou autre :

  • Tous les diagnostics sont ok
  • Je peux ping ip6.yunohost.org et curl ip6.yunohost.org sans souci
  • Mes renouvellements de certificats Let’s Encrypt qui étaient bloqués ont pu se faire ce matin automatiquement

Pas de nouvelles de Hetzner suite à l’ouverture du ticket auprès de leur support, je ne sais pas si cette résolution est de leur fait. Si je n’ai pas de message de leur part dans la journée je leur écrirai de nouveau pour leur demander s’ils ont fait quelque chose (je mettrai ce post comme résolu ensuite).

Same here. Everything works again. Without any doing from me.

J’ai eu exactement le même souci avec un VPS (Open VZ), debian-11.0-x86_64, chez hébergeur INIZ. Comme vous c’est rentré dans l’ordre ce matin sans aucune intervention. Je pense que le probleme venait de l’outil de diagnostic Yunohost.

1 Like

La réponse que j’ai eue de la part de Hetzner :

Dear Client,
our network team has deployed a fix to mitigate the routing issues from Hetzner to Yunohost.
Please excuse any inconvenience this has caused.

[Yunohost étant le nom de mon VPS]

1 Like

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.