DNS-Serverantworten und Zeitüberschreitungen

17

Wir haben ein frustrierendes Problem in unserem LAN. Bei DNS-Anfragen an unsere ISP-Nameserver tritt in regelmäßigen Abständen eine Zeitüberschreitung von 5 Sekunden auf. Selbst wenn ich /etc/resolv.confeine direkte Suche nach einem unserer DNS-Server umgehe, stoße ich immer noch auf das Problem. Hier ist ein Beispiel:

mv-m-dmouratis:~ dmourati$ time dig www.google.com @209.81.9.1 

; <<>> DiG 9.8.3-P1 <<>> www.google.com @209.81.9.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14473
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 4, ADDITIONAL: 4

;; QUESTION SECTION:
;www.google.com.            IN  A

;; ANSWER SECTION:
www.google.com.     174 IN  A   74.125.239.148
www.google.com.     174 IN  A   74.125.239.147
www.google.com.     174 IN  A   74.125.239.146
www.google.com.     174 IN  A   74.125.239.144
www.google.com.     174 IN  A   74.125.239.145

;; AUTHORITY SECTION:
google.com.     34512   IN  NS  ns2.google.com.
google.com.     34512   IN  NS  ns1.google.com.
google.com.     34512   IN  NS  ns3.google.com.
google.com.     34512   IN  NS  ns4.google.com.

;; ADDITIONAL SECTION:
ns2.google.com.     212097  IN  A   216.239.34.10
ns3.google.com.     207312  IN  A   216.239.36.10
ns4.google.com.     212097  IN  A   216.239.38.10
ns1.google.com.     212096  IN  A   216.239.32.10

;; Query time: 8 msec
;; SERVER: 209.81.9.1#53(209.81.9.1)
;; WHEN: Fri Jul 26 14:44:25 2013
;; MSG SIZE  rcvd: 248


real    0m5.015s
user    0m0.004s
sys 0m0.002s

In anderen Fällen werden die Abfragen sofort beantwortet, z. B. in weniger als 20 ms. Ich habe eine Paketverfolgung durchgeführt und etwas Interessantes entdeckt. Der DNS - Server ist , reagiert aber der Client ignoriert die ursprüngliche Antwort sendet dann eine zweite identische Abfrage, die sofort reagiert wird.

Siehe Paketverfolgung . Beachten Sie die identischen Quellports zu den Abfragen (62076).

Frage: Warum schlägt die erste DNS-Abfrage fehl?

AKTUALISIEREN

Ressourcen:

Paketverfolgung:

http://www.cloudshark.org/captures/8b1c32d9d015

Dtruss (Strace für Mac):

https://gist.github.com/dmourati/6115180

Die Firewall von Mountain Lion verzögert zufällig DNS-Anfragen von apple.stackexchange.com:

/apple/80678/mountain-lion-firewall-is-randomly-delaying-dns-requests

UPDATE 2

System Software Overview:

  System Version:   OS X 10.8.4 (12E55)
  Kernel Version:   Darwin 12.4.0
  Boot Volume:  Macintosh HD
  Boot Mode:    Normal
  Computer Name:    mv-m-dmouratis
  User Name:    Demetri Mouratis (dmourati)
  Secure Virtual Memory:    Enabled
  Time since boot:  43 minutes

Hardware Overview:

  Model Name:   MacBook Pro
  Model Identifier: MacBookPro10,1
  Processor Name:   Intel Core i7
  Processor Speed:  2.7 GHz
  Number of Processors: 1
  Total Number of Cores:    4
  L2 Cache (per Core):  256 KB
  L3 Cache: 6 MB
  Memory:   16 GB

Firewall Settings:

  Mode: Limit incoming connections to specific services and applications
  Services:
  Apple Remote Desktop: Allow all connections
  Screen Sharing:   Allow all connections
  Applications:
  com.apple.java.VisualVM.launcher: Block all connections
  com.getdropbox.dropbox:   Allow all connections
  com.jetbrains.intellij.ce:    Allow all connections
  com.skype.skype:  Allow all connections
  com.yourcompany.Bitcoin-Qt:   Allow all connections
  org.m0k.transmission: Allow all connections
  org.python.python:    Allow all connections
  Firewall Logging: Yes
  Stealth Mode: No
