Comment puis-je déterminer si mon résolveur DNS public prend en charge l'extension EDNS Client Subnet (ECS) ?

Lecture de 4 minute(s)
0

J'utilise des stratégies de routage basées sur la géoproximité, la géolocalisation et la latence dans Amazon Route 53. Je dois trouver l'adresse IP de mon résolveur DNS public et déterminer s'il prend en charge l'extension EDNS Client Subnet (ECS).

Résolution

Utilisez des jeux d'enregistrements DNS spécifiques pour rechercher l'adresse IP publique du résolveur DNS, puis déterminez la prise en charge de l'extension EDNS Client Subnet

Interrogez les ensembles d'enregistrements DNS suivants afin d'obtenir une sortie incluant l'adresse IP de votre résolveur DNS. La sortie fournit également des détails sur l'extension EDNS Client Subnet, si votre résolveur la prend en charge.

Remarque : si vous utilisez Windows, vous pouvez utiliser nslookup pour exécuter ces commandes.

1.    Utilisez l'ensemble d'enregistrements TXT « o-o.myaddr.l.google.com » :

$ dig +nocl TXT o-o.myaddr.l.google.com +short
$ dig +nocl TXT o-o.myaddr.l.google.com @Resolver-IP +short

Si l'extension EDNS Client Subnet n'est pas prise en charge, la sortie se présente comme suit :

"203.201.60.5"

Dans cet exemple, la sortie indique que le résolveur avec l'adresse IP 203.201.60.5 ne prend pas en charge l'extension EDNS Client Subnet.

Si l'extension EDNS Client Subnet est prise en charge, la sortie se présente comme suit :

"172.253.220.1"
"edns0-client-subnet 27.34.254.0/24"

Dans cet exemple, la sortie indique que le résolveur avec l'adresse IP 172.253.220.1 prend en charge l'extension EDNS Client Subnet. Les informations du sous-réseau client 27.34.254.0/24 sont envoyées au serveur de noms faisant autorité.

Si vous utilisez DIG 9.9.3 ou version ultérieure, vous pouvez également transmettre le sous-réseau client à l'aide de dig :

$ dig +nocl TXT o-o.myaddr.l.google.com @8.8.8.8 +subnet=35.163.158.0/24 +short
"74.125.18.67"
"edns0-client-subnet 35.163.158.0/24"

Dans cet exemple, la première ligne indique l'adresse IP du résolveur DNS. La deuxième ligne fournit la valeur « edns0-client-subnet » transmise au serveur de noms faisant autorité.

2.    Utilisez le jeu d'enregistrements « resolver-identity.cloudfront.net ».
Remarque : cette opération renvoie uniquement l'adresse IP publique du résolveur DNS.

$ dig resolver-identity.cloudfront.net +short
203.201.60.5

Dans cet exemple, 203.201.60.5 est l'adresse IP du résolveur récursif.

3.    Utilisez l'ensemble d'enregistrements TXT « rs.dns-oarc.net ».
Remarque : cette opération renvoie uniquement l'adresse IP publique du résolveur DNS.

$ dig +short rs.dns-oarc.net txt @8.8.8.8
rst.x4050.rs.dns-oarc.net.
rst.x4058.x4050.rs.dns-oarc.net.
rst.x4064.x4058.x4050.rs.dns-oarc.net.
"172.217.34.197 DNS reply size limit is at least 4064"
"172.217.34.197 sent EDNS buffer size 4096"

Dans cet exemple, 172.217.34.197 est l'adresse IP publique du résolveur Anycast (8.8.8.8).

Remarque : pour les services DNS Anycast tels que 8.8.8.8, les adresses IP du résolveur changent. Dans ce cas, utilisez « for loop » pour obtenir une liste d'adresses IP publiques utilisées par le résolveur récursif à l'emplacement respectif.

for i in {1..10}; do dig +short resolver-identity.cloudfront.net @8.8.8.8; sleep 11; done; 
172.217.38.5
172.217.34.195
172.253.244.3
172.217.34.69

Dans cet exemple, le service DNS Anycast 8.8.8.8 a utilisé différentes adresses IP publiques pour se connecter au serveur de noms faisant autorité.

Analyse des journaux de requêtes DNS Route 53 pour déterminer la prise en charge de l'extension EDNS Client Subnet

Utilisez la journalisation publique des requêtes DNS pour trouver l'adresse IP du résolveur DNS. En outre, la journalisation fournit les informations du sous-réseau du client EDNS qui sont transmises dans les requêtes DNS aux serveurs de noms Route 53.

Si l'extension EDNS Client Subnet est prise en charge, la sortie se présente comme suit :

1.0 2020-05-10T10:39:49Z Z07163611M5WTAAAAA5F8 testwebsite.com A NOERROR UDP IAD79-C1 172.253.214.14 35.173.125.0/24

Dans cet exemple, le réseau du périphérique client (35.173.125.0/24) est inclus dans la sortie. Le réseau est inclus, car le résolveur qui transmet les requêtes DNS à Route 53 prend en charge l'extension EDNS Client Subnet. La requête a été envoyée à partir de l'adresse IP du résolveur 172.253.214.14.

Si l'extension EDNS Client Subnet n'est pas prise en charge, la sortie se présente comme suit :

1.0 2020-05-10T10:39:34Z Z07163611M5WTAAAAA5F8 testwebsite.com A NOERROR UDP IAD79-C1 35.170.83.67 -

L'adresse IP du résolveur 35.170.83.67 est incluse dans la sortie. Toutefois, les informations de sous-réseau client ne sont pas transmises, comme indiqué par le signe « - » dans le dixième champ.


Informations connexes

Comment Amazon Route 53 utilise EDNS0 pour estimer l'emplacement d'un utilisateur

Vérification des réponses DNS de Route 53

Comment résoudre les problèmes de routage de géolocalisation de Route 53 ?

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an