Présentation

Dnsmasq a la particularité d’être un serveur de cache DNS et un serveur DHCP. Un seul démon, deux services en somme !

Installation

Sous GNU/Linux Debian il suffit de faire :

apt install dnsmasq

Configuration

Nous n’allons utiliser dnsmasq qu’en tant que serveur DNS, sans la partie DHCP.

Votre configuration - dans le fichier /etc/dnsmasq.conf - doit ressembler à quelque chose comme :

domain-needed
bogus-priv
no-resolv
server=208.67.222.222
server=208.67.220.220

Si vous avez un nom de domaine hébergé sur la même machine, ajoutez :

local=/mondomaine.tld/
domain=mondomaine.tld

Changer la configuration de /etc/resolv.conf et ne mettre QUE la ligne suivante :

nameserver 127.0.0.1

Ceci oblige dnsmasq à faire un cache.

On relance ensuite le serveur :

service dnsmasq restart

Port

Le port utilisé est le port 53 (UDP) par défaut !

Configurer son serveur DHCP (isc-dhcp-server) pour prendre par défaut le serveur DNS

Il suffit d’éditer le fichier /etc/dhcp/dhcpd.conf et de modifier afin d’obtenir une ligne comme :

option domain-name-servers 127.0.0.1;

Vider le cache

sudo kill -HUP $(pgrep dnsmasq)

Tester sur un client que le cache DNS fonctionne

Faire :

	$ dig oreilly.com
	<snip much output>
	;; Query time: 75 msec
	;; SERVER: 192.168.1.50#53(192.168.1.50)
	$ dig oreilly.com
	<snip much output>
	;; Query time: 3 msec
	;; SERVER: 192.168.1.50#53(192.168.1.50)

La seconde fois met moins de temps !

Liens