Administration IT PDF Gratuit

Tutoriel Installation serveur DNS Ubuntu (PDF)

Déploiement et configuration pas à pas d'un serveur DNS (BIND) sur Ubuntu Server : principes de la résolution de noms, résolution récursive et rôle d’un serveur faisant autorité, fichiers système à éditer et tests à effectuer pour la mise en production. Compatible avec les LTS récentes (Ubuntu 20.04, Ubuntu 22.04 LTS et Ubuntu 24.04 LTS) ; adaptez certaines commandes selon la version.

Note technique : Ce support de cours se base on Ubuntu 12.10. Bien que la configuration de BIND9 soit identique sur les versions récentes (20.04, 22.04 LTS), les commandes de configuration réseau peuvent varier. Pour les versions Ubuntu 20.04 LTS et 22.04 LTS, la configuration réseau s'effectue via Netplan dans /etc/netplan/.

Auteur : BERNIER François — Administration IT.

Sommaire du cours PDF

  • Ce que vous allez apprendre
  • Configuration de BIND9 (Bind 9.x) et fichiers de zone
  • Mise en place du service DNS avec BIND9
  • Installation de BIND9 sur les versions Ubuntu LTS récentes
  • Configuration réseau avec Netplan
  • Sécurisation du serveur DNS Ubuntu
  • Outils de vérification et diagnostic
  • Diagnostic et tests de résolution DNS

🎯 Ce que vous allez apprendre

Principes essentiels pour installer et exploiter un serveur de noms sur Ubuntu, avec un focus pratique sur la configuration de BIND9, la gestion des zones et la validation opérationnelle. Ce contenu couvre la gestion des fichiers système, l'intégration avec la configuration réseau moderne, les vérifications syntaxiques, les tests de résolution et les contrôles de sécurité de base nécessaires pour une mise en production fiable.

Configuration de BIND9 (Bind 9.x) et fichiers de zone

Le répertoire /etc/bind regroupe les fichiers de configuration principaux : named.conf, named.conf.local et named.conf.options. Séparez clairement les zones directes et inverses, contrôlez les permissions des fichiers et centralisez les options partagées via des include. Effectuez des sauvegardes avant toute modification et validez la syntaxe avec named-checkconf et named-checkzone pour éviter des interruptions de service lors des rechargements.

Pourquoi utiliser BIND9 sur Ubuntu Server ?

BIND9 est une solution éprouvée, documentée et largement déployée sur les distributions Debian/Ubuntu. Elle supporte les modes récursif et autoritatif, la gestion fine des ACL, les transferts de zone AXFR/IXFR et des mécanismes d'authentification des mises à jour. Sur Ubuntu, le paquet bénéficie des cycles de sécurité et des mises à jour maintenues par la communauté, facilitant la conformité opérationnelle en entreprise.

Création de la zone directe

Un fichier de zone directe contient les enregistrements A, AAAA, CNAME et MX. Définissez correctement le SOA et les serveurs NS, puis ajoutez les enregistrements d'adresse et de service avec des TTL cohérents. Vérifiez les priorités MX et la cohérence des enregistrements pour garantir le routage du courrier et la résolution des hôtes.

Création de la zone inverse (PTR)

La zone inverse associe adresses IP et noms (enregistrements PTR). Créez la zone correspondant à la plage IP concernée et ajoutez des PTR pour les machines critiques. La résolution inverse est importante pour le diagnostic réseau et pour certaines validations antispam ; assurez-vous que les enregistrements correspondent aux enregistrements A/AAAA.

Déclaration dans named.conf

Déclarez chaque zone dans named.conf.local ou via un fichier inclus dédié. Spécifiez le type (master ou slave), le chemin du fichier de zone et les contrôles d'accès. Utilisez un système de gestion de versions pour suivre les modifications et conservez des sauvegardes horodatées avant tout déploiement.

Mise en place du service DNS avec BIND9

La mise en place d'un service DNS commence par l'installation du paquet, la création des fichiers de zone et la configuration des options de résolution et de sécurité. Prévoyez un environnement de test pour valider les zones, configurez les forwarders et limitez la récursivité aux réseaux de confiance. Documentez la topologie DNS, les adresses de serveurs secondaires, et planifiez les sauvegardes automatiques des fichiers de zone et des configurations.

Mise en place d'un service DNS

Installer et configurer un service DNS implique : installation de bind9, création des zones directes et inverses, tests locaux puis déploiement. Intégration avec le service DHCP (par exemple isc-dhcp-server) pour les mises à jour dynamiques nécessite TSIG et des restrictions sur les zones modifiables. Assurez la prise en charge des enregistrements AAAA pour IPv6 et installez les utilitaires de contrôle (bind9-utils ou dnsutils) pour les diagnostics et la vérification des zones.

Installation de BIND9 sur les versions Ubuntu LTS récentes

