Jonathan.Michalon.eu

$HOME de Jonathan

01 juin 2011

DNS en folie !

Aujourd'hui c'était la journée des DNS en folie. J'ai tourné autour depuis ce matin, non-stop (à part miam miam et un petit teeworlds de rien du tout).

Problème : Je suis passé à Debian (car je ne me retrouve plus dans ce que devient Ubuntu ces temps-ci) et beacoup de requêtes DNS mettaient 5 secondes à compléter. J'avais déjà noté le problème sur le serveur sans m'y attarder mais là pour la navigation c'était juste horrible.

En fait Debian Squeeze a une glibc un tantinet plus récente que Ubuntu Lucid Lynx qui intègre une optimisation des requêtes DNS en parallèle ; en effet le système émet des requêtes de type A (IPv4) et AAAA (IPv6) à chaque fois (y compris sans connectivité IPv6), ce qui ralentit pas mal et donc ils ont voulu arranger tout cela un peu.

Bref il est dit que, sur un pourcentage infime d'ordinateurs, cela posera problème car sur les deux requêtes, une seule réponse lui parvient. Cela serait soi-disant dû au serveur DNS ou un firewall intercalé bugué.

Solutions ; j'ai dû passer facilement 5h là-dessus ; forcer le séquentiel a fini par fonctionner. Cela se fait en mettant

options single-request

dans /etc/resolv.conf

Une autre solution est d'utiliser un cache DNS qui lui ne parallélise pas, et en passant on y gagne en performances. Ce que j'ai fait. J'ai donc installé dnsmasq sur mon serveur. Il sert de cache DNS, lequel utilise aussi les données de /etc/hosts et permet de fixer des associations. Donc tout mon LAN peut résourde directement tous les noms de machine locales (sans hack du style avahi car je les ai en dur), et j'ai mis les noms de domaines hébergés chez moi (chalmion.homelinux.net et www.michalon.eu) directement avec l'IP du conteneur qui a apache. Donc plus besoin de « sortir » de chez moi pour les associer à mon IP et les utiliser.

Bon après cela comme j'avais tenté diverses solutions le matin j'ai eu quelques surprises. J'avais désactivé IPv6 totalement mais sshd ne le supporte pas et me faisait des erreurs stupide sur le X11Forwarding. Le temps de trouver la correlation entre les deux (car cela fonctionnait sur mes autres Debian Squeeze en tous points semblables) m'a gaspillé une bonne partie de l'après-midi…

Enfin j'ai un cache DNS maintenant, je l'ai déployé partout (conteneurs virtuels, PCs) et c'est quand même sympa de se dire que j'ai un peu optimisé mon setup.

Documentation sur les modifications de la glibc :

chez udrepper, §DNS NSS improvement

Bug chez Ubuntu :

sur launchpad

Blue Penguin Theme · Powered by Pelican · Atom Feed · Rss Feed

Copyright © 2011-2015 Jonathan Michalon. Vous pouvez réutiliser tout contenu diffusé, sauf mention spécifique.