logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
doc:reseau:serveur:bind9 [15/01/2017 15:37]
smolski créée
doc:reseau:serveur:bind9 [16/01/2017 12:08]
robert2a [bind9 - serveur local DNS]
Ligne 4: Ligne 4:
   * Niveau requis :  {{tag> avisé}}   * Niveau requis :  {{tag> avisé}}
   * Suivi : {{tag>​tester}} ​   * Suivi : {{tag>​tester}} ​
-    * Création ​par [[user>​smolski]] le 15/01/2016+    * reCréation ​par [[user>​smolski]] le 15/​01/​2016 ​d'​après un tuto de [[user>​hypathie]]
     * Testé par ... le ...      * Testé par ... le ... 
-  * Commentaires sur le forum : [[à créer ​| Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) +  * Commentaires sur le forum : [[http://​debian-facile.org/​viewtopic.php?​id=7636 ​| Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) 
  
 +Source :
 +  * [https://​wiki.debian.org/​fr/​Bind9]]
 +  * [[http://​archil.fr/​Doc_install_BIND.html]]
 +Lien utile sur le forum :
 +  * [[https://​debian-facile.org/​viewtopic.php?​id=16508]]
  
-Source : [[http://​archil.fr/​Doc_install_BIND.html]]+===== Introduction au DNS =====
  
-===== Introduction au DNS===== +==== Quelques bases sur les servers DNS ====
- +
-====Quelques bases sur les servers DNS ====+
  
 DNS permet une correspondance entre nom d'​hôte (FQDN) et adresse IP.\\  DNS permet une correspondance entre nom d'​hôte (FQDN) et adresse IP.\\ 
 Principe de hiérarchie :\\  Principe de hiérarchie :\\ 
   *serveur racine (serveur DNS de plus haut niveau (.)   *serveur racine (serveur DNS de plus haut niveau (.)
- 
   *serveur TLD : Top Level Domaine (com org net fr ...)   *serveur TLD : Top Level Domaine (com org net fr ...)
- 
   *Domaine (toto.fr) ​   *Domaine (toto.fr) ​
- 
   *hôte ​   (www)\\ Par exemple <​nowiki>​www.toto.com.</​nowiki>​\\ il peut y avoir des sous-domaines comme par exemple, <​nowiki>​www.domaine1.toto.com.</​nowiki>​.\\   *hôte ​   (www)\\ Par exemple <​nowiki>​www.toto.com.</​nowiki>​\\ il peut y avoir des sous-domaines comme par exemple, <​nowiki>​www.domaine1.toto.com.</​nowiki>​.\\
  
 Le point après ''​com''​ est sous-entendu pour l'​utilisation du côté client, mais pas dans la configuration du DNS. Le point après ''​com''​ est sous-entendu pour l'​utilisation du côté client, mais pas dans la configuration du DNS.
  
-Tout cela compose le **FQDN** (fool domaine name). ​+Tout cela compose le **FQDN** (fool domaine name). 
 + 
 +=== Exemple ===
  
-  * Exemple : 
 Un client souhaite savoir à quel adresse IP correspond **<​nowiki>​www.toto.com</​nowiki>​**.\\ ​ Un client souhaite savoir à quel adresse IP correspond **<​nowiki>​www.toto.com</​nowiki>​**.\\ ​
- 
 Dans l'ordi de ce client on a configuré un ou plusieurs DNS dans le fichier **/​etc/​resolve.conf** dans lequel est indiqué l'​adresse IP de serveur local Bind comme server de référence.\\ ​ Dans l'ordi de ce client on a configuré un ou plusieurs DNS dans le fichier **/​etc/​resolve.conf** dans lequel est indiqué l'​adresse IP de serveur local Bind comme server de référence.\\ ​
- +Cet ordi a donc l'​adresse IP d'un DNS est lui pose la question "donne moi l'IP de **<​nowiki>​www.toto.com</​nowiki>​**. 
-Cette ordi a donc l'​adresse IP d'un DNS est lui pose la question "donne moi l'IP de **<​nowiki>​www.toto.com</​nowiki>​**.\\  +  ​- ​Si le server sait répondre il lui donne l'IP, 
- +  - s'il ne sait pas il va interroger les serveurs DNS au dessus de lui, TLD, Racine... 
-Si le server sait répondre il lui donne l'IP, s'il ne sait pas il va interroger les serveurs DNS au dessus de lui, TLD, Racine...\\ Quand il a l'​adresse,​ il répond au client qui peut joindre l'ordi de toto.com\\+  - Quand il a l'​adresse,​ il répond au client qui peut joindre l'ordi de toto.com
  
 ===Vocabulaire === ===Vocabulaire ===
-  *Zone : Ensemble des directives correspondantes à un Domaine. À chaque zone correspond un fichier. (Une zone n'est pas forcément un domaine).\\ ​ 
- 
-  * DNS récursif : DNS capable d'​interroger d'​autres servers DNS, lorsqu'​il ne parvient à trouver un serveur faisant autorité sur le nom de domaine recherché.\\ ​ 
- 
-  * Serveur "​primaire"​ ou "​maître"​ (d'une zone), en anglais serveur "​authoritive"​) : serveur qui a la configuration de sa zone grâce à un fichier. C'est le serveur principal d'une domaine.\\ ​ 
  
-  * Serveur secondaire : serveur qui des informations sur une zone à partir d'un serveur primaire et non grâce à sa configuration.\\ +  ​***Zone** : Ensemble des directives correspondantes à un Domaine. À chaque zone correspond un fichier. (Une zone n'est pas forcément un domaine). 
 +  * **DNS récursif** : DNS capable d'​interroger d'​autres servers DNS, lorsqu'​il ne parvient à trouver un serveur faisant autorité sur le nom de domaine recherché.  
 +  * **Serveur "​primaire"​ ou "​maître"​ (d'une zone)**, en anglais serveur "​authoritive"​) : serveur qui a la configuration de sa zone grâce à un fichier. C'est le serveur principal d'une domaine.\\  
 +  * **Serveur secondaire** : serveur qui des informations sur une zone à partir d'un serveur primaire et non grâce à sa configuration. 
 +  * **Faire autorité sur un domaine** : C'est le fait pour un serveur DNS de répondre directement aux requêtes un domaine, sans passer par un autre serveur ou un cache. Le cache c'est le fichier dans lequel le serveur DNS récursif conserve l'​information qu'il a obtenu d'un autre serveur à la suite d'une requête qui lui a été faite par un client.
  
-  * Faire autorité sur un domaine : C'est le fait pour un serveur DNS de répondre directement aux requêtes un domainesans passer par un autre serveur ou un cache. Le cache c'est le fichier dans lequel le serveur DNS récursif conserve l'​information qu'il a obtenu d'un autre serveur à la suite d'​une ​requête qui lui a été faite par un client.\\ +Donc les serveur qui font autorité sur un domaine ​sont : 
 +  - soit des serveurs primaires, 
 +  - soit des serveurs secondaires s'ils ont une copie de ces informations.
  
-Donc les serveur qui font autorité sur un domaine sont, soit des serveurs primaires, soit des serveurs secondaires s'ils ont une copie de ces informations.\\ ​+==== Composants ​de bind 9 ====
  
-====Composants de bind 9 ==== +  * bind : Berkeley Internet Name Daemon 
-bind : Berkeley Internet Name Daemon+  * Version 9 : stable, sécurisée est celle dont il s'agit . 
 +  * (Version 10 depuis 2013 intègre le DHCP.)
  
-Version 9 : stable, sécurisée est celle dont il s'agit .+=== named ===
  
-(Version 10 depuis 2013 intègre ​le DHCP.)+named : C'​est ​le programme qui lance le serveur/​usr/​sbin/​named
  
-===/​usr/​sbin/​named===  +=== bind9 ===
-Le programme qui lance le serveur.+
  
-===/​etc/​init.d/​bind9=== +Permet de gérer bind.
-Permet de gérer bind.\\ +
  
   *En **root** :   *En **root** :
-    * **''/​etc/​init.d/​bind9 stop''​** : pour arrếter+    * **''/​etc/​init.d/​bind9 stop''​** : pour arrêter
     * **''/​etc/​init.d/​bind9 start''​** : pour rédémarrer     * **''/​etc/​init.d/​bind9 start''​** : pour rédémarrer
-    * **''/​etc/​init.d/​bind9 restart''​** : pour redémarrer (si il était démarrer, avec restart, il est éteint, ​puis redémarrer ​avec un nouveau processus +    * **''/​etc/​init.d/​bind9 restart''​** : pour redémarrer (si il était démarrer, avec restart, il est éteint, ​ 
-    * **''/​etc/​init.d/​bind9 reload''​** : pour recharger la configuration (ne stoppe pas avant de recharger+ 
 +Redémarrer ​avec un nouveau processus ​: 
 +    * **''/​etc/​init.d/​bind9 reload''​** : pour recharger la configuration (ne stoppe pas avant de recharger).
  
 On peut aussi utiliser **''​service''​** avec chacune des commandes décrites pour init.d par exemple : On peut aussi utiliser **''​service''​** avec chacune des commandes décrites pour init.d par exemple :
 <code root>​service bind9 restart</​code>​ <code root>​service bind9 restart</​code>​
  
-===L'​utilitaire rndc=== ​ +=== L'​utilitaire rndc ===
-/​usr/​sbin/​rndc est le fichier binaire de l'​utilitaire de contrôle rndc.\\  +
-Il permet de gérer Bind9+
  
 +/​usr/​sbin/​rndc est le fichier binaire de l'​utilitaire de contrôle rndc.\\ ​
 +Il permet de gérer Bind9.
 <​code>​ <​code>​
 rndc [b source-adress] [-c config-file] [k key-file] [-s serveur] rndc [b source-adress] [-c config-file] [k key-file] [-s serveur]
Ligne 90: Ligne 92:
  
  
-=== /​etc/​bind/​named.conf=== ​+=== /​etc/​bind/​named.conf=== 
 C'est le fichier de configuration centrale de bind.\\ ​ C'est le fichier de configuration centrale de bind.\\ ​
-Il peut se trouver dans différents dossiers (sécurité,​ chroot) par exemple dans /​etc/​named.conf ou /etc/\\+Il peut se trouver dans différents dossiers (sécurité,​ chroot) par exemple dans /​etc/​named.conf ou /etc/
  
-On peut externaliser ​certaines ​points de configuration de ce fichier central dans des fichiers;\\ **/​etc/​bind/​named.conf.local**\\ **/​etc/​bind/​named.conf.options**+On peut externaliser ​certains ​points de configuration de ce fichier central dans des fichiers; 
 +  * **/​etc/​bind/​named.conf.local** 
 +  * **/​etc/​bind/​named.conf.options**
  
 ===/​etc/​init.d/​bind=== ===/​etc/​init.d/​bind===
-Ils 'agit d'un init script qui permet de redémarrer bind : 
  
 +Il 'agit d'un init script qui permet de redémarrer bind :
 <code root>/​etc/​init.d/​bind9 restart</​code>​ <code root>/​etc/​init.d/​bind9 restart</​code>​
- 
  
 === /var/named/ === === /var/named/ ===
 +
 Il s'agit d'un répertoire de travail. Il s'agit d'un répertoire de travail.
  
-====Syntaxe des fichiers de configuration ​ ==== +==== Syntaxe des fichiers de configuration ​ ====
-(named.conf,​ named.conf.local,​ named.conf.options,​ etc.)+
  
 +(named.conf,​ named.conf.local,​ named.conf.options,​ etc.)
   * Toujours un point virgule pour finir une instruction.   * Toujours un point virgule pour finir une instruction.
- 
   * __Instruction entre accolades :__   * __Instruction entre accolades :__
 On donne une "​intruction"​ (statements) On donne une "​intruction"​ (statements)
- 
 <​code>​ <​code>​
 mot-clé { mot-clé {
Ligne 120: Ligne 123:
  
   * __Instruction simples entre guillemets doubles :__   * __Instruction simples entre guillemets doubles :__
 +
 Par exemple dans /​etc/​bind/​named.conf : Par exemple dans /​etc/​bind/​named.conf :
 <​code>​ <​code>​
Ligne 128: Ligne 132:
 </​code>​ </​code>​
  
-===Options de configuration du DNS=== +=== Options de configuration du DNS ===
- +
-//Souvent dans le fichier "​named.conf.options//​.\\ +
- +
-Dans l'​instruction "​option"​ du fichier named.conf.options,​ on peut donner les instructions suivantes:+
  
 +<note tip>​Souvent dans le fichier "​named.conf.options.</​note>​
 +Dans l'​instruction "​option"​ du fichier named.conf.options,​ on peut donner les instructions suivantes :
 ^Options ^significations ^exemples ^ ^Options ^significations ^exemples ^
 |directory | répertoire de travail |directory "/​var/​named";​ | |directory | répertoire de travail |directory "/​var/​named";​ |
Ligne 140: Ligne 142:
 |version | version du serveur à afficher quand le serveur est interrogé| version none ; | |version | version du serveur à afficher quand le serveur est interrogé| version none ; |
  
 +Par exemple dans /​etc/​bind/​named.conf.options : \\
 +pour une utilisation locale uniquement \\
 +le forwarders avec une IP du DNS externe en cas d'un échec de résolution par le DNS local
 +<​code>​
 +options {
 +        directory "/​var/​cache/​bind";​
 +
 +        forward only;
 +        forwarders { xxx.xxx.xxx.xxx;​ };
 +
 +        dnssec-enable no;
 +        dnssec-validation no;
 +
 +        auth-nxdomain no;    # conform to RFC1035
 +        listen-on-v6 { none; };
 +        listen-on { 127.0.0.1; 192.168.10.1;​ };
 +        allow-transfer { none; };
 +        allow-query { internals; };
 +        allow-recursion { internals; };
 +        version none;
 +};
 +
 +</​code>​
  
-===L'​instruction zones===+=== L'​instruction zones ===
  
-Permet de définir les paramètres généraux d'une zone.\\ +<note tip>À placer dans /​etc/​bind/​named.conf.local.</​note>​ 
 +Permet de définir les paramètres généraux d'une zone. 
 <​code>​ <​code>​
 zone "​nom-de-notre-zone"​ { zone "​nom-de-notre-zone"​ {
Ligne 156: Ligne 182:
   *éventuellement des options   *éventuellement des options
  
 +Exemple :
 +<​code>​
 +zone "​mondomaine.net"​ {
 +        type master;
 +        file "/​etc/​bind/​db.mondomaine.net";​
 +        forwarders {};
 +        allow-update { key ns-mondomaine-net_rndc-key;​ };
 +};
 +</​code>​
 +== Explication : ==
  
-=====Pré-requis à la l'​installation d'un DNS Maître ​du réseau local===== +zone mondomaine.net , serveur maitre sur la zone , chemin ​du fichier ​de configuration ​de zone pas de forwarders , update par les clients ​(dhcp) et nom de la clé
-Il va s'​agir ​de configurer un serveur DNS qui servira ​de serveur cache pour le système sur lequel Bind va être installéet qui sera de serveur DNS maître pour les systèmes ​clients ​du réseau local.+
  
 +===== Pré-requis à l'​installation d'un DNS Maître du réseau local =====
 +
 +Il va s'agir de configurer un serveur DNS qui servira de serveur cache pour le système sur lequel Bind va être installé, et qui sera de serveur DNS maître pour les systèmes clients du réseau local.
   * Soit un server sous Debian Wheezy nommé : "​debian-serveur"​   * Soit un server sous Debian Wheezy nommé : "​debian-serveur"​
   * Adresse IP pour "eth0 " du serveur "​debian-serveur"​ : 192.168.0.14   * Adresse IP pour "eth0 " du serveur "​debian-serveur"​ : 192.168.0.14
Ligne 165: Ligne 203:
   * Soit un ordi client sur le réseau local : "​debian-client"​ avec l'IP 192.168.0.22   * Soit un ordi client sur le réseau local : "​debian-client"​ avec l'IP 192.168.0.22
   * Soit un autre ordi sur le réseau local : "​debian-hp"​ avec l'IP 192.168.0.23   * Soit un autre ordi sur le réseau local : "​debian-hp"​ avec l'IP 192.168.0.23
-Les IP des ordinateurs clients et du système sur lequel ​il va être installé Bind sont fixées par le serveur DHCP par exemple celui du modem fourni par son FAI((Se rendre sur le site de son FAI, et associer l'​adresse mac du serveur à l'IP dans les BAUX/DHCP.)), ou encore par un serveur DHCP installé entre le routeur et les clients du réseau local.+ 
 +Les IP des ordinateurs clients et du système((sur lequel va être installé Bind)) sont fixées par le serveur DHCP par exemple celui du modem fourni par son FAI((Se rendre sur le site de son FAI, et associer l'​adresse mac du serveur à l'IP dans les BAUX/​DHCP)),​ ou encore par un serveur DHCP installé entre le routeur et les clients du réseau local.
  
 ===Connaître le nom du système sur lequel on installera Bind === ===Connaître le nom du système sur lequel on installera Bind ===
Ligne 172: Ligne 211:
 <​code>​debian-serveur</​code>​ <​code>​debian-serveur</​code>​
  
-  * Si on veut le changer pour lui donner un nom plus significatif de sa fonction de server : +Si on veut le changer pour lui donner un nom plus significatif de sa fonction de server :
 <code root>vim /​etc/​hostname</​code>​ <code root>vim /​etc/​hostname</​code>​
 +Puis ré-initialiser :
 +<code root>/​etc/​init.d/​hostname.sh start</​code>​
  
-  * Puis ré-initialiser :+=== Compléter /​etc/​host.conf ===
  
-<code root>/​etc/​init.d/​hostname.sh start</​code>​ 
- 
-===Compléter /​etc/​host.conf=== 
 Il s'agit là de la partie cliente du système sur lequel va être installé Bind. Un même système peut être à la fois client et serveur, c'​est-à-dire,​ serveur DNS "pour lui-même"​. ​ Il s'agit là de la partie cliente du système sur lequel va être installé Bind. Un même système peut être à la fois client et serveur, c'​est-à-dire,​ serveur DNS "pour lui-même"​. ​
  
Ligne 189: Ligne 226:
  
 ===Compléter /​etc/​hosts=== ===Compléter /​etc/​hosts===
 +
 Il s'agit là encore de l'​aspect client du système. On renseigne tous les clients du réseau local.\\ ​ Il s'agit là encore de l'​aspect client du système. On renseigne tous les clients du réseau local.\\ ​
 On renseigne aussi le nom de domaine de ce système en tant que client. On renseigne aussi le nom de domaine de ce système en tant que client.
- 
 <code root>vim /​etc/​hosts</​code>​ <code root>vim /​etc/​hosts</​code>​
  
doc/reseau/serveur/bind9.txt · Dernière modification: 22/06/2017 08:37 par lagrenouille

Pied de page des forums

Propulsé par FluxBB