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

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
utilisateurs:hypathie:tutos:dns-bind [31/08/2014 15:28]
Hypathie [Introduction au DNS]
utilisateurs:hypathie:tutos:dns-bind [03/10/2014 08:09] (Version actuelle)
Hypathie [Configurer un server DNS Maître en local sous wheezy]
Ligne 1: Ligne 1:
-======DNS : Bind ======+======DNS : Bind9 ======
  
-  * Objet : installer ​et configurer Bind+  * Objet : installer ​un server DNS en local bind9 
   * Niveau requis :  {{tag>​débutant avisé}}   * Niveau requis :  {{tag>​débutant avisé}}
   * Commentaires : //Contexte d'​utilisation du sujet du tuto. //    * Commentaires : //Contexte d'​utilisation du sujet du tuto. // 
Ligne 27: Ligne 27:
 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.\\ ​
  
-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>​**.\\ ​+Cet ordi a donc l'​adresse IP d'un DNS, et 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...\\ Quand il a l'​adresse,​ il répond au client qui peut joindre l'ordi de toto.com\\+Si le server sait répondreil lui donne l'IP, s'il ne sait pasil 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\\
  
 ===Vocabulaire === ===Vocabulaire ===
Ligne 40: Ligne 40:
   * Serveur secondaire : serveur qui des informations sur une zone à partir d'un serveur primaire et non grâce à sa configuration.\\ ​   * 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 ​d'un domaine, sans passer par un autre serveur ou un cache. Le cachec'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.\\ ​
Ligne 52: Ligne 52:
  
 ===/​usr/​sbin/​named=== ​ ===/​usr/​sbin/​named=== ​
-Le programme qui lance le server ​+Le programme qui lance le server
 === /​usr/​sbin/​rndc=== ​ === /​usr/​sbin/​rndc=== ​
 rndc est un utilitaire de contrôle. rndc est un utilitaire de contrôle.
 +
 +<​code>​
 +rndc |b source-adress] [-c config-file] [k key-file] [-s serveur]
 + [-p port] [-V] [-y key-id] {commande}
 +</​code>​
 +-> commandes :
 +
 +**''​reload''​** : pour recharger\\ ​
 +**''​stop''​** : arrêter le serveur\\ ​
 +**''​flush''​** : vider le cache\\ ​
 +**''​status''​** : afficher l'​état du serveur\\ ​
 +**aucune** : liste des commandes utilisables
 +
  
 === /​etc/​bind/​named.conf=== ​ === /​etc/​bind/​named.conf=== ​
Ligne 118: Ligne 132:
  
   *Nom de la zone dans l'​entête ;   *Nom de la zone dans l'​entête ;
-  *type (**master** pour primaire ou **slave** pour secondaire ou **int** pour Le programme qui lance le server : /​usr/​sbin/​nracine) ;+  *type (**master** pour primaire ou **slave** pour secondaire ou **int** pour le programme qui lance le server : /​usr/​sbin/​nracine) ;
   *fichier chemin du fichier de configuration de zone   *fichier chemin du fichier de configuration de zone
   *éventuellement des options   *éventuellement des options
Ligne 138: Ligne 152:
 ===IP statique=== ===IP statique===
   * Configurer une IP statique pour le serveur sur lequel on installe bind9.   * Configurer une IP statique pour le serveur sur lequel on installe bind9.
-Se rendre sur le site de son FAI, et associer l'​adresse mac du serveur à l'IP dans les BAUX/DHCP.+Se rendre sur le site de son FAI, et associer l'​adresse mac du serveur à son IP dans les BAUX/DHCP.
  
 ===Compléter /​etc/​hostname === ===Compléter /​etc/​hostname ===
Ligne 164: Ligne 178:
 192.168.0.22 ​   debian.mondomaine.hyp debian 192.168.0.22 ​   debian.mondomaine.hyp debian
  
-192.168.0.1 ​    ​gateway.modomaine.hyp gateway+192.168.0.1 ​    ​gateway.mondomaine.hyp gateway
  
  
Ligne 174: Ligne 188:
  
 ===Déclarer un nom de domaine dans /​etc/​resolv.conf=== ===Déclarer un nom de domaine dans /​etc/​resolv.conf===
