4 votes

La résolution DNS ne passe pas au DNS secondaire - pourquoi ?

Nous avons un grand nombre de succursales connectées par VPN, mais sans aucun type d'infrastructure de serveur. Les machines clientes de chaque bureau obtiennent leur configuration réseau d'une ASA 5505, qui est également utilisée pour la connexion VPN.

Les machines clientes Windows XP sont configurées pour utiliser l'un de nos serveurs DNS d'entreprise comme serveur primaire, le serveur DNS du fournisseur d'accès étant le secondaire. L'idée est que si la connexion VPN échoue pour une raison quelconque, le personnel du bureau sera toujours en mesure d'accéder à l'Internet, ainsi qu'à notre webmail et à notre portail d'accès à domicile. Dans la majorité des cas, cela fonctionne bien.

Cependant, pour les bureaux basés en Amérique du Sud, nous constatons que la résolution DNS sur les machines clientes est régulièrement effectuée par rapport au serveur DNS du FAI - ce qui a pour conséquence que nos ressources d'entreprise sont effectivement indisponibles pour le personnel des bureaux.

Les machines clientes sont capables d'envoyer un ping au serveur DNS de l'entreprise. Lorsque je fais un nslookup d'un nom d'hôte d'entreprise, j'obtiens une réponse.

Je pense que l'une des situations suivantes (ou une combinaison des deux) se produit :

  • le serveur DNS de notre entreprise ne répond pas toujours aux demandes en temps voulu (je ne sais pas pourquoi cela n'affecte que les clients d'une région géographique donnée).
  • Les requêtes DNS en provenance d'Amérique latine sont retardées d'une manière ou d'une autre, ce qui fait que le client les traite comme des échecs (bien que nous ayons des bureaux à la fin de connexions VSAT beaucoup plus lentes qui ne connaissent pas ce problème).
  • une seule défaillance entraîne la création d'une entrée dans le cache DNS de Windows, ce qui a pour conséquence que les recherches ne se font pas lors des tentatives suivantes.

Quelqu'un d'autre a-t-il rencontré ce problème ? Des idées pour le résoudre ?

5voto

Jimmie Points 151

Windows interroge le DNS dans cet ordre :

  • fichier d'hôtes
  • cache DNS local
  • Serveurs DNS préférés
  • Autres serveurs DNS

MS a également un article décrivant comment la liste des serveurs DNS est obtenue :

Le service Client DNS utilise une liste de recherche de serveurs, ordonnée par préférence. Cette liste comprend tous les serveurs DNS préférés et alternatifs configurés pour chacune des connexions réseau actives du système.

La liste est organisée en fonction des critères suivants :

  • Les serveurs DNS préférés sont prioritaires.
  • Si aucun serveur DNS préféré n'est disponible, des serveurs DNS alternatifs sont utilisés.
  • Les serveurs qui ne répondent pas sont retirés temporairement de ces listes.

Windows dispose d'un augmentation du délai d'attente pour les demandes DNS :

Value      Default value  Attempt
1st limit       1 second  Query the preferred DNS server on a preferred connection.
2nd limit      2 seconds  Query the preferred DNS server on all connections.
3rd limit      2 seconds  Query all DNS servers on all connections (1st attempt).
4th limit      4 seconds  Query all DNS servers on all connections (2nd attempt).
5th limit      8 seconds  Query all DNS servers on all connections (3rd attempt).
6th value                 (Must be 0.)

Je n'ai pas pu trouver de réponse claire sur ce point précis, mais il semble que si votre DNS primaire ne répond pas en 1 ou 2 secondes (1ère ou 2ème tentative, respectivement), ce serveur sera supprimé de la liste de consultation des serveurs DNS pendant 15 minutes, et il utilisera donc les serveurs DNS secondaires. Comme ces serveurs disposent d'un délai d'attente de 8 secondes, ils ont beaucoup plus de chances de répondre. (Je ne sais pas s'il continue à interroger le serveur DNS préféré lors de la troisième tentative ou plus si elle a déjà échoué).

Je soupçonne également que vous avez effectivement un problème de latence WAN pour cette zone géographique, car cela expliquerait pourquoi les délais d'attente fonctionnent.


Une solution consiste à modifier les délais d'interrogation du DNS, en utilisant la commande DNSQueryTimeouts paramètre du registre. Voir aussi http://drewthaler.blogspot.com/2005/09/changing-dns-query-timeout-in-Windows.html


Une autre solution consiste à mettre en place un serveur DNS de mise en cache local sur le réseau, et à demander aux clients de l'utiliser. Vous pouvez utiliser un serveur DNS qui peut être intégré à un routeur, ou installer un logiciel tel que dnsmasq .

5voto

Sophist Points 51

Selon Technet http://blogs.technet.com/b/stdqry/archive/2011/12/15/dns-clients-and-timeouts-part-2.aspx les requêtes ultérieures sont effectuées auprès de plusieurs serveurs DNS en parallèle.

Et la plupart des gens n'ont qu'une seule connexion réseau et une connexion rapide à large bande et doivent normalement s'attendre à une réponse DNS en 1s.

J'ai donc réglé mes DNSQueryTimeouts sur 1 1 1 10 10 0 pour qu'il puisse émettre des requêtes parallèles à tous les serveurs DNS aussi rapidement que possible. Ensuite, j'ai placé les serveurs DNS de mon fournisseur d'accès dans la liste en premier (puisqu'ils sont physiquement les plus proches et les moins susceptibles d'être soumis à des coupures de paquets sur le réseau, avec plusieurs serveurs DNS publics derrière, et j'ai laissé Windows faire son travail.

Et ma navigation sur le web s'est énormément accélérée ! !!

Il est évident qu'il ne faut pas donner la priorité aux serveurs DNS du FAI dans un environnement d'entreprise lorsque vous voulez résoudre des noms d'hôtes internes !

0 votes

C'est un excellent lien qui explique plus en détail et plus clairement, et qui est à jour pour Windows 7. Merci !

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X