Discussion:BIND cache DNS
Commentaires de : UserMna
posté le 2005-09-01 10:13:29
Je prends l'exemple d'architecture suivante dans laquelle je crée mon serveur DNS qui sert de relais
| Client | <11 oct 2005 à 17:33 (CEST)~> [ Mon srv DNS ] <11 oct 2005 à 17:33 (CEST)~> [ srv DNS du FAI ou root DNS d'@ ]
à partir de BIND 9.1 //(version à préciser au besoin)// les requêtes DNS émisent par [ Mon srv DNS ] à destination de ces pairs [ srv DNS du FAI ou root DNS d'@ ] utilisent l'option edns (Extended DNS).
Ce flag n'est compris aujourd'hui que par BIND lui même (à niveau de version suffisante).
Cela peut induire des performances catastrophiques car [ Mon srv DNS ] va effectuer 2 requêtes avec l'option activée avant de tenter ( à tout hasard ;o)) une requête sans cette option. Le temps requis pour cette dynamique d'échange comprend donc 2 timeout's qui représentent 2 * 5 secondes par défaut ....
donc chaque requêtes DNS de | Client | prends environ 10s + 40 à 1000 ms soit près de **11 secondes !!!**
Pour éviter ce comportement il est nécessaire d'ajouter dans le fichier de configuration : /etc/named.conf l'option suivante : server [adr_ip_du_serveur] { edns no;};
cette ligne est à ajouter pour chaque serveur posant problème.
//__ex:__// server 195.68.0.2 {edns no;}; server 195.68.0.3 {edns no;};
voilà j'espère que cette remarque sauvera du temps de recherche et diagnostic à certains d'entre vous (euh là y'a un peu de vécu ;o) ).
- //__rmq:__//** En toute rigueur le [ srv DNS du FAI ou root DNS d'@ ] doit répondre avec un rejet à la première requête comportant le flag edns mais ce rejet n'est soit jamais émis soit filtré par des firewalls