Sur Ubuntu 20.04, 22.04 LTS et 24.04 LTS, installez via le gestionnaire de paquets : sudo apt update && sudo apt install bind9. Après installation, vérifiez l'état du service avec systemctl status bind9, adaptez les fichiers sous /etc/bind et gérez les éventuels conflits avec systemd-resolved. Assurez-vous que les règles de pare-feu autorisent le trafic DNS et que la configuration réseau est cohérente avant ouverture au réseau externe.

Configuration réseau avec Netplan

Netplan gère la configuration réseau sur les LTS récentes. Placez les fichiers YAML dans /etc/netplan/, appliquez les modifications avec sudo netplan apply et vérifiez l'adresse IP et la passerelle avant d'ajouter des enregistrements DNS. En cas d'utilisation de DHCP, coordonnez les mises à jour dynamiques entre le serveur DHCP (isc-dhcp-server) et le serveur DNS pour éviter les conflits d'enregistrements.

Sécurisation du serveur DNS Ubuntu

Appliquez des contrôles pour limiter la surface d'attaque : restreindre la récursivité aux plages internes via allow-recursion, définir des forwarders fiables, masquer la version du serveur et interdire les transferts de zone non autorisés. Utilisez TSIG pour authentifier les transferts et les mises à jour dynamiques. Configurez les règles du pare-feu pour autoriser DNS sur les ports nécessaires (UDP/TCP 53) uniquement depuis les sources attendues et automatisez les mises à jour de sécurité via le gestionnaire de paquets.

Administration et maintenance du service BIND9

Surveillez et appliquez régulièrement les correctifs de sécurité via le gestionnaire de paquets. Automatisez les sauvegardes des fichiers de zone, limitez les droits d'écriture et utilisez un contrôle de version pour l'historique des modifications. Restreignez l'accès aux transferts de zone et documentez les procédures de restauration et de basculement. Testez les modifications sur un environnement de préproduction avant toute mise en production.

Outils de vérification et diagnostic

  • dig : test de résolution et interrogation ciblée
  • nslookup : interrogation simple d'un serveur DNS
  • named-checkconf : validation de la configuration
  • named-checkzone : validation d'un fichier de zone

Ces outils permettent d'isoler rapidement une anomalie de résolution, de vérifier la propagation des zones et de valider la syntaxe avant rechargement du service. Note : les outils comme dig et nslookup s'installent via le paquet dnsutils (ou bind9-utils sur les versions récentes). Analysez également les logs système pour corréler erreurs et compteurs de requêtes.

Diagnostic et tests de résolution DNS

Validez la syntaxe avec les vérificateurs fournis, rechargez le service puis exécutez des requêtes depuis le serveur et des clients distants. Contrôlez les logs et les compteurs de requêtes avant d'ouvrir le service au réseau public. Automatisez des tests après chaque changement critique et documentez les critères de réussite pour chaque modification.

# Vérifier la syntaxe générale
named-checkconf

# Tester une requête A locale
dig @127.0.0.1 example.com A

# Interroger un serveur distant
nslookup example.com 192.0.2.53

Interprétez les codes de réponse et les délais pour identifier une mauvaise zone, un problème de routage ou un pare-feu bloquant le port 53. Automatisez les contrôles réguliers de résolution pour détecter les régressions.

Interaction entre DNS et DHCP (DDNS)

Le serveur DHCP peut mettre à jour dynamiquement les enregistrements DNS via DDNS. Lorsqu'un isc-dhcp-server est utilisé, configurez des clés TSIG pour authentifier les mises à jour et limitez les zones modifiables par DDNS. Surveillez les conflits entre enregistrements dynamiques et statiques et mettez en place des politiques de purge pour éviter l'accumulation d'entrées obsolètes, en particulier pour les enregistrements A et les PTR de résolution inverse.

👤 À qui s'adresse ce cours ?

Public cible : administrateurs système junior, techniciens réseau et étudiants en administration Linux souhaitant déployer et maintenir un serveur DNS on Ubuntu. Prérequis : maîtrise de la ligne de commande Linux, notions TCP/IP et droits sudo pour modifier les fichiers système. Le contenu suit les bonnes pratiques et la documentation officielle Ubuntu/Debian pour garantir une méthode rigoureuse et reproductible.

❓ Foire Aux Questions (FAQ)

Ce tutoriel s'applique-t-il à Ubuntu Server 12.10 ? Les exemples proviennent de 12.10 mais la plupart des configurations BIND9 restent compatibles avec les LTS récentes ; adaptez la gestion réseau selon la version (Netplan pour les LTS modernes).

Comment lancer rapidement l'installation de BIND9 ? Exécutez sudo apt update && sudo apt install bind9, puis suivez les sections sur la création des zones, la sécurisation et les tests de résolution.