User Tools

Site Tools


informatique:logiciels:bind

This is an old revision of the document!


Bind

bind est un serveur DNS libre.

Installation

C'est du grand classique sous Debian 8 :

aptitude install bind9
Les NOUVEAUX paquets suivants vont être installés :
  bind9 bind9utils{a}

Fichiers de conf

  • named.conf : C'est le fichier de conf principal, il se trouve donc dans la racine de bind càd dans /etc/bind/. Avec le paquet de Debian 8 (1:9.9.5.dfsg-9+deb8u4) il ne contient que des include d'autres fichiers de conf.
  • named.conf.options : contient les paramètres de la directive options {}
  • named.conf.local : comme toujours pour les fichiers *.conf.local c'est ici que vous devez ajouter votre configuration car c'est un fichier qui ne sera pas écrasé par les mises à jour du paquet.

Par convention on déclarera les zones dans named.conf.local ; les enregistrements de ces zones seront définis dans des fichiers spécifiques.

# zone toto
zone "toto" {
  type master;
  file "db.toto";
  allow-update { none; };
};
# résolution inverse
zone "0.168.192.in-addr.arpa" {
   type master;
   file "db.192.168.0";
   allow-update { none; };
};

Ici les tables de résolution DNS sont disposées dans des fichiers unitaires, dans le dossier spécifié par la directive directory “/var/cache/bind”; (sous debian), dans named.conf.options.

db.toto

/var/cache/bind/db.toto :

; zone .toto
$TTL  604800
@ IN  SOA ns.toto. root.toto. ( ;DNS et mail de l'admin de la zone
  2008071602  ; Serial
  8H          ; Refresh
  2H          ; Retry
  1000H       ; Expire
  2D )        ; Negative Cache TTL
;
@ IN NS ns ; serveur DNS de la zone
;@ IN MX 10 mail ; serveur de mail primaire (priorite minimale)
;@ IN MX 20 mail2 ; serveur de mail secondaire
titi       IN A 192.168.0.2
; alias
ns    IN CNAME titi

db.192.168.0

/var/cache/bind/db.192.168.0

; zone inverse .toto
$TTL  604800
@ IN  SOA ns.toto. root.toto. (
  2         ; Serial
  604800    ; Refresh
  86400     ; Retry
  2419200   ; Expire
  604800 )  ; Negative Cache TTL
@ IN NS titi.
2 IN PTR titi

Validation

Pour valider un fichier de conf :

named-checkconf /etc/bind/named.conf

Pour valider la configuration zone “.toto” :

named-checkzone toto. /var/cache/bind/db.toto

Pour recharger les fichiers de conf :

# Pour debian 8 et sup. (systemd) :
systemctl status bind9
 
# historique
service bind9 reload
# ou
/etc/init.d/bind9 reload

Problèmes rencontrés

rndc

Après la mise en place d'un second LAN, mon serveur DNS refusait les requêtes émises par les machines du nouveau LAN qui ne sont pas dans le même adressage que lui.

J'ai donc activé une ACL dans named.conf.options

allow-query {"my-acl";};

qui est définie dans named.conf :

acl "my-acl" { 127.0.0.1; 192.168.0.0/24; 192.168.1.0/24; };

… mais en redémarrant bind9, j'obtiens le message suivant :

/etc/init.d/bind9 restart
 Stopping domain name service...: bind9rndc: connect failed: 127.0.0.1#953: connection refused
 .
 Starting domain name service...: bind9.

rndc ?

La solution, trouvée sur le forum ubuntu-fr, est la suivante :

rndc-confgen
 # Start of rndc.conf
 key "rndc-key" {
         algorithm hmac-md5;
         secret "<la clé secrète>";
 };
 
 options {
         default-key "rndc-key";
         default-server 127.0.0.1;
         default-port 953;
 };
 # End of rndc.conf

Cette commande génère des lignes à copier dans le fichier rndc.conf, càd :

  rndc-confgen > /etc/bind/rndc.conf

Puis :

rndc reload
 server reload successful
/etc/init.d/bind9 restart

Si rndc reload renvoie une erreur et qu'il n'est plus possible de faire un /etc/init.d/bind9 stop, il faut killer le serveur bind puis le relancer. Et il prend en compte la conf.

NS has no address records (A or AAAA)

Lors du chargement de ma zone inverse j'ai eu le message d'erreur : zone 0.168.192.in-addr.arpa/IN: NS 'ns.0.168.192.in-addr.arpa' has no address records (A or AAAA). Le problème venait de la ligne de la déclaration inverse du NS (dans db.192.168.0) à laquelle il manquait le point en fin de nom (titi) :

  @ IN NS titi.
 
# vérification :
named-checkzone toto tables/db.192.168.0
zone toto/IN: loaded serial 2016010907
OK

Liens

informatique/logiciels/bind.1517388866.txt.gz · Last modified: 2018/01/31 08:54 by pteu