bind
no way to compare when less than two revisions
Différences
Ci-dessous, les différences entre deux révisions de la page.
— | bind [2018/11/17 12:52] (Version actuelle) – créée - modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Rappel ====== | ||
+ | |||
+ | On se passe de DNS en utilisant le fichier /etc/hosts de chaque machine. | ||
+ | Dans ce cas, il faut renseigner la correspondance entre l' | ||
+ | |||
+ | Sous GNU/Linux, il faut de toute façon mettre deux lignes dans le fichier /// | ||
+ | |||
+ | * La résolution de la zone locale. | ||
+ | * La propre résolution de la machine dans son domaine DNS d' | ||
+ | |||
+ | Exemple : | ||
+ | |||
+ | < | ||
+ | 127.0.0.1 | ||
+ | 192.168.20.2 | ||
+ | |||
+ | ====== Installation du DNS ====== | ||
+ | |||
+ | * Installer le package **Bind** et ses dépendances par apt : | ||
+ | < | ||
+ | |||
+ | ====== Configuration ====== | ||
+ | |||
+ | Fichiers de configuration : | ||
+ | * / | ||
+ | * / | ||
+ | * / | ||
+ | \\ | ||
+ | ==== Le fichier named.conf ==== | ||
+ | |||
+ | On modifie le fichier général en ajoutant la directive // | ||
+ | |||
+ | < | ||
+ | include "/ | ||
+ | |||
+ | // Reference aux serveurs racines | ||
+ | zone " | ||
+ | type hint; | ||
+ | file "/ | ||
+ | }; | ||
+ | |||
+ | // Zone locale | ||
+ | zone " | ||
+ | type master; | ||
+ | file "/ | ||
+ | allow-update { none; }; | ||
+ | }; | ||
+ | |||
+ | zone " | ||
+ | type master; | ||
+ | file "/ | ||
+ | allow-update { none; }; | ||
+ | }; | ||
+ | |||
+ | zone " | ||
+ | type master; | ||
+ | file "/ | ||
+ | allow-update { none; }; | ||
+ | }; | ||
+ | |||
+ | zone " | ||
+ | type master; | ||
+ | file "/ | ||
+ | allow-update { none; }; | ||
+ | };</ | ||
+ | \\ | ||
+ | ==== Le fichier named.conf.local ==== | ||
+ | |||
+ | C'est dans ce fichier que l'on indique nos zones : | ||
+ | |||
+ | < | ||
+ | |||
+ | // Les zones | ||
+ | zone " | ||
+ | type master; | ||
+ | file " | ||
+ | allow-update { none; }; | ||
+ | }; | ||
+ | |||
+ | zone " | ||
+ | type master; | ||
+ | file " | ||
+ | allow-update { none; }; | ||
+ | };</ | ||
+ | |||
+ | Explications : | ||
+ | |||
+ | * L' | ||
+ | * L' | ||
+ | \\ | ||
+ | ==== Les fichiers de zones ==== | ||
+ | |||
+ | Dans ces fichiers, le symbole @ (arobase) est un raccourci pour désigner le nom de la zone actuelle spécifié dans l' | ||
+ | |||
+ | * Création du fichier de zone directe pour nos machines (/// | ||
+ | < | ||
+ | $TTL 86400 | ||
+ | @ IN | ||
+ | 2008030901 ; serial | ||
+ | 1W | ||
+ | 1D | ||
+ | 4W | ||
+ | 1W ) | ||
+ | @ IN | ||
+ | srvlan | ||
+ | andromede | ||
+ | phoenix | ||
+ | srvdmz | ||
+ | |||
+ | * Création du fichier pour la zone inverse (/// | ||
+ | < | ||
+ | $TTL 86400 | ||
+ | @ IN | ||
+ | 2008030901 ; serial | ||
+ | 1W | ||
+ | 1D | ||
+ | 4W | ||
+ | 1W ) | ||
+ | @ IN | ||
+ | 2 IN | ||
+ | 10 | ||
+ | 11 | ||
+ | |||
+ | < | ||
+ | |||
+ | * Pour que le daemon Bind puisse lire nos fichier de zone, on modifie leur groupe d' | ||
+ | < | ||
+ | \\ | ||
+ | ==== Le fichier resolv.conf ==== | ||
+ | |||
+ | * Modifier le fichier /// | ||
+ | < | ||
+ | nameserver 192.168.20.2 | ||
+ | nameserver dns_de_votre_fai</ | ||
+ | \\ | ||
+ | ====== Check et démarrage du service ====== | ||
+ | |||
+ | * Lancer l' | ||
+ | * Lancer l' | ||
+ | < | ||
+ | # named-checkzone -d maison.lan db.maison.lan | ||
+ | loading " | ||
+ | zone maison.lan/ | ||
+ | OK</ | ||
+ | * Lancer le service : | ||
+ | < | ||
+ | * Vérifier les logs : | ||
+ | < | ||
+ | Mar 9 18:07:50 srvlan named[2383]: | ||
+ | Mar 9 18:07:53 srvlan named[2476]: | ||
+ | Mar 9 18:07:53 srvlan named[2476]: | ||
+ | Mar 9 18:07:53 srvlan named[2476]: | ||
+ | Mar 9 18:07:53 srvlan named[2476]: | ||
+ | Mar 9 18:07:53 srvlan named[2476]: | ||
+ | Mar 9 18:07:53 srvlan named[2476]: | ||
+ | Mar 9 18:07:53 srvlan named[2476]: | ||
+ | Mar 9 18:07:53 srvlan named[2476]: | ||
+ | Mar 9 18:07:53 srvlan named[2476]: | ||
+ | Mar 9 18:07:53 srvlan named[2476]: | ||
+ | Mar 9 18:07:53 srvlan named[2476]: | ||
+ | Mar 9 18:07:53 srvlan named[2476]: | ||
+ | Mar 9 18:07:53 srvlan named[2476]: | ||
+ | \\ | ||
+ | ====== Vérification plus approfondie ====== | ||
+ | |||
+ | * La commande ci-dessous (package dnsutils) doit montrer les différentes questions au service DNS et les bonnes réponses pour les enregistrements conforme à vos fichiers de configuration : | ||
+ | |||
+ | < | ||
+ | Trying " | ||
+ | ;; ->> | ||
+ | ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0 | ||
+ | |||
+ | ;; QUESTION SECTION: | ||
+ | ; | ||
+ | |||
+ | ;; ANSWER SECTION: | ||
+ | srvlan.maison.lan. | ||
+ | |||
+ | ;; AUTHORITY SECTION: | ||
+ | maison.lan. | ||
+ | |||
+ | Received 65 bytes from 192.168.20.2# | ||
+ | Trying " | ||
+ | ;; ->> | ||
+ | ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 | ||
+ | |||
+ | ;; QUESTION SECTION: | ||
+ | ; | ||
+ | |||
+ | ;; AUTHORITY SECTION: | ||
+ | maison.lan. | ||
+ | |||
+ | Received 76 bytes from 192.168.20.2# | ||
+ | Trying " | ||
+ | ;; ->> | ||
+ | ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 | ||
+ | |||
+ | ;; QUESTION SECTION: | ||
+ | ; | ||
+ | |||
+ | ;; AUTHORITY SECTION: | ||
+ | maison.lan. | ||
+ | |||
+ | Received 76 bytes from 192.168.20.2# | ||
+ | \\ | ||
+ | ou | ||
+ | \\ | ||
+ | < | ||
+ | ; <<>> | ||
+ | ;; global options: | ||
+ | ;; Got answer: | ||
+ | ;; ->> | ||
+ | ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 | ||
+ | |||
+ | ;; QUESTION SECTION: | ||
+ | ; | ||
+ | |||
+ | ;; ANSWER SECTION: | ||
+ | maison.lan. | ||
+ | |||
+ | ;; AUTHORITY SECTION: | ||
+ | maison.lan. | ||
+ | |||
+ | ;; ADDITIONAL SECTION: | ||
+ | srvlan.maison.lan. | ||
+ | |||
+ | ;; Query time: 7 msec | ||
+ | ;; SERVER: 192.168.20.2# | ||
+ | ;; WHEN: Sun Mar 9 18:25:46 2008 | ||
+ | ;; MSG SIZE rcvd: 106</ | ||
+ | |||
+ | * Enfin, on peut vérifier la résolution avec un ping sur la zone locale et un ping vers l' | ||
+ | < | ||
+ | et | ||
+ | < | ||
+ | \\ | ||
+ | ====== Utiliser des DNS externes ====== | ||
+ | |||
+ | Maintenant que notre DNS est opérationnel, | ||
+ | Actuellement, | ||
+ | De façon à réduire sa charge de travail, on peut faire en sorte que cette seconde tâche soit dévolue au serveur DNS " | ||
+ | |||
+ | * Supprimer la référence au DNS externe dans le fichier /// | ||
+ | < | ||
+ | nameserver 192.168.20.2</ | ||
+ | * Commenter les lignes ayant trait aux serveurs racines dans le fichier /// | ||
+ | < | ||
+ | //zone " | ||
+ | // type hint; | ||
+ | // file "/ | ||
+ | // | ||
+ | \\ | ||
+ | ==== Le fichier named.conf.options ==== | ||
+ | |||
+ | * Modifier les lignes suivantes dans le fichier /// | ||
+ | < | ||
+ | directory "/ | ||
+ | // query-source address * port 53; | ||
+ | forward only; | ||
+ | forwarders { | ||
+ | xxx.xxx.xxx.xxx; | ||
+ | xxx.xxx.xxx.xxx; | ||
+ | }; | ||
+ | auth-nxdomain no; # conform to RFC1035 | ||
+ | allow-recursion { localnets; }; | ||
+ | };</ | ||
+ | * Positionner à //no// pour l' | ||
+ | < | ||
+ | < | ||
+ | * Relancer le service Bind : | ||
+ | < | ||
+ | \\ | ||
+ | |||
+ | |||
+ | |||
+ | ====== Installer un DNS secondaire ====== | ||
+ | |||
+ | < | ||
+ | |||
+ | * Ajouter dans le fichier /// | ||
+ | < | ||
+ | zone " | ||
+ | type master; | ||
+ | file " | ||
+ | allow-update { none; }; | ||
+ | notify yes; | ||
+ | allow-transfer { 192.168.8.3; | ||
+ | }; | ||
+ | |||
+ | zone " | ||
+ | type master; | ||
+ | file " | ||
+ | allow-update { none; }; | ||
+ | notify yes; | ||
+ | allow-transfer { 192.168.8.3; | ||
+ | };</ | ||
+ | |||
+ | * Modifier le fichier de zone /// | ||
+ | < | ||
+ | * Idem pour la zone inverse /// | ||
+ | < | ||
+ | * Installer Bind sur le serveur de secours et modifier les fichiers de cette façon : | ||
+ | \\ | ||
+ | /// | ||
+ | < | ||
+ | directory "/ | ||
+ | query-source address * port 53; | ||
+ | forward only; | ||
+ | forwarders { | ||
+ | 212.27.54.252; | ||
+ | 212.27.53.252; | ||
+ | }; | ||
+ | auth-nxdomain no; # conform to RFC1035 | ||
+ | allow-recursion { 192.168.8.0/ | ||
+ | };</ | ||
+ | \\ | ||
+ | /// | ||
+ | Ce fichier reste identique au serveur principal | ||
+ | \\ | ||
+ | /// | ||
+ | < | ||
+ | zone " | ||
+ | type slave; | ||
+ | notify no; | ||
+ | masters { 192.168.8.2; | ||
+ | file " | ||
+ | }; | ||
+ | |||
+ | zone " | ||
+ | type slave; | ||
+ | notify no; | ||
+ | masters { 192.168.8.2; | ||
+ | file " | ||
+ | };</ | ||
+ | |||
+ | < | ||
+ | |||
+ | * Modifier le fichier /// | ||
+ | < | ||
+ | * Modifier le fichier /// | ||
+ | < | ||
+ | 192.168.8.3 | ||
+ | |||
+ | * Relancer d' | ||
bind.txt · Dernière modification : 2018/11/17 12:52 de 127.0.0.1