Outils pour utilisateurs

Outils du site


netadmin:dns:dnsmasq

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
netadmin:dns:dnsmasq [2023/03/26 14:12] – supprimée - modification externe (Unknown date) 127.0.0.1netadmin:dns:dnsmasq [2023/03/29 11:18] (Version actuelle) yoann
Ligne 1: Ligne 1:
 +{{tag>netadmin sysadmin dns cache 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:
 +
 +<code bash>
 +sudo apt-get install dnsmasq
 +</code>
 +
 +Dans l'exemple ci-dessus la distribution intègre la version 2.85 de dnsmasq:
 +<code bash>
 +dnsmasq --version
 +Version de Dnsmasq 2.85  Copyright (c) 2000-2021 Simon Kelley
 +</code>
 +
 +==== 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 [[netadmin/recompilation_dnsmasq_support_nftset|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:
 +
 +<code bash>
 +kill -USR1 $(cat /var/run/dnsmasq/dnsmasq.pid)
 +journalctl --unit dnsmasq.service
 +</code>
 +
 +Dans l'exemple ci-dessous, on retrouve bien dans les journaux système les statistiques du cache:
 +<file>
 +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
 +</file>
 +
 +===== Vider le cache =====
 +
 +A la réception du signal **HUP**, dnsmasq vide le cache DNS :
 +
 +<code bash>
 +killall -HUP dnsmasq
 +
 +# Equivalent
 +kill -HUP $(cat /var/run/dnsmasq/dnsmasq.pid)
 +
 +
 +</code>
 +
 +<note warning>
 +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.
 +</note>
 +
 +===== Fake DNS =====
 +
 +Il est possible de redéfinir l'adresse IP associée à un domaine (fake DNS):
 +
 +<code bash>
 +# IP originale associée au FQDN www.example.com
 +dig +short www.example.com
 +93.184.216.34
 +</code>
 +
 +On modifie le fichier de configuration ''/etc/dnsmasq.d/local.conf''
 +<file>
 +address=/www.example.com/192.168.33.11
 +</file>
 +
 +===== Journalisation =====
 +
 +
 +===== Références =====
 +
 +  * https://fr.wikipedia.org/wiki/Dnsmasq
 +  * https://askubuntu.com/questions/1314927/clear-dnsmasq-cache-without-restarting-the-service
 +  * https://www.linuxtricks.fr/wiki/dnsmasq-le-serveur-dns-et-dhcp-facile-sous-linux