Outils pour utilisateurs

Outils du site


sysadmin:configurer-bind9

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
sysadmin:configurer-bind9 [2013/05/17 06:29] – créée rootsysadmin:configurer-bind9 [2025/10/27 15:17] (Version actuelle) yoann
Ligne 1: Ligne 1:
 +{{tag>sysadmin netadmin linux dns bind}}
 +
 ======= Configurer bind9 ====== ======= Configurer bind9 ======
  
-Instalation serveur de nom sur la zone lan+Installation du serveur de résolution de nom ISC BIND((Berkeley Internet Name Domain)). 
 +Configuration minimale en tant que serveur faisant autorité sur la zone internal.
  
 <code bash> <code bash>
 apt-get install bind9 bind9-doc bind9utils apt-get install bind9 bind9-doc bind9utils
 +</code>
 +
 +
 +Dans le fichier de configuration **''/etc/bind/named.conf.options''** définir les interfaces sur lesquelles le serveur bind sera à l'écoute en modifiant la ligne listen-on-v6.
 +
 +Écoute sur toutes les interfaces
 +<file>
 +        listen-on-v6 { any; };
 +</file>
 +
 +Écoute sur la boucle locale
 +<file>
 +        listen-on-v6 { ::1; };
 +</file>
 +
 +Le retrait de la déclaration **forwarders** permet d'éviter de s'appuyer sur les DNS du FAI. Dans ce cas bind interroge directement les DNS racines. On ne bénéficie plus du cache DNS du FAI mais on évite également ses DNS menteurs s'il existent.
 +
 +Commenter les forwarders
 +<file>
 +        // forwarders {
 +        //      0.0.0.0;
 +        // };
 +</file>
 +
 +===== Configuration en serveur maître =====
 +
 +bind va être configuré en tant que serveur maître sur la zone **internal.** C'est lui qui fera autorité sur cette zone.
 +
 +Modifier le fichier de configuration ''**/etc/bind/named.conf.local**'' afin de déclarer la zone internal.
 +
 +<file>
 +zone "internal"
 +        type master; 
 +        file "/etc/bind/db.internal"; 
 +        allow-update { none; };
 +};
 +</file>
 +
 +Remarque: Pour éviter qu'un tiers ne mette à jour dynamiquement votre zone DNS, utiliser la déclaration **allow-update**
 + 
 +Le fichier ''**/etc/bind/db.internal**'' contiendra la définition de la zone internal. Créer le fichier
 +<code bash>
 +touch db.internal
 +</code>
 +
 +Il contiendra les définitions suivantes
 +<file>
 +;
 +; BIND fichier de données pour la zone internal
 +;
 +$TTL    604800
 +@       IN      SOA     ns.internal. contact.internal. (
 +                              1         ; Serial
 +                         604800         ; Refresh
 +                          86400         ; Retry
 +                        2419200         ; Expire
 +                         604800 )       ; Negative Cache TTL
 +;
 +@        IN      NS      ns1.internal.
 +ns1      IN      A       192.168.1.15
 +gateway  IN      A       192.168.1.1
 +</file>
 +
 +
 +Vérifier la syntaxe des fichiers de configuration:
 +
 +<code bash>
 +named-checkconf -z
 +</code>
 +
 +===== Créer la zone de recherche inversée =====
 +
 +Cette zone va permettre au serveur DNS de convertir une adresse IP en nom. A nouveau modifier le fichier de configuration ''**/etc/bind/named.conf.local**'' pour ajouter la zone de recherche inversée.
 +
 +<file>
 +zone "1.168.192.in-addr.arpa" {
 +        type master;
 +        notify no;
 +        file "/etc/bind/db.reverse.internal";
 +};
 +</file>
 +
 +Ici c'est dans le fichier ''**db.reverse.internal**'' que seront définies les entrées de la zone. Utiliser un fichier existant en modèle pour créer le nouveau fichier de zone.
 +
 +<code bash>
 +cp db.127 db.reverse.internal
 +</code>
 +
 +Modifier le fichier de zone inversé ''**/etc/bind/db.192**''. Attention a bien modifier l'entrée SOA, le nom du serveur doit correspondre à la zone **lan**. A chaque entrée **A** du fichier de zone **lan** doit correspondre un enregistrement **PTR**.
 +
 +<file>
 +;
 +; BIND reverse data file
 +;
 +$TTL    604800
 +@       IN      SOA     ns1.lan. admin.lan. (
 +                              1         ; Serial
 +                         604800         ; Refresh
 +                          86400         ; Retry
 +                        2419200         ; Expire
 +                         604800 )       ; Negative Cache TTL
 +;
 +@       IN      NS      ns1.
 +
 +; ================= Serveurs =========================
 +200     IN      PTR     ns1.lan.
 +201     IN      PTR     pi-stache.lan.
 +254     IN      PTR     gw.lan.
 +
 +</file>
 +
 +Vérifier la configuration et recharger les fichiers de configuration
 +<code bash>
 +named-checkzone 122.168.192.in-addr.arpa /etc/bind/db.reverse.glp.internal
 +
 +named-checkconf -z && systemctl reload named.service
 +</code>
 +
 +==== Tester la recherche inversée ====
 +
 +Avec nslookup en passant l'adresse IP directement en paramètre ou en mode interactif en restreignant le type de réponses à PTR: 
 +
 +<code bash>
 +nslookup 
 +> set type=PTR
 +> 192.168.1.201
 +Server:         192.168.1.200
 +Address:        192.168.1.200#53
 +
 +201.1.168.192.in-addr.arpa      name = pi-stache.lan.
 +>
 +</code>
 +
 +A propos de la RFC 1918
 +
 +===== Statistiques =====
 +
 +<note>
 +Les statistiques ne doivent pas être exposées sur une interface publique car elles peuvent fournir des informations importantes pouvant faciliter les attaques.
 +</note>
 +
 +Deux méthodes exposent les statistiques du serveur BIND :
 +  * le fichier ''named.stats'' ;
 +  * le serveur HTTP (recommandé).
 +
 +
 +Pour activer le service d'export des statistiques via HTTP, ajouter la directive ''statistics-channels'' dans le fichier de configuration ''/etc/bind/named.conf.local'' :
 +
 +<file>
 +statistics-channels { inet 127.0.0.1 port 8080 ; };
 +</file>
 +
 +Valider la syntaxe et relancer le service :
 +<code bash>
 +named-checkconf -z
 +systemctl reload named.service
 +</code>
 +
 +:TODO:
 +
 +  * voir paramètre ''query logging'' affiché par la commande **''rndc status''** ;
 +  * directive
 +
 +
 +<code bash>
 +rndc querylog on
 </code> </code>
  
Ligne 10: Ligne 179:
  
   * http://doc.ubuntu-fr.org/bind9   * http://doc.ubuntu-fr.org/bind9
 +  * http://www.linuxpedia.fr/doku.php/bind
 +  * https://www.it-connect.fr/dns-avec-bind-9/
 +  * [[https://kb.isc.org/docs/monitoring-recommendations-for-bind-9|Recommandation pour la supervision d'une serveur BIND 9 (isc.org) (en)]]
 +  * [[https://access.redhat.com/solutions/477073|Comment obtenir les statistiques d'un serveur BIND 9 (redhat.com) (en)]]
 +  * [[https://www.it-connect.fr/linux-comment-configurer-un-serveur-dns-bind9-sur-un-reseau-deconnecte-dinternet/|Configurer BIND 9 comme résolveur sur un réseau local non connecté]]
 +  * [[https://blog.tips4tech.fr/creer-un-serveur-dns-avec-bind9/|Configurer un serveur DNS BIND (tips4tech.fr)]]
sysadmin/configurer-bind9.1368772199.txt.gz · Dernière modification : 2021/02/01 21:51 (modification externe)