Dernière mise à jour : 16/03/2023 à 10h46
Table des matières
C'est quoi un serveur DNS ?
Pour rappel, un serveur DNS (Domain Name Server) permet de faire correspondre des adresses avec des IP. Par exemple, lorsque vous tapez l'adresse https://google.fr dans votre navigateur, c'est un serveur DNS qui dit à votre navigateur d'aller sur 142.250.178.131. Essayez de taper directement cette IP dans votre navigateur vous verrez, vous arriverez sur google.fr.
A quoi sert un serveur dns local
Si je reprend mon exemple plus haut, le serveur DNS qui vous donne l'IP de google.fr est un serveur basé ailleurs qui peut être clouflare, google ou bien d'autres, il existe pas mal de serveurs DNS. Le choix du serveur peut se faire sur votre box mais il y a un paramétrage par défaut et on n'a pas forcément besoin d'y toucher.
Mais ces fournisseurs de DNS ne savent pas que sur votre réseau local, votre jeedom est sur l'IP 192.168.21.25 ou que votre serveur plex est sur 192.168.21.32. C'est là qu'intervient le serveur DNS local. Vous allez pouvoir ajouter dans ce dernier la résolution des nom d'hôtes locaux.
Au lieu de taper 192.168.21.25 dans votre navigateur pour atteindre votre jeedom, vous pourrez taper jeedom.domainelocal.lan par exemple.
Installation et configuration du serveur DNS
Installation
Je vous donne l'exmple sur une base Debian mais les autres distribution proposent le même paquet dnsmasq
Code BASH :
apt install dnsmasq
Configuration
Pour la configuration, il y a plusieurs fichiers à éditer :
- dnsmasq.conf
- dnsmasq-dns.conf
- dnsmasq-hosts.conf
Tous ces fichiers se trouvent dans /etc/.
dnsmasq.conf
Ici, c'est la configuration générale.
La seule ligne à modifier est la ligne qui commence par domain, c'est ici que vous mettez votre domaine local, par exmple :
Code BASH :
domain=domainelocal.lan
dnsmasq-dns.conf
Dans ce fichier, vous allez mettre le ou les serveurs DNS externe sur lesquels vous souhaitez aller.
Personnellement, j'ai choisi les serveurs DNS de CloudFlare, pour cela il suffit de supprimer les lignes existantes et d'ajouter celles-ci :
Code BASH :
nameserver 1.1.1.1 nameserver 1.0.0.1
dnsmasq-hosts.conf
C'est ici le fichier pour lequel nous avons installer un serveur DNS local, on va pouvoir y ajouter les machines locales avec leurs IP et le nom qu'on souhaite leur donner, par exemple, vous pouvez y ajouter les lignes suivantes à adapter :
Code BASH :
192.168.21.25 jeedom 192.168.21.32 plex
Ensuite, on relance le serveur DNS pour que nos paramètres soient pris en compte :
Code BASH :
systemctl restart dnsmasq.service
On teste ?
Et là, on teste dans notre navigateur favori en tapant jeedom.domainelocal.lan et cela ne fonctionne pas !
Et bien oui c'est normal...
Petit rappel, lorsque vous connectez votre ordinateur ou n'importe quel périphérique au réseau on a deux possibilités :
- Entrer manuelle l'adresse IP ainsi que la passerelle et le serveur DNS
- Laissez le serveur DHCP s'en occuper
Cela signifie donc que soit vous devez modifier le serveur DNS dans la configuration de votre client si vous spécifiez manuellement les informations réseau, soit configurer votre serveur DHCP pour que ce dernier envoi la bonne information.
Je vous renvoi donc vers mon article sur la mise en place d'un serveur DHCP pour faire cela (Installer et paramétrer un serveur DHCP). Si vous n'avez pas de serveur DHCP monté vous même, rendez dans l'interface de gestion de votre box, vous trouverez un menu permettant de modifier le serveur DNS utilisé, par exemple sur une freebox, dans paramètres puis DHCP :
Vous pouvez modifier l'adresse dans serveur DNS 1 et mettre l'adresse IP de votre nouveau serveur DNS. Lorsqu'une machine demandera une adresse IP au serveur DHCP de votre box, cette dernière renverra l'adresse IP mais aussi le serveur DNS à utiliser.
Une dernière chose, n'hésitez pas à aller consulter mon article sur quelques commandes réseau, vous y retrouverez notamment comment vérifier l'adresse du serveur DNS utilisé par un client, cela vous permettra de vérifier que c'est bien votre serveur DNS local qui répond aux requêtes : Quelques commandes réseau