Si les lignes de résolution DNS intelligente configurées dans Alibaba Cloud DNS ne routent pas le trafic comme prévu, résolvez le problème en appliquant les méthodes décrites dans cette rubrique.
Cette méthode s'applique uniquement aux domaines utilisant Alibaba Cloud DNS. Si votre domaine est hébergé sur des serveurs DNS appartenant à un autre fournisseur, contactez ce dernier pour obtenir de l'aide.
1. Vérifiez l'IP de sortie du DNS local
Alibaba Cloud DNS effectue la résolution DNS intelligente en se basant sur l'adresse IP de sortie du DNS local du client, et non sur l'adresse IP du client lui-même.
Contactez votre administrateur réseau pour obtenir les adresses IP de sortie DNS détaillées.
Exécutez la commande suivante plusieurs fois pour obtenir l'adresse IP :
dig +short TXT whoami.ds.akahelp.net(pour Linux) ounslookup -q=txt whoami.ds.akahelp.net(pour Windows).
La commande de diagnostic renvoie les paramètres suivants :
$ dig +short TXT whoami.ds.akahelp.net ok at 11:20:47# Command for Linux.
"ns" "123.126.xx.xx" # ns is the egress IP of the local DNS, which can be an IPv4 or IPv6 address.
"ecs" "120.52.xx.xx/32/24" # ecs (EDNS-client-subnet) is the client subnet included in the query request.
"ip" "123.126.xx.xx" # ip is the client's representative IP address selected by the authoritative name server from ecs. The local DNS does not carry the actual client IP to protect user privacy.
Sortie de la commande Windows
C:\Users\xxx>nslookup -q=txt whoami.ds.akahelp.net
Server: Unknown
Address: 172.20.10.1
Non-authoritative answer:
whoami.ds.akahelp.net text =
"ns"
"197.234.xxx.29"
whoami.ds.akahelp.net text =
"ip"
"197.239.xxx.163"
whoami.ds.akahelp.net text =
"ecs"
"197.239.xxx.xxx/24/24"
Sortie de la commande Linux
[root@iZbp1igkb78js3gsxxx ~]# dig +short TXT whoami.ds.akahelp.net
"ns" "2404:6800:4005:c08::xxx"
"ecs" "112.124.xxx.0/24/24"
"ip" "112.124.xxx.5"
Une fois l'adresse IP de sortie du DNS local obtenue, exécutez dig <domain_name> @vip4.alidns.com +subnet=<local_DNS_egress_IP> et vérifiez que le résultat est correct.
Remplacez le paramètre vip4.alidns.com par le nom de votre serveur DNS réel. Pour plus d'informations, consultez la rubrique Afficher l'état des serveurs DNS et gérer les exceptions.
2. Les enregistrements DNS sur une ligne personnalisée ne prennent pas effet
Une ligne personnalisée définit une plage d'adresses IP pour la source de la requête. Vous devez spécifier la plage d'adresses IP de sortie des DNS locaux des clients, et non leurs propres adresses IP. Dans le cas contraire, la ligne personnalisée ne correspondra pas et Alibaba Cloud DNS renverra l'enregistrement DNS de la ligne par défaut.
Un DNS local possède souvent plusieurs adresses IP de sortie. Pour configurer une ligne personnalisée aussi précise que possible, obtenez la liste complète de ces adresses auprès de votre administrateur réseau.
Si le DNS local ne dispose que de quelques adresses IP de sortie, exécutez la commande suivante plusieurs fois pour les identifier :
dig +short TXT whoami.ds.akahelp.net(pour Linux) ounslookup -q=txt whoami.ds.akahelp.net(pour Windows).Les lignes personnalisées ne prennent pas en charge les adresses IPv6. Si l'adresse IP de sortie du DNS local est une adresse IPv6, la ligne personnalisée ne correspondra pas et le système renverra l'enregistrement DNS de la ligne par défaut.
3. Comment la mise en cache CNAME de la ligne par défaut entraîne un routage incorrect
Cas d'utilisation
Un enregistrement CNAME est configuré sur la ligne par défaut.
Vous configurez un enregistrement DNS non CNAME (tel qu'un enregistrement A, AAAA, TXT ou MX) sur une ligne autre que la ligne par défaut.
Analyse de la cause
Lorsqu'une requête est effectuée pour un enregistrement DNS sur une ligne autre que la ligne par défaut :
Si le type d'enregistrement demandé est A, mais que la ligne correspondante possède un enregistrement AAAA et aucun enregistrement A, le système renvoie une réponse vide. Cela n'entraîne pas de routage incorrect.
Si le type d'enregistrement demandé est AAAA, mais que la ligne correspondante possède un enregistrement A et aucun enregistrement AAAA, le système renvoie une réponse vide. Cela n'entraîne pas de routage incorrect.
Si le type d'enregistrement demandé est A, mais que la ligne correspondante ne contient ni enregistrement A ni AAAA (uniquement des enregistrements tels que TXT ou MX), le système renvoie l'enregistrement CNAME de la ligne par défaut. Le DNS local met alors cet enregistrement en cache, ce qui entraîne un routage incorrect.
Si le type d'enregistrement demandé est AAAA, mais que la ligne correspondante ne contient ni enregistrement A ni AAAA (uniquement des enregistrements tels que TXT ou MX), le système renvoie l'enregistrement CNAME de la ligne par défaut. Le DNS local met alors cet enregistrement en cache, ce qui entraîne un routage incorrect.
Si la requête concerne un type d'enregistrement tel que MX ou TXT et qu'aucun enregistrement de ce type n'est configuré sur la ligne correspondante, le système renvoie l'enregistrement CNAME de la ligne par défaut, que le DNS local met en cache. Étant donné que les enregistrements CNAME ont la priorité la plus élevée, les requêtes A ou AAAA ultérieures (même si elles sont configurées sur la ligne non par défaut) seront résolues à tort vers l'enregistrement CNAME mis en cache jusqu'à l'expiration de son TTL. Cela provoque un routage incorrect.
Solution
Pour résoudre ce problème, utilisez un enregistrement CNAME intermédiaire pour les enregistrements A et AAAA sur la ligne non par défaut. Par exemple, pour le domaine dns-example.top, créez d'abord des enregistrements A et AAAA pour test.dns-example.top pointant vers vos adresses IPv4 et IPv6. Ensuite, pour votre domaine de service sur la ligne China Mobile, créez un enregistrement CNAME pointant vers test.dns-example.top.
Le sous-domaine
test.dns-example.topest fourni à titre d'exemple. Utilisez un nouveau sous-domaine pour lequel aucun enregistrement DNS préexistant n'est défini.Vous devez ajouter les enregistrements A et AAAA avant d'ajouter l'enregistrement CNAME. Dans le cas contraire, vous risquez de provoquer une interruption de la résolution.
Avant la modification :
|
Enregistrement hôte |
Type |
Source de la requête |
Valeur |
|
@ |
AAAA |
China Mobile |
ff03:0:0:0:0:0:0:c1 |
|
@ |
A |
China Mobile |
223,5.. |
|
@ |
CNAME |
Default |
www.aliyun.com |
Après la modification :
|
Enregistrement hôte |
Type |
Source de la requête |
Valeur |
|
@ |
AAAA |
China Mobile |
ff03:0:0:0:0:0:0:c1 |
|
@ |
A |
China Mobile |
223,5.. |
|
@ |
CNAME |
China Mobile |
test.dns-example.top |
|
@ |
CNAME |
Default |
www.aliyun.com |
Les lignes par défaut et non par défaut utilisent désormais des enregistrements CNAME, qui partagent la même priorité. Lorsqu'un client demande un type d'enregistrement (tel que MX ou TXT) qui n'est pas configuré sur une ligne, le système renvoie une réponse vide au lieu du CNAME par défaut. Cela permet d'éviter la pollution du cache.