Diagnostiquer les problèmes DNS sous Windows et Linux
Séparer les erreurs DNS, réseau et HTTPS avec nslookup, Resolve-DnsName, dig et resolvectl.
Séparer les erreurs DNS, réseau et HTTPS avec nslookup, Resolve-DnsName, dig et resolvectl.
Réseau avant noms
Vérifiez adresse IP, passerelle et route par défaut. Testez la vraie passerelle et une IP extérieure, sachant qu’ICMP peut être filtré. Une IP joignable avec un nom défaillant suggère DNS sans le prouver. Notez nom exact, type A/AAAA, heure, réseau et erreur. A désigne IPv4, AAAA IPv6, MX la messagerie, NS la délégation, CNAME un alias, TXT du texte et PTR le DNS inverse.
Résolveurs Windows
ipconfig /all montre carte active, serveurs et suffixes. VPN et Active Directory utilisent souvent DNS interne et vue scindée. nslookup interroge directement un serveur mais contourne cache local, hosts et certaines règles client : le résultat peut différer de l’application. Resolve-DnsName est plus ciblé ; -DnsOnly -NoHostsFile exclut volontairement hosts. Ne remplacez pas aveuglément les DNS d’entreprise.
ipconfig /all
nslookup www.example.com
nslookup -type=AAAA www.example.com
nslookup www.example.com 1.1.1.1
Resolve-DnsName www.example.com -Type A
Resolve-DnsName www.example.com -Server 1.1.1.1 -DnsOnly -NoHostsFile
Cache et hosts
Examinez ipconfig /displaydns ou Get-DnsClientCache. ipconfig /flushdns et Clear-DnsClientCache vident uniquement ce PC, pas les données autoritatives ou caches intermédiaires. Vérifiez C:\Windows\System32\drivers\etc\hosts et le VPN sans effacer les entrées voulues. Répétez la requête et notez serveur et résultat.
ipconfig /displaydns
ipconfig /flushdns
Get-DnsClientCache
Clear-DnsClientCache
Résolveur Linux
Avec systemd-resolved, resolvectl status affiche DNS par lien et domaines routés ; resolvectl query teste la résolution du client. /etc/resolv.conf peut dépendre de systemd-resolved, NetworkManager ou DHCP : corrigez la configuration source et non le fichier généré.
ip address
ip route
resolvectl status
resolvectl query www.example.com
ls -l /etc/resolv.conf
Comparer avec dig
dig montre statut, ANSWER, TTL et serveur. Comme nslookup, il ne suit pas nécessairement la résolution de l’application. Comparez résolveurs par défaut et explicites ; un DNS public ne connaît pas une zone privée. NOERROR sans réponse peut signifier que le type demandé manque. +trace suit la délégation mais échoue parfois si le réseau filtre les requêtes directes.
sudo apt update
sudo apt install dnsutils
dig www.example.com A
dig www.example.com AAAA
dig @1.1.1.1 www.example.com A
dig example.com NS
dig example.com SOA
dig +trace www.example.com
Erreurs et serveurs autoritatifs
NXDOMAIN signifie nom absent dans la vue interrogée, SERVFAIL une résolution échouée, parfois DNSSEC, REFUSED un refus et timeout aucune réponse à temps. Interrogez les véritables serveurs NS et comparez A/AAAA et numéro SOA. ns1.provider.example et ns2.provider.example ne sont que des exemples.
dig example.com NS
dig @ns1.provider.example example.com SOA
dig @ns1.provider.example www.example.com A
dig @ns2.provider.example www.example.com A
TTL et cache négatif
Après changement, un résolveur peut garder la valeur précédente jusqu’à expiration du TTL antérieur. NXDOMAIN peut aussi être mémorisé. Vérifiez les serveurs autoritatifs, comparez les résolveurs et notez TTL et heure. Vider le cache local ne vide pas les autres.
Port 53 et application
DNS utilise généralement UDP 53 et parfois TCP 53. Test-NetConnection -Port 53 vérifie TCP, pas UDP. Comparez dig normal et +tcp ; une connexion TCP réussie ne prouve pas la résolution de l’application. Si A/AAAA sont corrects, testez séparément port 443 et HTTPS pour routage, pare-feu, service et TLS.
# PowerShell: tests TCP, not UDP
Test-NetConnection 1.1.1.1 -Port 53
Test-NetConnection www.example.com -Port 443
# Linux: compare default DNS transport and TCP
dig @1.1.1.1 example.com A
dig +tcp @1.1.1.1 example.com A
curl -I https://www.example.com
DNSSEC et bilan
Si seuls les résolveurs validants donnent SERVFAIL, examinez la chaîne DNSSEC avec delv et l’horloge. Réunissez des résultats reproductibles avant de changer DNS ou vider le cache ; distinguez client, requête directe, serveurs autoritatifs et service.
delv example.com A
timedatectl status
Sources
Microsoft Resolve-DnsName: https://learn.microsoft.com/en-us/powershell/module/dnsclient/resolve-dnsname ; diagnostic DNS: https://learn.microsoft.com/en-us/troubleshoot/azure/dns/troubleshoot-dns ; BIND DNSSEC: https://bind9.readthedocs.io/en/stable/dnssec-guide.html .
Partager
Quelle est votre réaction ?
Aimer
0
Je n'aime pas
0
Amour
0
Drôle
0
En colère
0
Triste
0
Waouh
0