J'ai récemment constaté des retards lors de la résolution des hôtes DNS sous OS X 10.8. Pour le tester, j'ai lancé un simple script qui tente de résoudre 20 fois le même nom d'hôte :
#!/bin/sh
for i in `seq 20`; do
time -p dig www.google.com @8.8.8.8 | grep "^;; Query time:"
done
La plupart des demandes prennent à peu près le même temps que la latence vers le serveur de noms :
;; Query time: 49 msec
real 0.05
Cependant, dès que j'active le pare-feu dans Mountain Lion (toutes les demandes entrantes sont autorisées, mode furtif est pas activé), un peu de de la dig
Les requêtes prennent exactement 5 secondes, plus la latence vers le serveur de noms :
;; Query time: 25 msec
real 5.03
La plupart des requêtes sont encore rapides, mais environ toutes les 10 à 15 requêtes présentent un retard d'exactement 5 secondes, même si le délai de réponse est plus court. dig
rapporte toujours un temps d'interrogation court. Cela ne fait aucune différence si j'utilise dig
o host
pour les tests, ou si j'utilise un serveur DNS local ou public comme dans l'exemple ci-dessus. Lorsque le pare-feu est désactivé, le retard ne se produit jamais.
Le pare-feu d'OS X applique-t-il une sorte de limitation du débit des requêtes, ou y a-t-il autre chose que j'ignore ?