Table des matières

Dnsmasq

Dnsmasq est un petit serveur DNS très léger qui va permettre de définir des noms de domaines locaux.

Par exemple, on peut faire pointer tous les nom de domaine finissant par .dev vers l'adresse locale 127.0.0.1

Installation et configuration

On installe d'abord dnsmasq

sudo apt-get install dnsmasq

On ajoute la ligne listen-address dans le fichier de configuration :

echo "listen-address=127.0.0.1" | sudo tee -a /etc/dnsmasq.conf

On édite ensuite le fichier suivant :

/etc/dhcp/dhclient.conf

On y active la ligne suivante :

prepend domain-name-servers 127.0.0.1;

On redémarre les services :

sudo service dnsmasq restart && sudo service network-manager restart

En cas de soucis

Il peut arriver que le service systemd-resolved soit prioritaire au service dnsmasq, pour rendre dnsmasq prioritaire éditer le fichier /etc/systemd/resolved.conf et y saisir 127.0.0.1 aux lignes DNS et FallbackDNS

[Resolve]
DNS=127.0.0.1
FallbackDNS=127.0.0.1
#Domains=
#LLMNR=yes
#DNSSEC=no
#Cache=yes

Éditer également le fichier /etc/nsswitch et remplacez la ligne suivante :

#hosts:          files mdns4_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] dns myhostname
hosts:          files dns myhostname

Rebooter ensuite le PC

Ajout d'un domaine local

On ajoute le domaine à faire pointer (ici .localhost )

echo "address=/.localhost/127.0.0.1" | sudo tee -a /etc/dnsmasq.conf

On redémarre les services :

sudo service dnsmasq restart && sudo service network-manager restart