La mise en place d’un serveur DNS personnel offre un excellent moyen d’apprendre sur le DNS et de contrôler votre réseau local. Un Raspberry Pi, grâce à son prix abordable et son accessibilité, rend ce projet étonnamment simple. Ce guide vous guidera tout au long du processus, vous permettant de gérer les enregistrements DNS de votre réseau domestique.
Table des matières
- Configuration d’une adresse IP statique sur votre Raspberry Pi
- Configuration du serveur DNS (Bind9)
- Test de votre serveur DNS
Configuration d’une adresse IP statique sur votre Raspberry Pi
Avant de configurer votre serveur DNS, il est crucial d’attribuer une adresse IP statique à votre Raspberry Pi. Cela empêche les changements d’adresse IP de perturber le fonctionnement du DNS. Nous utiliserons l’outil de configuration Raspberry Pi :
- Accès à l’outil de configuration : Ouvrez un terminal sur votre Raspberry Pi (ou via SSH) et tapez :
- Options réseau : Accédez à « 5 Interfacing Options », puis à « P5 Network Configuration ».
- Définir l’IP statique : Sélectionnez la configuration « Manuel ». Saisissez l’adresse IP statique souhaitée, le masque de sous-réseau, la passerelle et les adresses du serveur DNS (utilisez temporairement les serveurs DNS de votre routeur). Assurez-vous que l’adresse IP se trouve dans la plage de votre réseau et ne crée pas de conflit avec d’autres appareils. Notez ces paramètres.
- Enregistrement et redémarrage : Enregistrez les modifications et redémarrez votre Raspberry Pi en utilisant :
- Vérification : Après le redémarrage, vérifiez votre IP statique en utilisant :
sudo raspi-config
sudo reboot
ip addr show
Configuration du serveur DNS (Bind9)
Nous utiliserons Bind9, un serveur DNS fiable et largement utilisé.
- Mise à jour des paquets : Mettez à jour la liste des paquets de votre Raspberry Pi :
- Installation de Bind9 : Installez Bind9 et ses utilitaires :
- Configuration de Bind9 : Le fichier de configuration principal se trouve à `/etc/bind/named.conf.local`. Ajoutez des entrées pour vos domaines. Par exemple, pour servir des enregistrements pour `example.local`, ajoutez :
- Création du fichier de base de données : Créez `/etc/bind/db.example.local` avec ce qui suit (remplacez les espaces réservés par vos informations) :
- Redémarrage de Bind9 : Redémarrez Bind9 pour appliquer les modifications :
- Pare-feu (facultatif) : Si vous utilisez un pare-feu (par exemple, `ufw`), autorisez le trafic DNS (port 53) :
sudo apt update
sudo apt install bind9 bind9utils
zone "example.local" {
type master;
file "/etc/bind/db.example.local";
};
$TTL 604800
@ IN SOA raspberrypi.example.local. admin.example.local. (
2023102702 ; Numéro de série (incrémentez ce nombre à chaque modification)
86400 ; Actualisation
7200 ; Nouvelle tentative
3600000 ; Expiration
604800 ; TTL du cache négatif
)
@ IN NS raspberrypi.example.local.
raspberrypi IN A 192.168.1.100
www IN A 192.168.1.100
sudo systemctl restart bind9
sudo ufw allow 53/udp
sudo ufw allow 53/tcp
Test de votre serveur DNS
- Configuration du client : Sur un appareil de votre réseau, modifiez ses paramètres de serveur DNS pour utiliser l’adresse IP statique de votre Raspberry Pi.
- Test de résolution : Effectuez un ping ou naviguez vers un nom d’hôte défini dans `db.example.local` (par exemple, `raspberrypi.example.local` ou `www.example.local`). Une résolution réussie confirme que votre serveur DNS est opérationnel. Sinon, vérifiez vos fichiers de configuration.
N’oubliez pas de remplacer les valeurs d’espace réservé par vos adresses IP et noms de domaine réels. Il s’agit d’une configuration de base ; pour des configurations avancées, consultez la documentation Bind9. Sauvegardez toujours les fichiers de configuration avant d’apporter des modifications.