Configurer un Serveur DNS avec Bind9 sur un VPS Publié le 19/11/2024 Temps de lecture : 7 min 14 vues <h3><strong>Introduction</strong></h3> <p>Un serveur DNS (Domain Name System) joue un rôle essentiel dans la résolution des noms de domaine en adresses IP. Si vous souhaitez gérer vos propres domaines ou améliorer les performances de vos sites, configurer un serveur DNS sur un VPS avec Bind9 est une solution puissante. Ce guide vous accompagne pas à pas pour mettre en place Bind9 et gérer vos zones DNS.</p> <hr> <h3><strong>Pré-requis</strong></h3> <ul> <li>Un <strong>VPS</strong> fonctionnant sous Debian ou Ubuntu.</li> <li>Un accès root ou un utilisateur avec privilèges sudo.</li> <li>Un domaine pour tester votre configuration DNS.</li> </ul> <hr> <h3><strong>Étape 1 : Installer Bind9</strong></h3> <h4><strong>a. Mettre à jour le système</strong></h4> <p>Assurez-vous que votre serveur est à jour :</p> <pre><code>sudo apt update && sudo apt upgrade -y </code></pre> <h4><strong>b. Installer Bind9</strong></h4> <p>Installez le paquet Bind9 et ses outils :</p> <pre><code>sudo apt install bind9 bind9utils bind9-doc -y </code></pre> <h4><strong>c. Démarrer le service Bind9</strong></h4> <p>Démarrez et activez Bind9 pour qu'il se lance au démarrage :</p> <pre><code>sudo systemctl start bind9 sudo systemctl enable bind9 </code></pre> <hr> <h3><strong>Étape 2 : Configurer les fichiers de zone</strong></h3> <p>Bind9 utilise des fichiers de configuration pour gérer les zones DNS et leurs enregistrements.</p> <h4><strong>a. Éditer le fichier de configuration principal</strong></h4> <p>Ajoutez vos zones DNS dans le fichier <code>/etc/bind/named.conf.local</code> :</p> <pre><code>sudo nano /etc/bind/named.conf.local </code></pre> <p>Ajoutez les lignes suivantes en remplaçant <code>votre-domaine.com</code> par votre domaine :</p> <pre><code>zone "votre-domaine.com" { type master; file "/etc/bind/zones/votre-domaine.com.db"; }; zone "10.10.10.in-addr.arpa" { type master; file "/etc/bind/zones/10.10.10.db"; }; </code></pre> <h4><strong>b. Créer les fichiers de zones</strong></h4> <p>Créez le dossier des zones s’il n’existe pas déjà :</p> <pre><code>sudo mkdir -p /etc/bind/zones </code></pre> <p>Créez le fichier pour la zone directe :</p> <pre><code>sudo nano /etc/bind/zones/votre-domaine.com.db </code></pre> <p>Ajoutez les informations suivantes :</p> <pre><code>$TTL 604800 @ IN SOA ns1.votre-domaine.com. admin.votre-domaine.com. ( 2024111801 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns1.votre-domaine.com. @ IN NS ns2.votre-domaine.com. @ IN A 10.10.10.1 www IN A 10.10.10.1 ns1 IN A 10.10.10.1 ns2 IN A 10.10.10.2 </code></pre> <p>Créez le fichier pour la zone inversée :</p> <pre><code>sudo nano /etc/bind/zones/10.10.10.db </code></pre> <p>Ajoutez :</p> <pre><code>$TTL 604800 @ IN SOA ns1.votre-domaine.com. admin.votre-domaine.com. ( 2024111801 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns1.votre-domaine.com. @ IN PTR votre-domaine.com. 1 IN PTR ns1.votre-domaine.com. 2 IN PTR ns2.votre-domaine.com. </code></pre> <hr> <h3><strong>Étape 3 : Vérifier la configuration</strong></h3> <h4><strong>a. Vérifier les fichiers de configuration</strong></h4> <p>Utilisez la commande suivante pour vérifier vos configurations :</p> <pre><code>sudo named-checkconf </code></pre> <h4><strong>b. Vérifier les fichiers de zones</strong></h4> <p>Vérifiez vos fichiers de zones :</p> <pre><code>sudo named-checkzone votre-domaine.com /etc/bind/zones/votre-domaine.com.db sudo named-checkzone 10.10.10.in-addr.arpa /etc/bind/zones/10.10.10.db </code></pre> <p>Si aucune erreur n’est signalée, tout est prêt !</p> <hr> <h3><strong>Étape 4 : Redémarrer Bind9</strong></h3> <p>Redémarrez le service Bind9 pour appliquer les modifications :</p> <pre><code>sudo systemctl restart bind9 </code></pre> <hr> <h3><strong>Étape 5 : Configurer les DNS sur votre domaine</strong></h3> <ul> <li>Rendez-vous sur le panneau de gestion DNS de votre registraire de domaine.</li> <li>Ajoutez les serveurs DNS : <ul> <li><code>ns1.votre-domaine.com</code> (IP 10.10.10.1)</li> <li><code>ns2.votre-domaine.com</code> (IP 10.10.10.2)</li> </ul> </li> </ul> <hr> <h3><strong>Étape 6 : Tester votre serveur DNS</strong></h3> <h4><strong>a. Utiliser <code>dig</code></strong></h4> <p>Pour tester que votre serveur DNS fonctionne, utilisez :</p> <pre><code>dig @10.10.10.1 votre-domaine.com </code></pre> <h4><strong>b. Tester les enregistrements inversés</strong></h4> <p>Testez également la zone inversée :</p> <pre><code>dig -x 10.10.10.1 @10.10.10.1 </code></pre> <hr> <h3><strong>Conclusion</strong></h3> <p>En configurant Bind9 sur un VPS, vous obtenez un contrôle total sur vos enregistrements DNS et réduisez votre dépendance à des services externes. C’est une solution idéale pour les projets nécessitant des performances élevées et une flexibilité maximale.</p>