informatique:logiciels:bind
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
informatique:logiciels:bind [2018/01/31 08:54] – créée pteu | informatique:logiciels:bind [2025/01/13 13:03] (current) – [Enregistrements de la zone] pteu | ||
---|---|---|---|
Line 1: | Line 1: | ||
======Bind====== | ======Bind====== | ||
- | bind est un serveur DNS libre. | + | bind est un serveur DNS libre. |
+ | |||
+ | |||
+ | =====A propos du DNS===== | ||
+ | |||
+ | Liste des TLDs (Top-Level Domains) valides : [[https:// | ||
=====Installation===== | =====Installation===== | ||
- | C'est du grand classique sous Debian | + | C'est du grand classique sous Debian : |
<code bash> | <code bash> | ||
aptitude install bind9 | aptitude install bind9 | ||
Line 16: | Line 21: | ||
=====Fichiers de conf===== | =====Fichiers de conf===== | ||
- | * **named.conf** : C'est le fichier de conf principal, il se trouve donc dans la racine de bind càd dans ''/ | + | * **named.conf** : C'est le fichier de conf principal, il se trouve donc dans la racine de bind càd dans ''/ |
- | * **named.conf.options** : contient les paramètres de la directive '' | + | * **named.conf.options** : contient les paramètres de la directive '' |
- | * **named.conf.local** : comme toujours pour les fichiers '' | + | * **named.conf.local** : comme toujours pour les fichiers '' |
+ | * **named.conf.log** : contient la configuration de la journalisation de bind. Elle est suffisamment configurable pour justifier un fichier à elle seule ! | ||
+ | |||
+ | |||
+ | ======Configuration====== | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | Par soucis de sécurité, il n'est pas recommandé, | ||
+ | </ | ||
+ | |||
+ | |||
+ | =====En tant que résolveur===== | ||
+ | |||
+ | Comme indiqué plus haut, bind peut être configuré en tant que **résolveur** ; il servira alors à résoudre les demandes de résolution de machines clientes, mais ne contient aucun enregistrement. Il conserve cependant les résultats de ses précédentes requêtes dans un cache pour une durée déterminée par sa configuration ou le TTL de ceux-ci. | ||
+ | |||
+ | <code bash> | ||
+ | // déclaration d'une plage d'IP pour le réseau local | ||
+ | acl LAN { 192.168.0.0/ | ||
+ | |||
+ | options { | ||
+ | // on ne veut répondre qu'' | ||
+ | | ||
+ | // seul notre LAN peut requêter notre cache DNS | ||
+ | | ||
+ | // résolutions récursives ? | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | |||
+ | // optionnel : si on veut décharger la résolution récursive à d' | ||
+ | // comme celui d'un FAI par exemple (ici ceux de Free) | ||
+ | // | ||
+ | // | ||
+ | // | ||
+ | // | ||
+ | }; | ||
+ | </ | ||
+ | |||
+ | |||
+ | =====En DNS faisant autorité===== | ||
+ | |||
+ | Bind peut également être configuré en serveur de nom **faisant autorité (authoritative)**. Cela signifie qu'il contient la liste des enregistrements d'une zone dont il a la charge. Il communique ces informations soit aux résolveurs DNS, soit via des transfert de zone dans le cas de multiples serveurs. L' | ||
Par convention on déclarera les zones dans '' | Par convention on déclarera les zones dans '' | ||
Line 28: | Line 75: | ||
allow-update { none; }; | allow-update { none; }; | ||
}; | }; | ||
+ | |||
# résolution inverse | # résolution inverse | ||
zone " | zone " | ||
Line 36: | Line 84: | ||
</ | </ | ||
- | Ici les tables | + | Les tables |
+ | |||
+ | ====Enregistrements de la zone==== | ||
+ | |||
+ | Ce fichier contient les enregistrements de la zone toto ; il sert à résoudre un nom en une adresse IP (titi.toto -> 192.168.0.2). | ||
- | ====db.toto==== | ||
''/ | ''/ | ||
- | | + | <code bash> |
- | $TTL 604800 | + | ; zone .toto |
- | @ IN SOA ns.toto. root.toto. ( ;DNS et mail de l' | + | $TTL 604800 |
- | 2008071602 | + | @ IN SOA ns.toto. root.toto. ( ;DNS et mail de l''admin de la zone |
- | 8H ; Refresh | + | 2008071602 |
- | 2H ; Retry | + | 8H ; Refresh |
- | 1000H ; Expire | + | 2H ; Retry (intervalle de vérification du serial par les secondaires en cas de fail du Refresh) |
- | 2D ) ; Negative Cache TTL | + | 1000H ; Expire |
- | ; | + | 2D ) ; Negative Cache TTL (durée du cache négatif (des réponses vides)) |
- | @ IN NS ns ; serveur DNS de la zone | + | ; |
- | ;@ IN MX 10 mail ; serveur de mail primaire (priorite | + | @ IN NS ns ; serveur DNS de la zone |
- | ;@ IN MX 20 mail2 ; serveur de mail secondaire | + | ;@ IN MX 10 mail ; serveur de mail primaire (priorité |
- | titi IN A 192.168.0.2 | + | ;@ IN MX 20 mail2 ; serveur de mail secondaire |
- | ; alias | + | titi IN A 192.168.0.2 |
- | ns IN CNAME titi | + | ; alias |
+ | ns IN CNAME titi | ||
+ | </ | ||
+ | ====Résolution inverse==== | ||
- | ====db.192.168.0==== | + | Ce fichier contient les enregistrement inverses, qui servent à résoudre une IP en nom (192.168.0.2 -> titi.toto). |
''/ | ''/ | ||
- | | + | <code bash> |
- | $TTL 604800 | + | ; zone inverse .toto |
- | @ IN SOA ns.toto. root.toto. ( | + | $TTL 604800 |
- | 2 ; Serial | + | @ IN SOA ns.toto. root.toto. ( |
- | 604800 | + | 2 ; Serial |
- | 86400 ; Retry | + | 604800 |
- | 2419200 | + | 86400 ; Retry |
- | 604800 ) ; Negative Cache TTL | + | 2419200 |
- | @ IN NS titi. | + | 604800 ) ; Negative Cache TTL |
- | 2 IN PTR titi | + | @ IN NS titi. |
+ | 2 IN PTR titi | ||
+ | </ | ||
=====Validation===== | =====Validation===== | ||
Line 78: | Line 133: | ||
</ | </ | ||
- | Pour valider la configuration zone " | + | Pour valider la configuration |
<code bash> | <code bash> | ||
named-checkzone toto. / | named-checkzone toto. / | ||
Line 95: | Line 150: | ||
+ | =====Manipuler le cache===== | ||
- | =====Problèmes rencontrés===== | + | Pour consulter le cache DNS de bind, il faut le dumper : |
+ | <code bash> | ||
+ | rndc dumpdb -cache | ||
+ | </ | ||
+ | |||
+ | Le dump est enregistré dans le fichier texte ''/ | ||
+ | |||
+ | Pour vider le cache : | ||
+ | <code bash> | ||
+ | rndc flush | ||
+ | rndc reload | ||
+ | </ | ||
+ | |||
+ | |||
+ | =====Consulter les stats===== | ||
+ | |||
+ | Il faut générer le fichier de stats avec la commande : | ||
+ | <code bash> | ||
+ | rndc stats | ||
+ | </ | ||
+ | |||
+ | On peut ensuite les consulter dans le fichier **/ | ||
+ | |||
+ | =====Vues===== | ||
+ | |||
+ | ref : https:// | ||
+ | |||
+ | ======Problèmes rencontrés====== | ||
- | ====rndc==== | + | =====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. | 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. | ||
Line 141: | Line 224: | ||
Si '' | Si '' | ||
- | ====NS has no address records (A or AAAA)==== | + | =====NS has no address records (A or AAAA)===== |
Lors du chargement de ma zone inverse j'ai eu le message d' | Lors du chargement de ma zone inverse j'ai eu le message d' | ||
Line 153: | Line 236: | ||
</ | </ | ||
- | =====Liens===== | + | ======Tips====== |
+ | |||
+ | =====Forcer l' | ||
+ | |||
+ | Pour force un serveur DNS slave à recharger une zone existante (ex : domain.tld), | ||
+ | <code bash> | ||
+ | # (Schedules an immediate refresh for the specified zone (i.e., an SOA query to the zone's master) | ||
+ | rndc refresh domain.tld | ||
+ | |||
+ | # (reloads the nameserver ; can specify some domain names or zones in args) | ||
+ | rndc reload domain.tld | ||
+ | |||
+ | # (Immediately retransfers the specified zone without checking the serial number) | ||
+ | rndc retransfer domain.tld | ||
+ | </ | ||
+ | |||
+ | La zone entière est alors intégralement mise à jour (transférée) depuis le master DNS. | ||
+ | |||
+ | NB : Si on utilise des vues, il faut ajouter '' | ||
+ | <code bash> | ||
+ | rndc reload domain.tld IN external | ||
+ | </ | ||
+ | |||
+ | Pour prendre en compte une nouvelle zone : | ||
+ | <code bash> | ||
+ | rndc reconfig | ||
+ | </ | ||
+ | ======Liens====== | ||
* http:// | * http:// | ||
* http:// | * http:// | ||
* http:// | * http:// | ||
+ | * liste des options du named.conf : https:// |
informatique/logiciels/bind.1517388866.txt.gz · Last modified: 2018/01/31 08:54 by pteu