Outils pour utilisateurs

Outils du site


netadmin:dns:dnsmasq

:TODO:

dnsmasq

Une résolution faisant intervenir un serveur DNS distant est de l'ordre de la vingtaine de millisecondes. Avec un cache DNS sur le réseau local ou s’exécutant sur la machine on descend autour de la milliseconde dès la deuxième demande de résolution.

Installation

Gestionnaire de paquets

Le plus simple naturellement c'est d'utiliser le gestionnaire de paquets:

sudo apt-get install dnsmasq

Dans l'exemple ci-dessus la distribution intègre la version 2.85 de dnsmasq:

dnsmasq --version
Version de Dnsmasq 2.85  Copyright (c) 2000-2021 Simon Kelley

Installation via les sources (support des sets NFT)

Il peut être utile d'installer une version plus récente notamment pour bénéficier de certaines fonctionnalités comme le peuplement des ensembles nft) disponible à partir de la version 2.87.

Configuration du cache DNS

Après toute modification des fichiers de configuration, il faut redémarrer le service pour les prendre en compte.

Le signal SIGUSR1 fait un dump des statistiques du cache dans le fichier log:

kill -USR1 $(cat /var/run/dnsmasq/dnsmasq.pid)
journalctl --unit dnsmasq.service

Dans l'exemple ci-dessous, on retrouve bien dans les journaux système les statistiques du cache:

mars 26 14:48:36 debian11vm dnsmasq[10251]: time 1679834916
mars 26 14:48:36 debian11vm dnsmasq[10251]: cache size 150, 0/1 cache insertions re-used unexpired cache entries.
mars 26 14:48:36 debian11vm dnsmasq[10251]: queries forwarded 5, queries answered locally 4
mars 26 14:48:36 debian11vm dnsmasq[10251]: queries for authoritative zones 0
mars 26 14:48:36 debian11vm dnsmasq[10251]: pool memory in use 48, max 48, allocated 2400
mars 26 14:48:36 debian11vm dnsmasq[10251]: server 192.168.122.1#53: queries sent 5, retried or failed 0

Vider le cache

A la réception du signal HUP, dnsmasq vide le cache DNS :

killall -HUP dnsmasq
 
# Equivalent
kill -HUP $(cat /var/run/dnsmasq/dnsmasq.pid)
Le man indique bien que la réception du signal SIGHUP ne provoque pas la relecture des fichiers de configuration. Pour prendre en compte toute modification de la configuration, il faudra redémarrer le service.

Fake DNS

Il est possible de redéfinir l'adresse IP associée à un domaine (fake DNS):

# IP originale associée au FQDN www.example.com
dig +short www.example.com
93.184.216.34

On modifie le fichier de configuration /etc/dnsmasq.d/local.conf

address=/www.example.com/192.168.33.11

Journalisation

Références

netadmin/dns/dnsmasq.txt · Dernière modification : 2023/03/29 11:18 de yoann