Pdnsd

De ArchwikiFR

pdnsd est un serveur DNS conçu pour mettre en cache localement des informations DNS. Correctement configuré, il permet d'augmenter la vitesse de surf de manière significative sur Internet.

Installation

pacman -S pdnsd

Configuration

Préparation

Le fichier exemple de configuration qui vient avec pdnsd a besoin de quelques modifications avant de démarrer le service. Tout d'abord, copiez le fichier au bon endroit :

cp /etc/pdnsd.conf.sample /etc/pdnsd.conf

Le format

Le fichier pdnsd.conf utilise un format assez simple mais il comporte quelques différences par rapport à la plupart des fichiers que vous avez l'habitude de rencontrer. Il comporte différentes sections. Une section commence avec le nom du type de section et une accolade ouvrante ({) puis se termine avec une accolade fermante (}). Les sections ne peuvent pas s'imbriquer.

Dans chaque bloc, il y a une série d'options avec le format suivant :

option_nom=option_valeur;

Vous êtes obligés de mettre un point virgule à la fin ; ce n'est pas optionnel contrairement à d'autres formats.

Vous pouvez commenter une ligne en la faisant commencer par # et une section en l'entourant de /*, */ .

Serveurs DNS

pdnsd a besoin de connaître l'adresse d'au moins un serveur DNS pour en collecter les informations. Cette partie d'installation peut différer selon que vous avez une connexion de haut débit ou RTC (Réseau Téléphonique Commuté, bas débit). Ceux qui sont en haut débit doivent utiliser la première section serveur comme point de départ et les utilisateurs bas débit la seconde en laissant les autres sections serveurs commentées.

label 
L'option label est utilisée pour identifier de manière unique la section serveur. Le nom est totalement arbitraire, mais un bon choix est de mettre par exemple le nom de votre Fournisseur d'Accès Internet (FAI).
ip 
Cette option, utilisée dans la configuration par défaut en haut débit, dit à pdnsd quelles sont les adresses DNS à utiliser. Quand il y a plusieurs adresses, elles doivent être séparées par une simple virgule. Vous pouvez copier les adresses provenant de /etc/resolv.conf.
file 
L'option file peut être utilisée au lieu de ip pour spécifier le chemin vers un fichier semblable au /etc/resolv.conf. La configuration par défaut pour le bas débit l'utilise parce que le client PPP (Point-to-Point Protocol) écrit dans /etc/ppp/resolv.conf avec les adresses provenant du serveur PPP. Vous ne devez pas le changer à moins que vous ne vouliez utiliser un serveur DNS différent de celui donné par votre FAI.

Le reste de la section serveur fonctionnera sans avoir quoi que ce soit à modifier. Pour en savoir plus sur les différentes options disponibles, veuillez vous référer au manuel pdsnd.

Test

Vous devriez désormais avoir un service pdnsd fonctionnel. Lancez-le, et découvrez par vous-même.

systemctl start pdnsd

Vous pouvez le tester avec l'utilitaire nslookup (du paquet dnsutils).

nslookup www.google.com 127.0.0.1

Si tout fonctionne, vous devriez voir une liste d'adresses IP associées avec www.google.com.

Au niveau système

Maintenant il est temps de faire fonctionner votre système avec votre tout nouveau serveur DNS.

Si vous utilisez DHCP pour configurer votre réseau, modifiez le fichier /etc/conf.d/dhcpcd:

DHCPCD_ARGS="-q -C resolv.conf"

Cela évitera d'écraser le fichier à chaque connexion.

Maintenant, il suffit d'éditer /etc/resolv.conf et d'y placer le serveur local en premier:

nameserver 127.0.0.1

Pour un démarrage automatique de pdnsd:

systemctl enable pdnsd

Félicitations ! vous en avez terminé !

Extras

Partage du serveur avec votre réseau local

Si vous disposez de plusieurs ordinateurs connectés au réseau, vous voulez sans doute faire en sorte que pdnsd soit disponible pour tous. Cela permet à l'ensemble de votre réseau de partager un unique cache DNS et ainsi d'accélérer fortement les résolutions de nom. Pour ce faire, positionnez server_ip dans la section global avec le nom de votre interface réseau (habituellement eth0). Si vous avez configuré un pare-feu, il faut que vous le configuriez afin qu'il permette les connexions sur le port 53 des adresses en provenance de votre réseau.

Désormais, vous pouvez configurer les autres ordinateurs du réseau pour utiliser l'ordinateur qui fait tourner pdnsd et ses serveurs DNS primaires.

Blocage des noms

Pdnsd vous permet de spécifier des noms d'hôtes ou des noms de domaines pour lesquels il ne retournera pas de résultat. Cela vous permet de l'utiliser comme un bloqueur basique de publicité ou de contenu, entre autres. Créez une nouvelle section neg dans pdnsd.conf. Le fichier pdnsd.conf par défaut donne un exemple qui bloque toutes pubs en provenance de doubleclic.net.

FAQ

Q) Ça ne me semble pas beaucoup plus rapide. Pourquoi ? 
R) Le gain de vitesse acquis depuis un serveur DNS tournant en local dépend de combien de temps est mis pour se connecter à un serveur. Le débit n'est en aucun cas affecté. La différence est notable lorsque vous surfez sur le Web car cela implique de petits téléchargements en provenance de plusieurs serveurs. Avec des connexions plus lentes, notamment les connexions 56k RTC, le débit est le principal goulot d'étranglement.
Q) Pourquoi est-ce plus lent qu'avant ? 
R) Vous avez sans doute mis l'option proxy_only à off dans l'une des sections serveur de pdnsd.conf. Par défaut, pdnsd fait fréquemment des requêtes sur un domaine à plusieurs serveurs DNS pour avoir la réponse la plus précise possible. L'option proxy_only désactive cette fonctionnalité. Il devrait être mis à on si vous utilisez le serveur DNS fournit par votre FAI.