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
Prochaine révision Les deux révisions suivantes
utilisateurs:hypathie:tutos:dns-bind [31/08/2014 15:18]
Hypathie [Configuration de bind en cache only]
utilisateurs:hypathie:tutos:dns-bind [01/09/2014 08:38]
Hypathie [Configurer un server DNS Maître en local sous wheezy]
Ligne 6: Ligne 6:
  
 ===== Introduction au DNS===== ===== Introduction au DNS=====
-====Quelques bases ==== +====Quelques bases au DNS ==== 
-===Le 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 :\\ 
Ligne 44: Ligne 44:
 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.\\ ​
  
-====Bind ==== +====Composants de bind 9 ==== 
-Berkeley Internet Name Daemon+bind : Berkeley Internet Name Daemon
  
 Version 9 : stable, sécurisée est celle dont il s'agit . Version 9 : stable, sécurisée est celle dont il s'agit .
Ligne 51: Ligne 51:
 (Version 10 depuis 2013 intègre le DHCP.) (Version 10 depuis 2013 intègre le DHCP.)
  
-===Composants ​===+===/​usr/​sbin/​named===  
 +Le programme qui lance le server.
  
-  *Le programme qui lance le server : /usr/sbin/named\\ ​+=== /usr/sbin/rndc===  
 +rndc est un utilitaire de contrôle.
  
-  *L'​utilitaire de contrôle ​/​usr/​sbin/​rndc\\ ​+<​code>​ 
 +rndc |b source-adress] [-c config-file] [k key-file] [-s serveur] 
 + [-p port] [-V] [-y key-id] {commande} 
 +</​code>​ 
 +-> commandes ​:
  
-  ​*Le fichier de configuration centrale ​: **/​etc/​bind/​named.conf**\\ Il peut se trouver dans différents dossiers (sécurité,​ chroot) par exemple dans /​etc/​named.conf ou /etc/\\+**''​reload''​** ​pour recharger\\  
 +**''​stop''​** : arrêter le serveur\\  
 +**''​flush''​** : vider le cache\\  
 +**''​status''​** : afficher l'​état du serveur\\  
 +**aucune** : liste des commandes utilisables
  
-  *On peut externaliser certaines points de configuration de ce fichier central dans des fichiers;\\ **/​etc/​bind/​named.conf.local**\\ **/​etc/​bind/​named.conf.options** 
  
-  *Il y a un init script : /​etc/​init.d/​bind.+=== /​etc/​bind/​named.conf===  
 +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/\\ 
 + 
 +On peut externaliser certaines points de configuration de ce fichier central dans des fichiers;\\ **/​etc/​bind/​named.conf.local**\\ **/​etc/​bind/​named.conf.options** 
 + 
 +===/​etc/​init.d/​bind=== 
 +Ils 'agit d'un init script ​qui permet de redémarrer bind : 
 + 
 +<code root>/​etc/​init.d/​bind9 restart</​code>​
  
-  *Un répertoire de travail : /​var/​named/ ​ 
  