dmourati
quelle
dtrussAusgabe sieht abgeschnitten aus. Wir sehen nie die Systemaufrufe, die die Programmausgabe nach STDOUT schreiben.
Andrew B
Haben Sie einen anderen öffentlichen Nameserver ausprobiert, z. B. Google DNS.
vasco.debian
@ vasco.debian ja, gleiches verhalten.
Dmourati
1
Der einzige Unterschied, den ich zwischen diesen beiden Anfrage-Antwort-Paaren sehe, sind Verzögerungen zwischen Anfrage und Antwort. Ich sehe auch keine Probleme im Netzwerk. Experimentieren Sie und prüfen Sie, ob es auf Verzögerungen ankommt - das Betriebssystem kann aus irgendeinem Grund einige udp-Pakete zur Anwendung bringen, obwohl dies im Analyzer angezeigt wird. Auf jeden Fall ist es kein Problem mit dem Netzwerk oder der allgemeinen Konfiguration, "dig" muss funktionieren. Möglicherweise stimmt etwas nicht mit der Netzwerkstapeloptimierung. Überprüfen Sie die Systemeinstellungen für das Netzwerk. Gefällt mir rolande.wordpress.com/2010/12/30/…
GioMac
1
Sie sagen nicht, ob auf dem Mac eine Firewall ausgeführt wird?
JustinP

Antworten:

3

Dies scheint ein Fehler in Lion's Firewall zu sein. Ist es auf Ihrem System aktiviert?

In diesem MacRumors-Thread ( DNS-Probleme nach der Aktualisierung auf Mountain Lion (10.8) ) wird eine mögliche Problemumgehung erläutert:

Versuchen Sie, die MTU-Größe zu reduzieren.

Systemeinstellungen> Netzwerk> WLAN> Erweitert> Hardware> Manuell> MTU: Benutzerdefiniert> 1300

Hat für mich gearbeitet.

Könnten Sie überprüfen, ob die Reduzierung der MTU-Größe Ihr Problem mindert?

Mels
quelle
Durch Ändern der Firewall-Einstellungen wurde das Problem behoben. Die MTU hatte keine Wirkung. Die Firewall muss entweder deaktiviert sein oder "Alle eingehenden Verbindungen blockieren".
Dmourati
Durch Ändern der Firewall auf eine der beiden Einstellungen wurde die Problemhäufigkeit verringert, das Problem jedoch nicht vollständig behoben. Kann 1/200 mal oder so repro.
Dmourati
Ich würde einen Paketverlust in dieser Größenordnung als angemessen erachten, wenn ich das Internet durchquere, insbesondere wenn es auf der Route überlastete Hopfen gibt. Denken Sie daran, dass DNS UDP verwendet, wodurch die Zustellung von Datagrammen nicht garantiert wird. Genau aus diesem Grund sind im DNS-Protokoll selbst Wiederholungsversuche und ein Timeout-Mechanismus integriert.
Mels
1
Übrigens, ich weiß, dass wir hier keine "Danke" -Kommentare veröffentlichen sollen, aber Sie haben gerade meinen Ruf versechsfacht :)
Mels
0

Ich hatte kürzlich ein ähnliches Problem und stellte fest, dass die Cisco ASA-Firewall nicht für die Unterstützung von EDNS0 konfiguriert war, der Spezifikation, die DNS-UDP-Pakete mit mehr als 512 Byte zulässt. Sobald mein FW-Administrator bis zu 4096 Byte zuließ, wurde das Problem behoben. Tolle Infos hier:

http://www.petenetlive.com/KB/Article/0000312.htm

rauben
quelle
Ich denke nicht, dass das hier zutrifft. Die Antwort liegt deutlich unter 512 Byte für diese bestimmte DNS-Abfrage, selbst mit der Berechtigung und zusätzlichen Abschnitten.
Andrew B