Accélérer Apache par la mise en place d’un cache Dns (MAJ)
Dans le cadre de sites Web à grosse audience et/ou utilisant le hotlinking, il peut y avoir un intérêt à mettre en œuvre un serveur Dns sur la machine dédiée hébergeant ces sites. La résolution Dns est, en effet, utilisée au niveau des logs du serveur Apache. La mise en œuvre d’un cache local à la machine vous permettra de minimiser le nombre de vos requêtes Dns et accessoirement le trafic réseau.
Posadis plutôt que Bind !
Si Bind est la référence en matière de serveurs Dns, c’est aussi une véritable usine à gaz. Pour mettre en place un cache Dns avec Bind, il vous faudra installer le paquet caching-nameserver sur Centos. Il existe une autre alternative : Posadis, même si le projet semble quelque peu moribond ! Il s’installe également sous Windows.
Créez tout d’abord l’utilisateur dns sur votre serveur Centos à l’aide de la commande useradd.
Après les avoir téléchargés, installez tout d’abord les paquets RPM poslib et posadis sur votre machine dotée de Linux Centos par la commande yum install. Modifiez ensuite le fichier /etc/posadisrc comme suit :
# Le serveur Dns ne doit écouter qu’en local.
listen 127.0.0.1
#Utilisateur de posadis : dns, créé précédemment
user dns
group dns
# Vous pouvez déclarer les serveurs Dns vers lesquels vous redirigez vos requêtes.
# Dans l’exemple ci-dessous, nous utilisons les serveurs OpenDns.
# L’utilisation de redirecteurs est toutefois parfaitement facultative !
# Vous disposez de la liste des serveurs racines.
cache-forward .
208.67.222.222 ; ISP primary DNS server
208.67.220.220 ; ISP secondary DNS server
#Commentez ce qui suit si vous ne disposez pas de zones de noms « locales ».
;all_zone_files true
#Pensez à modifier l’adresse des serveurs root DNS B et L.
Editez votre fichier /etc/resolv.conf et ajoutez-y en 1ère ligne nameserver 127.0.0.1, tout en laissant les serveurs de votre FAI. Cette modification ne nécessite pas que vous redémarriez.
Vous devez ensuite démarrer le service posadis : service posadis start. N’oubliez pas de l’inscrire dans les services qui se lanceront automatiquement à chaque redémarrage à l’aide de la commande ntsysv ou chkconfig : chkconfig –level 35 posadis on.
Mesure de l’impact (ajouté le 10/7/2011)
Après la mise en œuvre du cache Dns sur le serveur, redirigeant vers OpenDns, les requêtes Dns sont passées de 845 à 71 par heure !
Réglage de la durée de vie des enregistrements du cache
Je n’ai trouvé aucun moyen de régler la durée de vie des enregistrements inscrits dans le cache de Posadis.
Autres saines lectures
- Installation du cache Pdnsd, qui n’est plus maintenu, hélas, à ce jour !
- des serveurs DNS contre la censure : Censurfridns, prenant en charge IPv6, et Telecomix
- les serveurs root DNS
- Telecomix DNS
- djbDNS, un autre serveur DNS permettant la prise en charge du cache
- Très bon tuto d’Alex Alouit sur dsnmasq
Réseau / Apache, Dns, Hotlinking, Posadis