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
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
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
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