DNS Configuration · 5 min read · Oct 01, 2025
Accélérer l'accès DNS dans les régions avec très peu d'infrastructure
Accélérer l’accès DNS dans les régions avec très peu d’infrastructure
Introduction
Disons que vous êtes sur un lien satellite coûteux qui peut à peine fournir suffisamment de bande passante pour l’accès Internet de votre entreprise et vous voudrez faire tout ce que vous pouvez pour tirer le meilleur parti de ce lien. De plus, il arrive parfois que vous perdiez l’alimentation de la compagnie d’électricité, suffisamment longtemps pour que votre UPS s’épuise. Il y a quelques choses que vous pourriez faire pour tirer beaucoup plus de votre lien. Dans cet article, nous allons examiner comment accélérer vos requêtes DNS en gardant un cache des réponses à vos requêtes DNS sur votre disque dur. Les requêtes DNS suivantes sont alors servies à partir du cache et, comme une copie est sur le disque, vous ne la perdez pas lors d’une coupure de courant ou d’un redémarrage.
La version mise à jour de ce document se trouve à : www.httpcompression.net.
Analyse
Ai-je besoin de cela ? Eh bien, voyons. Depuis votre Linux, exécutez la commande suivante :
dig www.httpcompression.netParmi d’autres choses, j’obtiens le résultat suivant :
;; Temps de requête : 583 msecAprès quelques secondes, j’ai émis la commande à nouveau et j’ai obtenu :
;; Temps de requête : 612 msecÉvidemment, les serveurs DNS de mon FAI transmettent simplement les requêtes vers les États-Unis (je suis à Accra, au Ghana, en Afrique de l’Ouest, me connectant à Internet via le câble sous-marin en fibre optique SAT3). Apparemment, les résultats de la première requête n’ont pas été mis en cache. Si c’était le cas, cela avait expiré au moment de la deuxième requête. Certainement, un tel environnement est un candidat parfait pour cette configuration.
Comment faire
Je travaille sur un serveur Ubuntu. Le logiciel que nous allons utiliser est pdnsd. Le site Web a ceci à dire sur pdnsd :
“pdnsd est un serveur DNS proxy avec mise en cache permanente (le contenu du cache est écrit sur le disque dur à la sortie) qui est conçu pour faire face à des serveurs DNS inaccessibles ou hors service (par exemple dans le réseau de composition). Depuis la version 1.1.0, pdnsd prend en charge la mise en cache négative.”
Depuis votre Ubuntu ou toute autre distribution basée sur Debian, exécutez la commande suivante :
apt-get install pdnsdUne page de configuration est apparue avec trois options “resolvconf / Utiliser les serveurs racines / Manuel”. J’ai sélectionné “Manuel” et poursuivi l’installation.
L’installation par défaut a un fichier de configuration, dont certaines parties ont été commentées. Une ligne est commentée avec “//“ tandis que les lignes multiples sont commentées avec “/ /“. Par exemple :
// Ceci est une ligne commentée dans le fichier de configuration.
/*
Ce sont des lignes commentées
dans le fichier de configuration.
*/Utilisez votre éditeur de texte préféré pour modifier les fichiers de configuration suivants :
- /etc/default/pdnsd Modifiez la ligne avec START_DAEMON comme suit :
START_DAEMON=yes - /etc/pdnsd.conf Dans le bloc global, vous voudrez peut-être changer le paramètre suivant : server_ip = 127.0.0.1; C’est l’IP sur laquelle pdnsd peut être atteint. Si l’adresse est laissée à la valeur par défaut de 127.0.0.1, seuls les programmes sur le serveur lui-même peuvent accéder au serveur pdnsd. Cependant, si vous souhaitez que d’autres serveurs et PC utilisent cette installation de pdnsd comme leur serveur DNS, vous devez changer l’adresse IP à l’adresse IP appropriée sur votre serveur que vous souhaitez que vos clients utilisent. Utilisez le bloc serveur pour définir les serveurs DNS que le pdnsd consultera pour résoudre les noms de domaine. Il y a deux blocs serveur qui sont commentés par défaut. Les serveurs opendns sont très fiables et populaires, vous voudrez peut-être les utiliser :
server { label="opendns"; ip = 208.67.220.220,208.67.222.222; }Assurez-vous que le bloc serveur n’est pas commenté. Si votre FAI a un serveur DNS fiable, vous pouvez l’utiliser à la place. Autant que possible, épargnez les serveurs racines. - /etc/resolv.conf Ce fichier contient les serveurs DNS que les programmes sur votre serveur (par exemple squid, apache) consulteront normalement pour la résolution de noms. Maintenant, vous voudrez consulter le serveur pdnsd local que vous venez d’installer, donc vous entrez l’adresse IP de votre interface de boucle (lo) à savoir 127.0.0.1. Cela devrait être la seule entrée dans ce fichier.
127.0.0.1
Tests et conclusion
Maintenant, démarrez votre serveur pdnsd :
/etc/init.d/pdnsd startMaintenant, exécutez la commande suivante et surveillez le temps de requête : dans la réponse pour déterminer à quel point vous vous en sortez bien :
dig www.httpcompression.net; DiG 9.4.2-P2 www.httpcompression.net
;; Temps de requête : 3323 msec
;; SERVEUR : 127.0.0.1#53(127.0.0.1)
;; QUAND : Lun Nov 3 20:02:37 2008
;; TAILLE MSG reçue : 71
Après un certain temps, exécutez à nouveau la commande :
dig www.httpcompression.net; DiG 9.4.2-P2 www.httpcompression.net
;; Temps de requête : 1 msec
;; SERVEUR : 127.0.0.1#53(127.0.0.1)
;; QUAND : Lun Nov 3 20:03:07 2008
;; TAILLE MSG reçue : 71
D’après les deux résultats ci-dessus, la première requête a pris 3323 msecs tandis que la seconde, 30 secondes plus tard, n’a pris qu’1 msec à résoudre. Maintenant, après un redémarrage du serveur :
dig www.httpcompression.net;; Temps de requête : 3 msec
;; SERVEUR : 127.0.0.1#53(127.0.0.1)
;; QUAND : Lun Nov 3 20:06:38 2008
;; TAILLE MSG reçue : 71
Après le redémarrage, la requête n’a pris que 3 ms à résoudre. Nous n’avons pas perdu notre cache. Vous voudrez peut-être lire le manuel et changer certains paramètres pour les adapter à votre situation. Quelques-uns de ces paramètres sont :
- min_ttl : Le temps minimum par défaut qu’une réponse mise en cache doit être conservée est de 15 minutes. Vous voudrez peut-être augmenter cela pour réduire la fréquence à laquelle vous contactez les serveurs parents. L’effet secondaire est que, si l’adresse d’un site change, il faudra un certain temps à votre pdnsd pour contacter les serveurs parents pour la nouvelle adresse. Si le temps minimum n’est pas assez long, vous perdrez également votre cache après une coupure de courant prolongée.
- perm_cache : C’est la taille de l’espace disque pour votre cache. En fonction du trafic sur votre réseau, vous voudrez peut-être augmenter cela à une valeur qui peut confortablement stocker au moins une semaine de données. Vous pourriez surveiller la taille du fichier de cache sur une période de temps pour avoir une idée de ce qui devrait être adéquat pour vous.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.