Ci-dessous, les différences entre deux révisions de la page.
admin:bind [2011/02/02 22:42] |
admin:bind [2011/02/02 22:42] (Version actuelle) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | Documentation provenant de Ubuntu-fr.org. | ||
+ | ===== Configuration de BIND ===== | ||
+ | |||
+ | Considérons les aspects suivants : | ||
+ | * Le réseau local est '' | ||
+ | * La machine serveur DNS est aussi le serveur de mail et porte l'IP '' | ||
+ | * Il y a 3 autres machines sur le réseau : '' | ||
+ | |||
+ | //Remarque :// L' | ||
+ | |||
+ | Voyons comment configurer le serveur BIND avec ce petit réseau. | ||
+ | |||
+ | ==== Configuration de base du serveur ==== | ||
+ | |||
+ | === Le fichier de configuration générale === | ||
+ | |||
+ | La configuration principale de BIND se fait dans le fichier ''/ | ||
+ | |||
+ | Dans ce fichier, on définit un certain nombre de //zone//. Une //zone// correspond soit à une plage IP d'un réseau ou à un nom de domaine. Les deux zones qui nous intéressent ici sont '' | ||
+ | |||
+ | On définit deux zones pour avoir la résolution de nom dans les deux sens. C' | ||
+ | |||
+ | Une zone avec un nom de domaine se définit comme ceci : | ||
+ | |||
+ | |||
+ | < | ||
+ | zone " | ||
+ | type master; | ||
+ | file "/ | ||
+ | }; | ||
+ | </ | ||
+ | |||
+ | On indique tout d' | ||
+ | |||
+ | Nous définissons également la zone de plage IP pour la résolution inverse. Pour se faire, nous utilisons les mêmes paramètres. Cependant, le nom de la zone s' | ||
+ | |||
+ | < | ||
+ | zone " | ||
+ | type master; | ||
+ | file "/ | ||
+ | }; | ||
+ | </ | ||
+ | |||
+ | Nous en avons fini avec le fichier de configuration générale. Voyons maintenant comment définir les noms des machines présentes dans une zone. | ||
+ | |||
+ | === Les fichiers zones === | ||
+ | |||
+ | Comme vous vous en doutez, nous avons un fichier par zone. Les fichiers zones contiennent toutes les entrées comme une table de traduction pour les noms des machines d'une même zone. | ||
+ | |||
+ | Un fichier zone commence toujours par un champ '' | ||
+ | |||
+ | < | ||
+ | $TTL 3h | ||
+ | @ | ||
+ | 2005090201 | ||
+ | 8H | ||
+ | 2H | ||
+ | 1W | ||
+ | 1D ) | ||
+ | </ | ||
+ | |||
+ | Le symbole '' | ||
+ | |||
+ | Ensuite, on indique '' | ||
+ | |||
+ | Dans notre cas, le serveur DNS primaire de la zone est '' | ||
+ | |||
+ | //Remarque :// Vous avez sans doute noté que le serveur DNS et l' | ||
+ | |||
+ | Les valeurs qui suivent sont respectivement : | ||
+ | * le numéro de série (souvent on met la date courante suivie d'un numéro d' | ||
+ | * le temps de rafraichissement ('' | ||
+ | * le temps entre deux essais ('' | ||
+ | * le temps d' | ||
+ | * la valeur TTL minimum ('' | ||
+ | |||
+ | En utilisant les valeurs que j'ai stipulées ci-dessus, tout devrait fonctionner. Pour plus d' | ||
+ | |||
+ | Après le champ SOA, on indique le serveur de nom à consulter pour résoudre un nom d' | ||
+ | |||
+ | < | ||
+ | @ | ||
+ | </ | ||
+ | |||
+ | Ensuite (ceci est facultatif), | ||
+ | |||
+ | < | ||
+ | @ | ||
+ | </ | ||
+ | |||
+ | //Remarque :// La valeur '' | ||
+ | |||
+ | Enfin, nous terminons ce fichier zone avec //la table de traduction// | ||
+ | |||
+ | < | ||
+ | ns IN A | ||
+ | mail2 | ||
+ | twin1 | ||
+ | twin2 | ||
+ | portable | ||
+ | </ | ||
+ | |||
+ | Le fichier zone complet pour '' | ||
+ | |||
+ | < | ||
+ | $TTL 3h | ||
+ | @ | ||
+ | 2005090201 | ||
+ | 8H | ||
+ | 2H | ||
+ | 1W | ||
+ | 1D ) | ||
+ | |||
+ | @ | ||
+ | |||
+ | @ | ||
+ | |||
+ | ns IN A | ||
+ | mail2 | ||
+ | twin1 | ||
+ | twin2 | ||
+ | portable | ||
+ | </ | ||
+ | |||
+ | Avant de pouvoir utiliser notre serveur DNS, nous allons renseigner la zone pour la plage IP de notre réseau. La zone se décrit vaguement comme la précédente, | ||
+ | |||
+ | Voici le fichier zone pour notre réseau 192.168.251.* d' | ||
+ | |||
+ | < | ||
+ | $TTL 3h | ||
+ | @ | ||
+ | 2005090201 | ||
+ | 8H | ||
+ | 2H | ||
+ | 1W | ||
+ | 1D ) | ||
+ | |||
+ | @ | ||
+ | |||
+ | @ | ||
+ | |||
+ | 202 | ||
+ | 202 | ||
+ | 200 | ||
+ | 201 | ||
+ | 205 | ||
+ | </ | ||
+ | |||
+ | Nous pouvons maintenant demander à notre serveur de prendre en compte nos modifications via la commande suivante : | ||
+ | |||
+ | < | ||
+ | sudo / | ||
+ | </ | ||
+ | |||
+ | Nous pouvons maintenant passer à la phase de vérification. | ||
+ | |||
+ | ==== Vérification de la configuration ==== | ||
+ | |||
+ | Pour vérifier la configuration de notre serveur DNS, nous allons lui adresser des requêtes directement via l' | ||
+ | |||
+ | On doit lui indiquer le serveur DNS à vérifier via le mot clé '' | ||
+ | |||
+ | Voici la petite session de test que j'ai fait chez moi : | ||
+ | |||
+ | < | ||
+ | ols@mail2:/ | ||
+ | > server 127.0.0.1 | ||
+ | Default server: 127.0.0.1 | ||
+ | Address: 127.0.0.1# | ||
+ | > mail2.bureau.lan | ||
+ | Server: | ||
+ | Address: | ||
+ | |||
+ | Name: | ||
+ | Address: 192.168.251.202 | ||
+ | > 192.168.251.201 | ||
+ | Server: | ||
+ | Address: | ||
+ | |||
+ | 201.251.168.192.in-addr.arpa | ||
+ | > set q=mx | ||
+ | > bureau.lan | ||
+ | Server: | ||
+ | Address: | ||
+ | bureau.lan | ||
+ | > exit | ||
+ | </ | ||
+ | |||
+ | Si tout se déroule normalement, | ||
+ | |||
+ | ==== Configuration avancée ==== | ||
+ | |||
+ | === Configuration d'un serveur DNS secondaire === | ||
+ | |||
+ | Dans cette section, nous allons envisager la configuration d'un serveur DNS secondaire qui se synchronise avec le serveur DNS principal que nous avons défini ci-dessus. | ||
+ | |||
+ | == Le serveur DNS secondaire proprement dit == | ||
+ | |||
+ | Pour configurer le serveur secondaire, nous devons simplement indiquer à BIND les zones qu'il doit traiter en mode esclave. Sur base de la configuration ci-dessus, nous configurons le fichier ''/ | ||
+ | |||
+ | < | ||
+ | zone " | ||
+ | type slave; | ||
+ | masters {192.168.251.202; | ||
+ | file "/ | ||
+ | }; | ||
+ | |||
+ | zone " | ||
+ | type slave; | ||
+ | masters {192.168.251.202; | ||
+ | file "/ | ||
+ | }; | ||
+ | </ | ||
+ | |||
+ | En faisant cela, il est inutile d' | ||
+ | |||
+ | //Remarque :// L' | ||
+ | |||
+ | == Modification de la configuration du serveur DNS primaire == | ||
+ | |||
+ | Nous devons renseigner dans les fichiers zones le deuxième serveur DNS, et pour se faire, on ajoute la ligne suivante au fichier ''/ | ||
+ | |||
+ | < | ||
+ | @ | ||
+ | </ | ||
+ | |||
+ | et nous devons également renseigner l' | ||
+ | |||
+ | < | ||
+ | ns2 | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | 250 | ||
+ | </ | ||
+ | |||
+ | Après avoir modifié les zones et de ce fait, dévoilé '' | ||
+ | |||
+ | Pour ce faire, les informations concernant les zones qui nous intéressent (dans le fichier ''/ | ||
+ | |||
+ | < | ||
+ | zone " | ||
+ | type master; | ||
+ | notify yes; | ||
+ | allow-transfer {192.168.251.250; | ||
+ | file "/ | ||
+ | }; | ||
+ | |||
+ | zone " | ||
+ | type master; | ||
+ | notify yes; | ||
+ | allow-transfer {192.168.251.250; | ||
+ | file "/ | ||
+ | }; | ||
+ | </ | ||
+ | |||
+ | Après toutes ces modifications, | ||
+ | < | ||
+ | sudo / | ||
+ | </ | ||
+ | |||
+ | Et surtout, n' |