Outils pour utilisateurs

Outils du site


informatique:linux:bind-9

Différences

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

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
informatique:linux:bind-9 [2009/01/20 14:17]
benoit
informatique:linux:bind-9 [2018/09/06 19:10] (Version actuelle)
Ligne 1: Ligne 1:
 +====== BIND ======
 ===== Configuration de serveurs DNS avec bind 9 ===== ===== Configuration de serveurs DNS avec bind 9 =====
  
Ligne 40: Ligne 41:
   //Pour autoriser les notifications du serveur primaire   //Pour autoriser les notifications du serveur primaire
         allow-notify {10.0.0.1;​};​         allow-notify {10.0.0.1;​};​
-  //Pour forwarder les requetes non interne vers des dns externes+  //Pour forwarder les requetes non interne vers des dns externes. Ne pas utiliser si le serveur doit faire du cache DNS
         forwarders {212.27.53.252;​ 212.27.54.252;​};​         forwarders {212.27.53.252;​ 212.27.54.252;​};​
   };   };
Ligne 98: Ligne 99:
  
  
-===== Gestion avec un controleur Active Directory ===== 
-Mettre les adresses IP des contrôleurs AD sur la ligne **allow-update** 
  
-  zone "​domaineNT.zikdomain.fr"​ { 
-        type master; 
-        file "​domaineNTzikdomain.com";​ 
-        allow-update { <IP CONTROLEUR AD>; <IP CONTROLEUR AD 2>; }; 
-  }; 
  
  
 ===== Gestion des vues ===== ===== Gestion des vues =====
 +==== Description ====
 Les sections view  définissent des comportements du serveur sur la base de l'​adresse IP du client qui envoie la requête, permettant de différencier les réponses DNS. On définit ainsi deux vues : Les sections view  définissent des comportements du serveur sur la base de l'​adresse IP du client qui envoie la requête, permettant de différencier les réponses DNS. On définit ainsi deux vues :
   * une correspondant aux clients de la zone interne et DMZ : il faut réactiver la récursion pour ces requêtes, ainsi que permettre de résoudre tous les noms possible (zone "​."​).   * une correspondant aux clients de la zone interne et DMZ : il faut réactiver la récursion pour ces requêtes, ainsi que permettre de résoudre tous les noms possible (zone "​."​).
   * une autre correspondant aux requêtes en provenance de l'​extérieur (par exemple Internet). Il faut autoriser le requêtes que pour la zone ou le serveur DNS est l'​autorité,​ c'est à dire la zone groupeT.tp. ​   * une autre correspondant aux requêtes en provenance de l'​extérieur (par exemple Internet). Il faut autoriser le requêtes que pour la zone ou le serveur DNS est l'​autorité,​ c'est à dire la zone groupeT.tp. ​
  
 +==== Générer les clés ====
 +Il est nécessaire de générer une clé par vue pour cibler les transferts de zone. Si ce n'est pas fait, les serveurs secondaire ne traiterons qu'une seule vue.
 + 
 +Pour générer les clés, lancer :
 +  cd /var/bind/
 +  dnssec-keygen -a HMAC-MD5 -b 128 -n HOST interne-key
 +  dnssec-keygen -a HMAC-MD5 -b 128 -n HOST externe-key
  
 +Ces commandes génèrent deux fichiers, exemple pour idom-key :
 +  Kinterne-key.+157+56677.key
 +  Kinterne-key.+157+56677.private
  
 +Pour récupérer la chaîne de caractère secret, lancer la commande : 
 +  grep Key Kinterne-key.+157+56677.private
 +
 +==== Configuration du serveur primaire ====
 +
 +  //Clé utilisée pour cibler le transfert de zone vers les secondaires pour la vue externe
 +  key "​externe-key"​ {
 +        algorithm hmac-md5;
 +        secret "​XXXXXXXXXXXXXXXXXXXXXX==";​
 +  };
 +  //Clé utilisée pour cibler le transfert de zone vers les secondaires pour la vue interne
 +  key "​interne-key"​ {
 +        algorithm hmac-md5;
 +        secret "​YYYYYYYYYYYYYYYYYYYYYY==";​
 +  };
 +  ​
   view "​interne"​ {   view "​interne"​ {
-        match-clients ​  { clients_interne;​ };+        ​//On autorise l'​usage de la clé interne mais pas externe pour bien ciblé  
 +        ​match-clients ​  { clients_interne; key interne-key;​ !key externe-key;};
         recursion ​      yes;         recursion ​      yes;
         allow-recursion { clients_interne;​ };         allow-recursion { clients_interne;​ };
 +        ​
 +        //Les serveurs secondaires 10.0.0.2 et 10.0.0.3 doivent utiliser la clé interne pour le transfert de cette vue
 +        server 10.0.0.2 { keys interne-key;​ };
 +        server 10.0.0.3 { keys interne-key;​ };
   ​   ​
         // racine         // racine
Ligne 158: Ligne 183:
   ​   ​
   view "​externe"​ {   view "​externe"​ {
-        match-clients ​  { any; };+        match-clients ​  { any; key externe-key;​ !key interne-key; };
         recursion ​      no;         recursion ​      no;
 +        //Les serveurs secondaires 10.0.0.2 et 10.0.0.3 doivent utiliser la clé externe pour le transfert de cette vue
 +        server 10.0.0.2 { keys externe-key;​ };
 +        server 10.0.0.3 { keys externe-key;​ };
   ​   ​
         // zone de type master correspond aux requêtes locales : ce serveur est l'​autorité         // zone de type master correspond aux requêtes locales : ce serveur est l'​autorité
Ligne 170: Ligne 198:
  
  
 +==== Configuration des serveurs secondaires ====
 +
 +
 +  //Clé utilisée pour cibler le transfert de zone vers les secondaires pour la vue externe
 +  key "​externe-key"​ {
 +        algorithm hmac-md5;
 +        secret "​XXXXXXXXXXXXXXXXXXXXXX==";​
 +  };
 +  //Clé utilisée pour cibler le transfert de zone vers les secondaires pour la vue interne
 +  key "​interne-key"​ {
 +        algorithm hmac-md5;
 +        secret "​YYYYYYYYYYYYYYYYYYYYYY==";​
 +  };
 +  ​
 +  view "​interne"​ {
 +        //On autorise l'​usage de la clé interne mais pas externe pour bien ciblé ​
 +        match-clients ​  { clients_interne;​ key interne-key;​ !key externe-key;​};​
 +        recursion ​      yes;
 +        allow-recursion { clients_interne;​ };
 +        ​
 +        //Le serveur primaire 10.0.0.1 doit utiliser la clé interne pour le transfert de cette vue
 +        server 10.0.0.1 { keys interne-key;​ };
 +  ​
 +        // racine
 +        // type hint correspond aux requêtes que l'on ne peut pas traiter localement
 +        // le fichier root.zone doit être récupéré régulièrement sur ftp.rs.internic.net/​domain
 +        zone "​."​ {
 +                type    hint;
 +                file    "​standard/​root.hint";​
 +        };
 +  ​
 +        zone "​localhost"​ {
 +                type    master;
 +                file    "​standard/​localhost";​
 +                allow-transfer { localhost; };
 +        };
 +  ​
 +        zone "​127.in-addr.arpa"​ {
 +                type    master;
 +                file    "​standard/​loopback";​
 +                allow-transfer { localhost; };
 +        };
 +  ​
 +        zone "​com"​ {
 +                type delegation-only;​
 +        };
 +  ​
 +        zone "​net"​ {
 +                type delegation-only;​
 +        };
 +  ​
 +        // zone de type master correspond aux requêtes locales : ce serveur est l'​autorité
 +        // de cette zone (groupeT.tp)
 +        zone "​groupeT.tp"​ {
 +                type    slave;
 +                file    "​slave/​int.groupeT.tp";​
 +                masters { 10.0.0.1; };
 +        };
 +  };
 +  ​
 +  view "​externe"​ {
 +        match-clients ​  { any; key externe-key;​ !key interne-key;​ };
 +        recursion ​      no;
 +        //Le serveur primaire 10.0.0.1 doit utiliser la clé externe pour le transfert de cette vue
 +        server 10.0.0.2 { keys externe-key;​ };
 +        server 10.0.0.3 { keys externe-key;​ };
 +  ​
 +        // zone de type master correspond aux requêtes locales : ce serveur est l'​autorité
 +        // de cette zone (groupeT.tp)
 +        zone "​groupeT.tp"​ {
 +                type    slave;
 +                file    "​slave/​ext.groupeT.tp";​
 +                masters { 10.0.0.1; };
 +        };
 +  };
 +
 +===== Gestion avec un controleur Active Directory =====
 +Mettre les adresses IP des contrôleurs AD sur la ligne **allow-update**
 +
 +  zone "​domaineNT.zikdomain.fr"​ {
 +        type master;
 +        file "​domaineNTzikdomain.com";​
 +        allow-update { <IP CONTROLEUR AD>; <IP CONTROLEUR AD 2>; };
 +  };
  
 ===== Astuces ===== ===== Astuces =====
Ligne 178: Ligne 290:
 Même chose pour créer les ptr Même chose pour créer les ptr
   $GENERATE 4-100 $ PTR server$.zikdomain.com.   $GENERATE 4-100 $ PTR server$.zikdomain.com.
 +  ​
 +===== Quelques commandes =====
 +
 +Activer le logging des requetes :
 +  rndc querylog
 +  ​
 +Une fois activé les logs se trouvent dans ''/​var/​log/​messages''​ ou ''/​var/​log/​syslog''​.
 +
 +Vérifier la syntaxe d'un fichier zone :
 +  named-checkzone domaine.com /​var/​cache/​bind/​domaine.com.zone
 +
 +Vérifier la syntaxe de la configuration de bind :
 +  named-checkconf /​etc/​bind/​named.conf
informatique/linux/bind-9.1232457473.txt.gz · Dernière modification: 2018/09/06 19:00 (modification externe)