-Il faut pour que la configuration ne soit par effacer lors d'un redémarrage, ​désinstaller networmanager.+Il faut déclarer un nom de domaine dans /​etc/​resolv.conf.\\  
 +Au passage on peut indiquer d'​autres DNS extérieurs que ceux du FAI.\\  
 +On va créer un script ​pour que la nouvelle ​configuration ​du fichier /​etc/​resolv.conf ​ne soit par effacer lors d'un redémarrage, ​par  **[[https://​wiki.debian.org/​fr/​NetworkManager|NetworkManager]]**.\\  
 +<note warning>​ 
 +  * Voir :\\ [[https://​wiki.debian.org/​fr/​NetworkConfiguration#​Configuration_de_DNS_pour_network-manager]]
  
-  * Désactiver "​networkmanager ​: +  * Attention la suppression de  NetworkManager déstabilise le système ​:
-<code root>​service networking stop</​code>​+
  
-  * Sauvegarder la configuration ​ : +<code root>apt-get remove --purge network-manager-gnome network-manager</​code>​
-<code root>cp /​etc/​NetworkManager/​NetworkManager.conf /​etc/​NetworkManager/​NetworkManager.conf.OLD</​code>​+
  
-  *Désactiver networkmanager : +</note>
-<code root>​vim ​/etc/​NetworkManager/​NetworkManager.conf</​code>​ +
-<​code>​ +
-[ifupdown] +
-managed=true</​code>+
  
-  ​Déclarer un nom de domaine dans /​etc/​resolv.conf+On peut soit éditer le fichier **/​etc/​resolv.conf**mais comme le script suivant ​est nécessaire ​pour ne pas être embêté par  NetworkManager,​ on va modifier le fichier avec le script.
-Il faut éditer le fichier et ajouter les deux premières lignesen remplaçant "​mondomaine.hyp"​ par le nom choisi.\\  +
-Pour un serveur DNS cache, il n'est pas nécessaire ​d'​acheté un nom de domaine auprès d'un registre.+
  
-<code root>vim /​etc/​resolv.conf</​code>​ +===Création du script pour networkmanager=== 
-<​code>​ +<code root>cd /​etc/​NetworkManager/</​code>​ 
-domain mondomaine.hyp+  * Création d'un fichier de démarrage : 
 + 
 +<code root>​vim ​/​etc/​NetworkManager/​dispatcher.d/​99-dns</​code>​ 
 +>​**Adapter le contenu son nom de domaine et à son de choix de forwarder** 
 + 
 +<​code>#​!/​bin/​sh 
 +echo "​domain mondomaine.hyp"​ > /​etc/​resolv.conf 
 +echo "​search mondomaine.hyp"​ >> /​etc/​resolv.conf 
 +echo "​nameserver 127.0.0.1"​ >> /​etc/​resolv.conf 
 +echo "​nameserver 8.8.8.8"​ >> /​etc/​resolv.conf 
 +echo "​nameserver 8.8.4.4"​ >> ​/​etc/​resolv.conf</​code>​ 
 +>On met après l'​instruction ''​domain''​ le nom de son domaine : il n'est pas nécessaire pour une utilisation locale que ce soit un nom de domaine acheté ou loué auprès un registre de noms de domaine. 
 +>Puis l'​instruction ''​search''​ et son nom de domaine ; 
 +>Puis l'​intruction ''​nameserver''​ suivi de l'IP d'un serveur de nom qui soit interrogeable.\\ Ici ce sont ceux de Google, mais il est peut-être préférable de laisser ceux de son FAI. 
 +>On peut aussi ajouter en dessous de la ligne comportant l'​instruction ''​search''​ : 
 +>''​echo nameserver ip-fixe-du-serveur-bind''​. 
 + 
 +  * On donne les droits d'​exécution 
 + 
 +<code root>​chmod 755 /​etc/​NetworkManager/​dispatcher.d/​99-dns</​code> 
 + 
 +  * On exécution le script : 
 + 
 +<code root>​bash /​etc/​NetworkManager/​dispatcher.d/​99-dns</​code>​ 
 + 
 +  * On peut vérifier : 
 + 
 +<code root>​less /​etc/​resolv.conf</​code>​ 
 +<​code>​domain mondomaine.hyp
 search mondomaine.hyp search mondomaine.hyp
 nameserver 127.0.0.1 nameserver 127.0.0.1
 nameserver 8.8.8.8 nameserver 8.8.8.8
 nameserver 8.8.4.4 nameserver 8.8.4.4
-nameserver 212.27.40.240 
-nameserver 212.27.40.241 
 </​code>​ </​code>​
 +
  
   * Redémarrer le réseau :   * Redémarrer le réseau :
  
 <code root>/​etc/​init.d/​networking start</​code>​ <code root>/​etc/​init.d/​networking start</​code>​
- 
-<​note>​Pour revenir en arrière :\\  
- 
-<code root>​service networking stop</​code>​ 
-<code root>cp /​etc/​NetworkManager/​NetworkManager.conf.OLD\ 
- /​etc/​NetworkManager/​NetworkManager.conf</​code>​ 
-<code root>​service networking start</​code>​ 
-</​note>​ 
  
 ====Installer et configurer bind ==== ====Installer et configurer bind ====
 ===installation du paquetage=== ===installation du paquetage===
 <code root> <code root>
-apt-get update ​apt-get+apt-get update
 </​code>​ </​code>​
  
Ligne 225: Ligne 254:
 </​code>​ </​code>​
  
-===Configuration de bind pour un serveur DNS maître local===+===Configuration de bind pour un serveur DNS maître ​en local===
 <note tip> <note tip>
 __Quelques commandes utiles lors de la configuration de bind9__ : __Quelques commandes utiles lors de la configuration de bind9__ :
Ligne 409: Ligne 438:
 <code root>dig mondomaine.hyp</​code>​ <code root>dig mondomaine.hyp</​code>​
  
-<code root>/code>dig -x @192.168.0.14</​code>​+<code root>dig -x @192.168.0.14</​code>​
  
 ====Interroger le DNS local sur un client du réseau ==== ====Interroger le DNS local sur un client du réseau ====
Ligne 482: Ligne 511:
 Pour utiliser rmdc à distance mettre sur la machine qui génère rndc les info données en sortie par la commande rndc-confgen à mettre dans **rndc.conf** et sur le serveur distant les infos à mettre dans **named.conf**. Pour utiliser rmdc à distance mettre sur la machine qui génère rndc les info données en sortie par la commande rndc-confgen à mettre dans **rndc.conf** et sur le serveur distant les infos à mettre dans **named.conf**.
  
-  * La commande rndc : 
- 
-<​code>​ 
-rndc |b source-adress] [-c config-file] [k key-file] [-s serveur] 
- [-p port] [-V] [-y key-id] {commande} 
-</​code>​ 
--> commandes : 
- 
-**''​reload''​** : pour recharger\\ ​ 
-**''​stop''​** : arrêter le serveur\\ ​ 
-**''​flush''​** : vider le cache\\ ​ 
-**''​status''​** : afficher l'​état du serveur\\ ​ 
-**''​start''​** : /​etc/​init.d/​bind9 start 
-**aucune** : liste des commandes utilisables 
 </​note>​ </​note>​
  
Ligne 514: Ligne 529:
   * Générer une clé :   * Générer une clé :
  
-<code root>​rndc-confgen</​code>​ +<code root>​rndc-confgen ​>/​etc/​bind/​rndc.key</​code>​
-<​code>​ +
-# Start of rndc.conf +
-key "​rndc-key"​ { +
- algorithm hmac-md5; +
- secret "​xxxxxxxxxxxxxxxxxxxx";​ +
-};+
  
-options { +  * Ajouter la nouvelle clé à la fin de /​etc/​bind/​named.conf : 
- default-key ​"rndc-key"; +<code root>​echo '​include ​"/etc/bind/rndc.key";' >> /​etc/​bind/​named.conf</​code>​
- default-server 127.0.0.1;​ +
- default-port 953; +
-}; +
-# End of rndc.conf+
  
-# Use with the following in named.conf, adjusting the allow list as needed: +  *  Éditer /etc/bind/rndc.key ​pour commenter toute la fin à partir ​de ''​option {''​ :
-# key "rndc-key" { +
-# algorithm hmac-md5; +
-# secret "​xxxxxxxxxxxxxxxxxxxxxx";​ +
-# }; +
-#  +
-# controls { +
-# inet 127.0.0.1 port 953 +
-# allow { 127.0.0.1; } keys { "rndc-key"; }; +
-# }; +
-# End of named.conf +
-</​code>​ +
--> Le retour ​de cette commande a deux parties ;\\ +
  
--> Copier la première partie du retour\\  +<code root>vim /etc/bind/rndc.key</​code>​
-dans les fichiers **''/​etc/​rndc.conf''​** et  **''/​etc/​rndc.key''​** (qu'il faut créer). +
-  +
--> Copier dans **''/​etc/​named.conf''​** la deuxième partie du retour.\\  +
- +
- +
-  * Création du fichier **/​etc/​rndc.conf** et copie de la première partie de la commande "​rndc-confgen"​ : +
- +
-<code root>vim /etc/rndc.conf</​code>​+
 <​code>#​ Start of rndc.conf <​code>#​ Start of rndc.conf
 key "​rndc-key"​ { key "​rndc-key"​ {
- algorithm hmac-md5; +        ​algorithm hmac-md5; 
- secret "xxxxxxxxxxxxxxxxxxxxx";+        secret "xxxxxxxxxxxxxxxxx";
 }; };
  
 #options { #options {
-#​ default-key "​rndc-key";​ +      ​default-key "​rndc-key";​ 
-#​ default-server 127.0.0.1;​ +      ​default-server 127.0.0.1;​ 
-#​ default-port 953;+      ​default-port 953;
 #}; #};
-# End of rndc.conf</​code>​+# End of rndc.conf
  
-  *Création de **/​etc/​rndc.key** et copie de la première partie de la commande "​rndc-confgen":​ 
-<code root>vim /​etc/​rndc.key</​code>​ 
- 
-Création de /​etc/​named/​conf et copie de la deuxième partie du retour : 
-<code root>vim /​etc/​named.conf</​code>​ 
-<​code>​ 
 # Use with the following in named.conf, adjusting the allow list as needed: # Use with the following in named.conf, adjusting the allow list as needed:
- key "​rndc-key"​ { +key "​rndc-key"​ { 
-        algorithm hmac-md5; +#       algorithm hmac-md5; 
-        secret "xxxxxxxxxxxxxxxxx"; +#       secret "xxxxxxxxxxxxxx"; 
- }; +}; 
 +#
 # controls { # controls {
-       inet 127.0.0.1 port 953 +      ​inet 127.0.0.1 port 953 
-               allow { 127.0.0.1; } keys { "​rndc-key";​ };+              ​allow { 127.0.0.1; } keys { "​rndc-key";​ };
 # }; # };
 # End of named.conf # End of named.conf
 </​code>​ </​code>​
  
 +===Configurer les zones qui utilise la clé ===
  
-===Configuration de /​etc/​bind/​named.conf ===+  * Éditer ​/​etc/​bind/​named/conf.local :
  
-<code root>vim /​etc/​bind/​named.conf</​code>​ +<code root>vim /​etc/​bind/​named.conf.local</​code>​ 
-<​code>​ +<​code>//​ 
-include "/etc/bind/​named.conf.options";​ +// Do any local configuration here 
-include "/etc/bind/​named.conf.local"; +//
-//include "/​etc/​bind/​named.conf.default-zones";​ +
-include "/​etc/​rndc.key";​+
  
-controls ​+// Consider adding the 1918 zones here, if they are not used in your 
-        ​inet 127.0.0.1 allow { localhost; } keys { "​rndc-key"; };+// organization 
 +//include "/​etc/​bind/​zones.rfc1918";​ 
 +zone "​mondomaine.hyp" ​
 +        ​type master; 
 +        file "/​etc/​bind/​db.mondomaine.hyp";​ 
 +        ​allow-update ​{key rndc-key;}
 +}; 
 +zone "​0.168.192.in-addr.arpa" ​{ 
 +        type master; 
 +        file "/​etc/​bind/​db.192";​ 
 +        allow-update {key rndc-key;};
 }; };
 </​code>​ </​code>​
  
 +===Relancer bind9===
  
