Comment puis-je trouver l'origine d'enregistrements DNS conflictuels ?
Nslookup -type=soa stackoverflow.com
Comment puis-je trouver l'origine d'enregistrements DNS conflictuels ?
Vous souhaitez obtenir l'enregistrement SOA (Start of Authority) pour un nom de domaine donné, et voici comment y parvenir en utilisant le logiciel universellement disponible nslookup en ligne de commande :
command line> nslookup
> set querytype=soa
> stackoverflow.com
Server: 217.30.180.230
Address: 217.30.180.230#53
Non-authoritative answer:
stackoverflow.com
origin = ns51.domaincontrol.com # ("primary name server" on Windows)
mail addr = dns.jomax.net # ("responsible mail addr" on Windows)
serial = 2008041300
refresh = 28800
retry = 7200
expire = 604800
minimum = 86400
Authoritative answers can be found from:
stackoverflow.com nameserver = ns52.domaincontrol.com.
stackoverflow.com nameserver = ns51.domaincontrol.com.
En origine (ou serveur de noms primaire sous Windows) vous indique que ns51.domaincontrol est le serveur de noms principal pour stackoverflow.com .
À la fin de la sortie, tous les serveurs faisant autorité, y compris les serveurs de secours pour le domaine donné, sont répertoriés.
Parmi tous les outils présentés ci-dessous, nslookup est le seul qui soit également disponible sur la ligne de commande de MS-Windows. La méthode ci-dessus fonctionne parfaitement sous Windows 7.
Cependant, sous Windows, je n'arrive pas à voir la réponse "Authoritative answers". J'ai Windows 8 et Ubuntu 12 côte à côte et la même commande pour le même domaine fonctionne correctement sur Ubuntu mais pas sur Windows.
Vous avez utilisé le singulier dans votre question, mais il y a généralement plusieurs serveurs de noms faisant autorité, la RFC 1034 en recommandant au moins deux.
À moins que vous ne vouliez dire "serveur de noms principal" et non "serveur de noms faisant autorité". Les serveurs de noms secondaires sont faisant autorité.
Pour connaître les serveurs de noms d'un domaine sous Unix :
% dig +short NS stackoverflow.com
ns52.domaincontrol.com.
ns51.domaincontrol.com.
Pour connaître le serveur listé comme primaire (la notion de "primaire" est assez floue de nos jours et n'a généralement pas de réponse satisfaisante) :
% dig +short SOA stackoverflow.com | cut -d' ' -f1
ns51.domaincontrol.com.
Pour vérifier les divergences entre les serveurs de noms, ma préférence va à l'ancienne méthode check_soa
décrit dans le livre "DNS & BIND" de Liu & Albitz (éditeur O'Reilly). Le code source est disponible à l'adresse suivante http://examples.oreilly.com/dns5/
% check_soa stackoverflow.com
ns51.domaincontrol.com has serial number 2008041300
ns52.domaincontrol.com has serial number 2008041300
Ici, les deux serveurs de noms faisant autorité ont le même numéro de série. C'est une bonne chose.
Dig +short ne donne pas toujours la réponse attendue. Par exemple, un site défini comme www.pressero.com
qui est un CNAME pour un autre site -- dig +short SOA renvoie simplement la cible CNAME.
@Overmind vous ne rendez pas un NS "autoritaire". Si un serveur de noms est configuré comme faisant autorité pour certains domaines, cela signifie qu'il a localement des fichiers de zone (typiquement des fichiers textuels plats, mais cela peut aussi être fait différemment) pour ces domaines et qu'il répond aux requêtes les concernant. Pour être utiles, ils doivent être répertoriés en tant qu'enregistrements NS dans la zone parentale pour chacun des domaines pour lesquels ils font autorité, sinon personne ne les interrogerait par défaut.
Le terme que vous devriez chercher sur Google est "authoritative", et non "definitive".
Sous Linux ou Mac, vous pouvez utiliser les commandes suivantes whois
, dig
, host
, nslookup
ou plusieurs autres. nslookup
peut également fonctionner sous Windows.
Un exemple :
$ whois stackoverflow.com
[...]
Domain servers in listed order:
NS51.DOMAINCONTROL.COM
NS52.DOMAINCONTROL.COM
En ce qui concerne le crédit supplémentaire : oui, c'est possible.
aryeh a définitivement tort, car sa suggestion ne vous donnera généralement que l'adresse IP pour le nom d'hôte. Si vous utilisez dig
il faut rechercher les enregistrements NS, comme suit :
dig ns stackoverflow.com
Gardez à l'esprit que cette opération peut solliciter votre serveur DNS local et donc donner des réponses erronées ou obsolètes qu'il a dans son cache.
Ces commandes sont no équivalent. Rien ne dit que les informations fournies par whois sont à jour. Souvent, elles ne le sont pas parce que des personnes mettent à jour les enregistrements NS dans le fichier de zone sans en avertir le registre ou le bureau d'enregistrement.
Je n'ai jamais dit qu'ils l'étaient ;) Vous pouvez modifier les enregistrements NS de votre zone autant que vous voulez, tant que la zone parente n'est pas mise à jour, rien ne changera. Et une mise à jour de la zone parente va généralement de pair avec une mise à jour des données whois (du moins avec mes fournisseurs).
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.