Table des matières
unbound sur Raspberry Pi : un serveur DNS sur votre réseau local
Pré-requis
Disposer :
- d'un réseau local .
- et d'une connexion à Internet active pour les tests.
Première étape
- Placez-vous sur le Raspberry Pi (connectez-vous au Raspberry Pi via ssh).
- Installez les paquets unbound et dnsutils en ligne de commande :
...@...:~ $ sudo apt-get install -y unbound dnsutils ...@...:~ $ sudo systemctl enable unbound
Le paquet dnsutils comporte l'utilitaire dig avec lequel nous ferons les tests.
Autres étapes
Configuration
Pour ne pas toucher au fichier /etc/unbound/unbound.conf, les fichiers de configuration sont placés dans le répertoire /etc/unbound/unbound.d.
- Créez avec les droits d'administration le fichier /etc/unbound/unbound.d/local.conf :
- /etc/unbound/unbound.d/local.conf
server: # Adresse du serveur DNS Unbound : toutes les interfaces interface: 0.0.0.0 # autoriser le réseau local access-control: 192.168.0.0/16 allow local-zone: "monlan." static local-data: "box.monlan. IN A 192.168.0.254" local-data-ptr: "192.168.0.254 box.monlan"
- interface: 0.0.0.0 : Accessible sur toutes les interfaces
- access-control: 192.168.0.0/16 allow : Accessible depuis le réseau local
- local-zone: / local-data: : Domaines et sous-domaines
Nous avons créé sur le réseau local un nouveau pseudo-domaine monlan, et la box est accessible par box.monlan.
Pour vérifier, utilisons l'utilitaire dig :...@...:~ $ dig freebox.monlan
retourne l'adresse IP 192.168.0.254
Pour vérifier l'adresse IP :...@...:~ $ dig -x 192.168.0.254
retourne freebox.monlan
Un autre exemple de config : https://blog.zenithar.org/post/2015/08/11/installer-resolveur-dns-raspberry-pi/Création d'un pseudo-domaine statique
Pour créer le domaine mondomaine, ajouter la ligne :
local-zone: "mondomaine." static
et les lignes précisant les machines correspondantes :
local-data: "box.mondomaine. IN A 192.168.0.254" local-data-ptr: "192.168.0.254 box.mondomaine" local-data: "machine1.mondomaine. IN A 192.168.0.1" local-data-ptr: "192.168.0.1 machine1.mondomaine" local-data: "machine2.mondomaine. IN A 192.168.0.2" local-data-ptr: "192.168.0.2 machine2.mondomaine" etc.
Création d'un pseudo-domaine dynamique
Ici, nous créons un domaine dyndom et tous ses sous-domaines *.dyndom : site1.dyndom, site2.dyndom, etc.
Ajoutez les lignes :
local-zone: "dyndom." redirect local-data: "dyndom. A 192.168.0.1" local-data-ptr: "192.168.0.1 dyndom."
Dans cet exemple, le domaine dyndom et tous ses sous-domaines renvoient sur le serveur d'adresse IP 192.168.0.1.
- local-zone: <zone> <type>
- Configure une zone locale.
-
Le type détermine la réponse à donner s'il n'y a pas de local-data correspondant. Les types utiles sont :
- static
- S'il y a correspondance avec des données locales, une réponse est donnée.
- redirect
- réponse à partir des local-data pour la zone. Cela répond à des requêtes pour la zone, et tous les sous-domaines de la zone ayant des local-data pour la zone.
- Par défaut, les zones sont de classe IN
- local-data: “<resource record string>”
- Fournit une correspondance exacte sauf si la zone est configurée en redirect.
- local-data-ptr: “IPaddr name”
- Correspondance inverse IP → nom
Utilisation du serveur DNS depuis une machine du réseau
Placez-vous sur la machine à configurer. Nous supposons que l'adresse IP de notre Raspberry Pi est 192.168.0.31.
Premmier cas : sous Linux
Cliquez en haut sur l'icône du réseau :
Le menu s'ouvre :
Choisissez Modification des connexions :
- Sélectionnez la connexion à régler
- Cliquez sur le bouton Modifier
- Onglet Paramètres IPv4
- Méthode : Adresses automatiques uniquement (DHCP)
- Serveurs DNS : 192.168.0.31 (l'adresse de notre Raspberry Pi)
- et bouton Enregistrer
Redémarrez votre réseau :
Sous Windows
Si vous êtes sous Windows, allez dans Panneau de configuration / Configuration Réseau / Réseaux TCP/IP et paramétrez les résolveurs DNS primaire et secondaire.
Test du serveur DNS depuis une machine du réseau
Placez-vous sur la machine à configurer.
Installez le paquet dnsutils, ou en ligne de commande :
sudo apt-get install -y dnsutils
Nous supposons que l'adresse IP de notre Raspberry Pi est 192.168.0.31.
Pour tester la résolution de nom, lancez :
dig machine1.mondomaine
qui retourne l'adresse IP 192.168.0.1 et montre que le serveur DNS utilisé est bien 192.168.0.31
Pour tester la résolution d'IP, lancez :
dig -x 192.168.0.1
qui retourne le nom machine1.mondomaine et montre que le serveur DNS utilisé est bien 192.168.0.31
Test complet avec namebench
Installez le(s) paquet(s) namebench, ou en ligne de commande :
sudo apt-get install -y namebench
Lancez-le :
namebench
Renseignez les DNS à tester et voyez le résultat.
Conclusion
Problèmes connus
Voir aussi
Contributeurs principaux : Jamaique.
Basé sur « Titre original de l’article » par [Auteur Original].