Pourquoi les vérifications DNS échouent depuis la Russie, la Chine et Taïwan (et comment nous l'avons corrigé)
Parfois, une vérification DNS n'échoue pas à cause d'un problème avec le DNS lui-même. Elle échoue parce que le chemin réseau vers le résolveur est bloqué avant même que la requête ne parte — et aucune quantité de nouvelles tentatives ou de changements de résolveur n'y changera rien.
Le problème que nous avons trouvé
Des tests menés directement depuis l'hôte de production, pas seulement en théorie, ont montré que son réseau bloque entièrement le port 53 (UDP et TCP), le DoH et le DoT vers les résolveurs en Russie, en Chine et à Taïwan.
L'ampleur du problème
40 résolveurs étaient concernés — Yandex, 114DNS, AliDNS, Baidu, HiNet, Quad101, Rostelecom, MSK-IX et d'autres arrivaient tous en délai dépassé. Seuls DNSPod et KT répondaient directement.
Pourquoi une autre liste de résolveurs ne pouvait pas corriger cela
Ce n'est pas une question de savoir quels résolveurs sont fiables en général — c'est le chemin réseau propre de l'hôte vers des pays précis qui est bloqué à un niveau qu'aucune liste blanche de résolveurs ne peut atteindre. Changer les résolveurs interrogés ne change rien quand la connexion elle-même ne part jamais.
La solution réelle
Un Cloudflare Worker (app/probe-worker) répète la requête DNS via TCP/53 depuis le réseau propre de Cloudflare, qui n'est pas soumis au même blocage, et renvoie la réponse brute à notre backend.
Quels résolveurs passent par le relais
Sept résolveurs précis sont acheminés ainsi — Yandex, 114DNS (deux adresses), AliDNS (deux adresses) et HiNet — via queryViaProbe dans probe.go, et seulement quand les variables d'environnement PROBE_URL et PROBE_TOKEN sont réellement configurées. Sans elles, rien ne change ; tout autre résolveur est interrogé exactement comme avant.
Pourquoi ce n'est pas un proxy ouvert
Le Worker exige un jeton bearer et n'accepte que les requêtes pour cette liste fixe de sept résolveurs — il ne peut pas être utilisé pour relayer un trafic DNS arbitraire vers ailleurs.
Les limites du plan gratuit qui façonnent la conception
Le plan gratuit Workers de Cloudflare autorise 100 000 requêtes par jour, 10 ms de temps CPU, 50 sous-requêtes et 6 connexions simultanées par invocation — ce qui donne environ 3 500 vérifications par jour à 28 appels de Worker chacune.
Essayer une vérification de propagation
Voyez la théorie en pratique — lancez Vérificateur de propagation DNS pour votre propre domaine.