-===Créer ​/etc/bind/rndc.conf et  ​/etc/bind/​rndc.key===+<code root>/etc/init.d/bind9 restart</code>
  
-<code root>cp /​etc/​rndc.conf /​etc/​bind/​rndc.conf +<​code>​[....] Stopping domain name service...: ​bind9waiting for pid 5441 to die
-</​code>​ +
- +
-<code root>cp /​etc/​rndc.key ​ /​etc/​bind/​rndc.key</​code>​ +
- +
-===Relancer bind === +
- +
-<code root>​service bind9 restart</​code>​ +
-<​code>​[....] Stopping domain name service...: ​bind9WARNING:​ key file (/​etc/​bind/​rndc.key) exists, but using default configuration file (/​etc/​bind/​rndc.conf) +
-rndc: no server specified and no default+
 . ok  . ok 
-[ ok ] Starting domain name service...: bind9. +[ ok ] Starting domain name service...: bind9.</​code>​
-</​code>​+
  
 +=====Côté client =====
 +Se débarrasser [[utilisateurs:​hypathie:​tutos:​dns-bind?&#​desactiver-networkmanager|de networkmanager]] avant tout.\\ ​
  
-<​note>​ +  ​*Il n'y a qu'un fichier à éditer "/etc/resolv.conf":
-  ​*Vérifier la configuration : +
- +
-<code root>​named-checkconf /​etc/​named.conf</​code>​ +
->Tout est bon, s'il y a retour du prompt. +
- +
-</note> +
- +
-  * Redémarrer le service nommé. +
-<code root>​rndc reload</code> +
-<note tip> +
-Pour un server distant\\  +
- +
-Utiliser la première partie de la commande **''​rndc-confgen''​** qui est à copier dans **''​rndc.conf''​** sur la machine qui lance rndc;\\  +
-et la deuxième partie cette commande est à copier dans **''​named.conf''​** sur le serveur distant. +
-</​note>​+
  
 +<code root>vim /​etc/​resolv.conf</​code>​
  
 +<​code>​
 +domaine mondomaine.hyp
 +search mondomaine.hyp
 +nameserver 192.168.0.14
 +</​code>​
  
 +  * Puis recharger la configuration réseau :
 +<code root>/​etc/​init.d/​networking start</​code>​
  
  
utilisateurs/hypathie/tutos/dns-bind.1409491698.txt.gz · Dernière modification: 31/08/2014 15:28 par Hypathie

Pied de page des forums

Propulsé par FluxBB