Je suis en train de faire tourner un serveur de cache BIND 9.8.1-P1 sur Ubuntu 12.04 LTS avec le noyau 3.2.0-86-generic-pae.
Ça fait des semaines que je me casse la tête à essayer de comprendre cela et je n'ai aucune idée de ce qui se passe, et j'ai du mal même à recréer le problème car c'est très intermittent.
Ce qui se passe, c'est qu'en chargeant une page comme www.msn.com dans Firefox avec le moniteur réseau de Firefox ouvert, il m'arrive parfois de voir quelques requêtes dont la résolution DNS prend de 8000ms à aussi haut que 37000ms. Bien sûr, une fois la page rechargée, elle est mise en cache et fonctionne très bien, mais même si je vide le cache sur le serveur et le client, soudainement ce domaine n'est plus un problème. Je n'ai pas pu observer de schéma dans les domaines qui posent problème. Je ne sais pas comment commencer à résoudre ce problème car il est si difficile de reproduire le même domaine deux fois.
Voici ce que j'ai dans named.conf.options
options {
directory "/var/cache/bind";
// S'il y a un pare-feu entre vous et les serveurs de noms avec lesquels vous voulez communiquer, vous devrez peut-être configurer le pare-feu pour autoriser plusieurs
// ports de communication. Voir http://www.kb.cert.org/vuls/id/800113
// Si votre FAI vous a fourni une ou plusieurs adresses IP pour des serveurs de noms stables,
// vous voudrez probablement les utiliser comme forwarders.
// Décommentez le bloc suivant et insérez les adresses pour remplacer
// le marc de tous-0.
forwarders {
//OpenDNS
208.67.222.222;
208.67.220.220;
};
auth-nxdomain no; # conforme à RFC1035
//listen-on-v6 { any; };
};
J'ai vraiment du mal à comprendre ce qui se passe et encore moins comment le résoudre, j'espère donc que quelqu'un ici pourra m'aider.
Comme demandé, voici les enregistrements de journal générés en activant le journal des requêtes et en chargeant www.wsj.com. Seules 4 requêtes ont des réponses DNS lentes
tags.bluekai.com 11986ms
Jul 30 17:50:14 fs named[23539]: client 192.168.16.24#55215: query: tags.bluekai.com IN A + (192.168.16.3)
Jul 30 17:50:15 fs named[23539]: client 192.168.16.24#55215: query: tags.bluekai.com IN A + (192.168.16.3)
Jul 30 17:50:16 fs named[23539]: client 192.168.16.24#55215: query: tags.bluekai.com IN A + (192.168.16.3)
Jul 30 17:50:18 fs named[23539]: client 192.168.16.24#55215: query: tags.bluekai.com IN A + (192.168.16.3)
Jul 30 17:50:22 fs named[23539]: client 192.168.16.24#55215: query: tags.bluekai.com IN A + (192.168.16.3)
comcluster.cxense.com 24004ms
Jul 30 17:38:32 fs named[23539]: client 192.168.16.24#52469: query: comcluster.cxense.com IN A + (192.168.16.3)
Jul 30 17:50:14 fs named[23539]: client 192.168.16.24#56490: query: comcluster.cxense.com IN A + (192.168.16.3)
Jul 30 17:50:14 fs named[23539]: client 192.168.16.24#54692: query: comcluster.cxense.com IN A + (192.168.16.3)
Jul 30 17:50:15 fs named[23539]: client 192.168.16.24#54692: query: comcluster.cxense.com IN A + (192.168.16.3)
Jul 30 17:50:15 fs named[23539]: client 192.168.16.24#56490: query: comcluster.cxense.com IN A + (192.168.16.3)
Jul 30 17:50:16 fs named[23539]: client 192.168.16.24#54692: query: comcluster.cxense.com IN A + (192.168.16.3)
Jul 30 17:50:16 fs named[23539]: client 192.168.16.24#56490: query: comcluster.cxense.com IN A + (192.168.16.3)
Jul 30 17:50:18 fs named[23539]: client 192.168.16.24#54692: query: comcluster.cxense.com IN A + (192.168.16.3)
Jul 30 17:50:18 fs named[23539]: client 192.168.16.24#56490: query: comcluster.cxense.com IN A + (192.168.16.3)
Jul 30 17:50:22 fs named[23539]: client 192.168.16.24#56490: query: comcluster.cxense.com IN A + (192.168.16.3)
Jul 30 17:50:22 fs named[23539]: client 192.168.16.24#54692: query: comcluster.cxense.com IN A + (192.168.16.3)
Jul 30 17:50:26 fs named[23539]: client 192.168.16.24#56963: query: comcluster.cxense.com IN A + (192.168.16.3)
Jul 30 17:50:27 fs named[23539]: client 192.168.16.24#56963: query: comcluster.cxense.com IN A + (192.168.16.3)
Jul 30 17:50:28 fs named[23539]: client 192.168.16.24#56963: query: comcluster.cxense.com IN A + (192.168.16.3)
Jul 30 17:50:28 fs named[23539]: client 192.168.16.24#56963: query: comcluster.cxense.com IN A + (192.168.16.3)
Jul 30 17:50:30 fs named[23539]: client 192.168.16.24#56963: query: comcluster.cxense.com IN A + (192.168.16.3)
Jul 30 17:50:34 fs named[23539]: client 192.168.16.24#56963: query: comcluster.cxense.com IN A + (192.168.16.3)
cdn.cxpublic.com 23509ms
Jul 30 17:50:26 fs named[23539]: client 192.168.16.24#57469: query: cdn.cxpublic.com IN A + (192.168.16.3)
Jul 30 17:50:27 fs named[23539]: client 192.168.16.24#57469: query: cdn.cxpublic.com IN A + (192.168.16.3)
Jul 30 17:50:28 fs named[23539]: client 192.168.16.24#57469: query: cdn.cxpublic.com IN A + (192.168.16.3)
Jul 30 17:50:30 fs named[23539]: client 192.168.16.24#57469: query: cdn.cxpublic.com IN A + (192.168.16.3)
Jul 30 17:50:34 fs named[23539]: client 192.168.16.24#57469: query: cdn.cxpublic.com IN A + (192.168.16.3)
www.facebook.com 33666ms
Jul 30 17:39:37 fs named[23539]: client 192.168.16.24#54063: query: www.facebook.com IN A + (192.168.16.3)
Jul 30 17:50:26 fs named[23539]: client 192.168.16.24#63809: query: www.facebook.com IN A + (192.168.16.3)
Jul 30 17:50:26 fs named[23539]: client 192.168.16.24#61280: query: www.facebook.com IN A + (192.168.16.3)
Jul 30 17:50:27 fs named[23539]: client 192.168.16.24#63809: query: www.facebook.com IN A + (192.168.16.3)
Jul 30 17:50:27 fs named[23539]: client 192.168.16.24#61280: query: www.facebook.com IN A + (192.168.16.3)
Jul 30 17:50:28 fs named[23539]: client 192.168.16.24#63809: query: www.facebook.com IN A + (192.168.16.3)
Jul 30 17:50:28 fs named[23539]: client 192.168.16.24#61280: query: www.facebook.com IN A + (192.168.16.3)
Jul 30 17:50:30 fs named[23539]: client 192.168.16.24#63809: query: www.facebook.com IN A + (192.168.16.3)
Jul 30 17:50:30 fs named[23539]: client 192.168.16.24#61280: query: www.facebook.com IN A + (192.168.16.3)
Jul 30 17:50:34 fs named[23539]: client 192.168.16.24#63809: query: www.facebook.com IN A + (192.168.16.3)
Jul 30 17:50:34 fs named[23539]: client 192.168.16.24#61280: query: www.facebook.com IN A + (192.168.16.3)
Jul 30 17:50:38 fs named[23539]: client 192.168.16.24#64685: query: www.facebook.com IN A + (192.168.16.3)
Jul 30 17:50:39 fs named[23539]: client 192.168.16.24#64685: query: www.facebook.com IN A + (192.168.16.3)
Jul 30 17:50:40 fs named[23539]: client 192.168.16.24#64685: query: www.facebook.com IN A + (192.168.16.3)
Jul 30 17:50:42 fs named[23539]: client 192.168.16.24#64685: query: www.facebook.com IN A + (192.168.16.3)
Jul 30 17:50:46 fs named[23539]: client 192.168.16.24#64685: query: www.facebook.com IN A + (192.168.16.3)
Jul 30 17:50:50 fs named[23539]: client 192.168.16.24#57121: query: www.facebook.com IN A + (192.168.16.3)
Jul 30 17:50:51 fs named[23539]: client 192.168.16.24#57121: query: www.facebook.com IN A + (192.168.16.3)
Jul 30 17:50:52 fs named[23539]: client 192.168.16.24#57121: query: www.facebook.com IN A + (192.168.16.3)
Jul 30 17:50:54 fs named[23539]: client 192.168.16.24#57121: query: www.facebook.com IN A + (192.168.16.3)
0 votes
Avez-vous activé l'enregistrement des requêtes?
rndc querylog
, puis vérifiez le syslog.0 votes
@WouterVerhelst J'ai activé l'enregistrement des requêtes pendant une minute et ai chargé www.wsj.com dans Firefox. Dans le moniteur réseau, seules 4 requêtes sur peut-être 100 ont eu un temps de réponse lent du DNS. Je les énumère dans ma question originale avec les enregistrements correspondants du journal système.
0 votes
Avez-vous effectué une capture pour voir exactement où la pause se produit? Je soupçonne que votre problème est lié aux recherches ipv6 (pas au trafic ipv6, juste aux recherches)
0 votes
@RickBuford Vous voulez dire une capture de paquets? J'ai essayé de démarrer Wireshark et de capturer pendant que je chargeais cnn.com dans Firefox mais j'ai peur de ne pas savoir vraiment quoi chercher car je n'ai jamais fait de capture de paquets auparavant. Pourriez-vous fournir des conseils sur la façon de trouver ce que vous cherchez pour confirmer vos soupçons quant à la cause des retards?
0 votes
1) Prenez note d'une des requêtes qui semble prendre beaucoup de temps pendant l'exécution de la capture de paquets; 2) Arrêtez la capture puis mettez le filtre
dns.qry.name==""
sans les balises<>
; 3) Parcourez ces paquets pour trouver des conversations avec des délais plus longs entre les paquets; 4) Si vous vous sentez audacieux, essayez quelques graphiques d'E/S: ask.wireshark.org/questions/3678/dns-transaction-latency