-Dans le dossier **/etc/bind/**, il y a "​named.conf"​ ..., ainsi que des fichiers commençant par **''​db''​** qui sont les fichiers de configuration ​de zones.+=== /var/named=== 
 +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 :__
Ligne 93: Ligne 111:
  
 //Souvent dans le fichier "​named.conf.options//​.\\ //Souvent dans le fichier "​named.conf.options//​.\\
- 
-__Une seule instruction par named.conf__. 
  
 Dans l'​instruction "​option"​ du fichier named.conf.options,​ on peut donner les instructions suivantes: Dans l'​instruction "​option"​ du fichier named.conf.options,​ on peut donner les instructions suivantes:
Ligne 104: Ligne 120:
 |version | version du serveur à afficher quand le serveur est interrogé| version none ; | |version | version du serveur à afficher quand le serveur est interrogé| version none ; |
  
-===L'​instruction logging === 
- 
-L'​instruction logging permet de modifier les comportements par défaut pour chaque catégorie. 
- 
-Une catégorie est un type d'​information à logger (security, lame-server,​ cname...).\\ ​ 
-On associe une "​chaîne (channel) à la catégorie pour indiquer la sortie vers laquelle il envoie ses réponses ("​null"​ : pas d'​information ; "​default-syslog"​ : comportement du système.\\ ​ 
- 
-Un seul logging par named.conf. 
-<​code>​ 
-logging { 
-        category cat { channel; }; 
-        ... 
-}; 
-</​code>​ 
--> la configuration par défaut est bonne, il n'y a pas à modifier. On peut mettre cela dans un fichier extérieur à bind.conf 
  
 ===L'​instruction zones=== ===L'​instruction zones===
Ligne 195: Ligne 196:
 <code root>cp /​etc/​NetworkManager/​NetworkManager.conf /​etc/​NetworkManager/​NetworkManager.conf.OLD</​code>​ <code root>cp /​etc/​NetworkManager/​NetworkManager.conf /​etc/​NetworkManager/​NetworkManager.conf.OLD</​code>​
  
-  *Désactiver networkmanager : 
-<code root>vim /​etc/​NetworkManager/​NetworkManager.conf</​code>​ 
-<​code>​ 
-[ifupdown] 
-managed=true</​code>​ 
  
   * Déclarer un nom de domaine dans /​etc/​resolv.conf:​   * Déclarer un nom de domaine dans /​etc/​resolv.conf:​
Ligne 212: Ligne 208:
 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>​
  
Ligne 227: Ligne 221:
 <code root>​service networking start</​code>​ <code root>​service networking start</​code>​
 </​note>​ </​note>​
 +
 +===Configurer networkmanager ===
 +Si un environnement de bureau est installer sur la machine servant de serveur, et sur la machine cliente, il faut faire en sorte que networkmanager cesse de ré-initiliser les fichiers **/​etc/​resolv.conf** des machines, en remettant à chaque démarrage les DNS du FAI.\\ ​
 + 
 +<note tip>
 +  * Voir : [[https://​wiki.debian.org/​fr/​NetworkConfiguration#​Configuration_de_DNS_pour_network-manager]]
 +
 +  * Attention la suppression de networkmanager déstabilise le système :
 +
 +<code root>​apt-get remove --purge network-manager-gnome netwok-manager</​code>​
 +
 +</​note>​
 +
 +  * La solution est de créer un script pour networkmanager :
 +<code root>cd /​etc/​NetworkManager/</​code>​
 +
 +<code root>​touch /​etc/​NetworkManager/​dispatcher.d/​99-dns</​code>​
 +
 +<code root>vim /​etc/​NetworkManager/​dispatcher.d/​99-dns</​code>​
 +<​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>​
 +
 +>Adapter le contenu à la configuration
 +
 +<code root>​chmod 755 /​etc/​NetworkManager/​dispatcher.d/​99-dns</​code>​
  
 ====Installer et configurer bind ==== ====Installer et configurer bind ====
Ligne 495: Ligne 518:
 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 527: Ligne 536:
   * 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>​tail /​etc/​bind/​rndc.key >> named.conf</​code>​ 
- default-server 127.0.0.1+ 
- default-port 953+  * Éditer /​etc/​bind/​named.conf:​ 
-}; +<code root>vim /​etc/​bind/​named.conf</​code>​ 
-# End of rndc.conf+<​code>​include "/​etc/​bind/​named.conf.options"; 
 +include "/​etc/​bind/​named.conf.local";​ 
 +//include "/​etc/​bind/​named.conf.default-zones";​ 
 + key "​rndc-key" ​{ 
 +        ​algorithm hmac-md5
 +        ​secret "​HnKmxWg2p6U0t6Ov+qoM8A=="​
 + };
  
-# Use with the following in named.conf, adjusting the allow list as needed: + controls { 
-# key "​rndc-key"​ { +        inet 127.0.0.1 port 953 
-# algorithm hmac-md5; +                allow { 127.0.0.1; } keys { "​rndc-key";​ }; 
-# secret "​xxxxxxxxxxxxxxxxxxxxxx";​ + };
-# }; +
-#  +
-controls { +
-# inet 127.0.0.1 port 953 +
-# allow { 127.0.0.1; } keys { "​rndc-key";​ }; +
-};+
 # End of named.conf # End of named.conf
 </​code>​ </​code>​
--> Le retour de cette commande a deux parties ;\\  
  
--> Copier la première partie du retour\\  +  ​Éditer ​/etc/bind/rndc.key : 
-dans les fichiers **''​/etc/rndc.conf''​** et  **''/​etc/rndc.key''​** (qu'il faut créer). +<code root>vim /etc/bind/rndc.key</​code>​
-  +
--> 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 "HnKmxWg2p6U0t6Ov+qoM8A==";
 }; };
  
 #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 "HnKmxWg2p6U0t6Ov+qoM8A=="; 
- }; +}; 
 +#
 # 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>​[....] Stopping domain name service...: bind9rndc: connection to remote host closed 
 +This may indicate that 
 +* the remote server is using an older version of the command protocol, 
 +* this host is not authorized to connect, 
 +* the clocks are not synchronized,​ or 
 +* the key is invalid. 
 +waiting for pid 4979 to die 
 +. ok  
 +[ ok ] Starting domain name service...: bind9.</​code>​
  
-<code root>cp /​etc/​rndc.conf /​etc/​bind/​rndc.conf 
-</​code>​ 
  
-<code root>cp /​etc/​rndc.key ​ /​etc/​bind/​rndc.key</​code>​+Une deuxième fois :
  
-===Relancer bind ===+<code root>/​etc/​init.d/​bind9 restart</​code>​
  
-<code root>​service bind9 restart</​code>​ +<​code>​[....] Stopping domain name service...: ​bind9waiting for pid 5441 to die
-<​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.txt · Dernière modification: 03/10/2014 08:09 par Hypathie

Pied de page des forums

Propulsé par FluxBB