Bonjour à tous,
Contexte:
Hier le serveur DNS primaire de mon FAI est tombé en rideau. Mort. Bon, au aurait pu penser que le resolver passerait automatiquement sur l’ip du DNS secondaire repris dans mon resolv.conf, et bien non. Du moins pas tout de suite. Le timeout par défaut semble être de l’ordre de 5 sec. Vous imaginez donc la lenteur des sites lourdement chargés en redirections et autres liens vers d’autres noms de domaine. J’ai donc cherché avant de trouver que la lenteur extrême d’internet était causée par un plantage du serveur primaire de mon FAI.
Tout d’abord, je m’étonne que la basculement sur le DNS secondaire ne soit pas immédiat et automatique. Un coup de man resolv.conf et ajout d’une ligne dans le resolv.conf:
options timeout:1
ou, mieux, du moins en terme de rapidité de résolution:
options rotate timeout:1
L’option rotate fait que le resolver va essayer une résolution en parallèle sur tous les nameservers renseignés dans le resolv.conf
Effet immédiat et garanti mais…
Je n’utilise pas le paquet resolvconf et toute ma configuration des serveurs DNS se passe dans resolv.conf
FAI --> router --> dhclient --> resolv.conf <-- Gnome NetworkManager
Le resolv.conf semble être modifié à la fois par dhclient et le Gnome NetworkManager. Donc, à chaque fois qu’on redemande un nouveau bail à son serveur dhcp ou si NetworkManager réinitialise une interface, les lignes ajoutées dans resolv.conf sont écrasées. S’il est possible de forcer dhclient à ajouter des nameserver avec l’option append, prepend ou supersede de manière durable, je n’ai pas trouvé comment lui faire ajouter les options rotate et timeout. Un coup de man dhclient.conf m’a donné l’espoir de pouvoir ajouter un hook dans /etc/dhcp3/dhclient-enter-hooks.d/ et /etc/dhcp3/dhclient-exit-hooks.d/ pour ajouter les options directement dans resolv.conf. Ça marche tant que NetworkManager ne le modifie pas à son tour.
Du coup, j’ai mis mon script d’ajout de l’option dans /etc/NetworkManager/dispatcher.d/ et ça marche.
Mais je trouve tout ça assez pénible et limite désordre.
- trouvez-vous normal que le timeout du basculement du serveur primaire vers le secondaire ne soit pas immédiat?
- comment gérez-vous les problèmes de plantage des nameserver de vos FAI (installer un namesever perso? BIND? Unbound? Ou un cache comme dnsmask?)
- comment centraliser la gestion du resolv.conf et de ses options sans qu’un autre gestionnaire ne vienne le foutre en l’air (paquet resolvconf?)
NB: si vous voulez tester comment votre config. bascule d’un nameserver à l’autre, il suffit de donner une ip bidon comme premier nameserver dans le /etc/resolv.conf et ensuite de faire un: