Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
informatique:linux:bind-9 [2011/05/02 11:37] benoit |
informatique:linux:bind-9 [2018/09/06 19:10] (Version actuelle) |
||
---|---|---|---|
Ligne 41: | 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 103: | Ligne 103: | ||
===== 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 | //Clé utilisée pour cibler le transfert de zone vers les secondaires pour la vue externe | ||
Ligne 181: | Ligne 198: | ||
- | Les valeurs « secret » des clauses « key » ont été générées par la commande suivantes | + | ==== Configuration des serveurs secondaires ==== |
- | 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 : | + | //Clé utilisée pour cibler le transfert de zone vers les secondaires pour la vue externe |
- | grep Key Kinterne-key.+157+56677.private | + | 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 ===== | ===== Gestion avec un controleur Active Directory ===== | ||
Ligne 209: | 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 |