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 →
Ci-dessous, les différences entre deux révisions de la page.
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 | ||
atelier:chantier:dns-bind9-sur-wheezy [14/09/2014 11:50] Hypathie [Installer et configurer un serveur DNS] |
atelier:chantier:dns-bind9-sur-wheezy [23/10/2014 11:28] Hypathie [Les systèmes clients du réseau local le DNS Bind] |
||
---|---|---|---|
Ligne 181: | Ligne 181: | ||
<code> | <code> | ||
- | 127.0.0.1 localhost | + | 127.0.0.1 localhost.mondomaine.hyp localhost |
- | 127.0.1.1 debian-serveur.mondomaine.hyp debian-serveur | + | 192.168.0.14 debian-serveur.mondomaine.hyp debian-serveur |
- | 192.168.0.14 debian-serveur | + | |
192.168.0.22 debian-client1 | 192.168.0.22 debian-client1 | ||
192.168.0.23 debian-hp | 192.168.0.23 debian-hp | ||
Ligne 231: | Ligne 230: | ||
* Création du script pour networkmanager : | * Création du script pour networkmanager : | ||
<code root>cd /etc/NetworkManager/</code> | <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 root>vim /etc/NetworkManager/dispatcher.d/99-dns</code> | ||
Ligne 238: | Ligne 235: | ||
echo "domain mondomaine.hyp" > /etc/resolv.conf | echo "domain mondomaine.hyp" > /etc/resolv.conf | ||
echo "search mondomaine.hyp" >> /etc/resolv.conf | echo "search mondomaine.hyp" >> /etc/resolv.conf | ||
- | echo "nameserver 127.0.0.1" >> /etc/resolv.conf | + | echo "nameserver 192.168.0.14" >> /etc/resolv.conf |
echo "#nameserver 212.27.40.240" >> /etc/resolv.conf | echo "#nameserver 212.27.40.240" >> /etc/resolv.conf | ||
echo "#nameserver 212.27.40.241" >> /etc/resolv.conf | echo "#nameserver 212.27.40.241" >> /etc/resolv.conf | ||
Ligne 254: | Ligne 251: | ||
<code>domain mondomaine.hyp | <code>domain mondomaine.hyp | ||
search mondomaine.hyp | search mondomaine.hyp | ||
- | nameserver 127.0.0.1 | + | nameserver 192.168.0.14 |
- | # nameserver 212.27.40.240 | + | #nameserver 212.27.40.240 |
- | # nameserver 212.27.40.241 | + | #nameserver 212.27.40.241 |
</code> | </code> | ||
Ligne 265: | Ligne 262: | ||
<note tip> | <note tip> | ||
- | * Voir : [[https://wiki.debian.org/fr/NetworkConfiguration#Configuration_de_DNS_pour_network-manager]] | + | * Au sujet de Network Manager:\\ [[https://wiki.debian.org/fr/NetworkConfiguration#Configuration_de_DNS_pour_network-manager]] |
* Attention la suppression de networkmanager déstabilise le système : | * Attention la suppression de networkmanager déstabilise le système : | ||
Ligne 323: | Ligne 320: | ||
<code> | <code> | ||
; | ; | ||
- | ; BIND data file for local loopback interface | + | ; BIND data file for eth0 interface |
; | ; | ||
$TTL 604800 | $TTL 604800 | ||
Ligne 335: | Ligne 332: | ||
@ IN NS debian-serveur.mondomaine.hyp. | @ IN NS debian-serveur.mondomaine.hyp. | ||
debian-serveur IN A 192.168.0.14 | debian-serveur IN A 192.168.0.14 | ||
- | |||
</code> | </code> | ||
Ligne 361: | Ligne 357: | ||
@ IN NS debian-serveur. | @ IN NS debian-serveur. | ||
14 IN PTR debian-serveur.mondomaine.hyp. | 14 IN PTR debian-serveur.mondomaine.hyp. | ||
- | |||
</code> | </code> | ||
Ligne 377: | Ligne 372: | ||
type master; | type master; | ||
file "/etc/bind/db.mondomaine.hyp"; | file "/etc/bind/db.mondomaine.hyp"; | ||
+ | allow-query { any; }; | ||
}; | }; | ||
zone "0.168.192.in-addr.arpa" { | zone "0.168.192.in-addr.arpa" { | ||
Ligne 382: | Ligne 378: | ||
file "/etc/bind/db.192"; | file "/etc/bind/db.192"; | ||
}; | }; | ||
- | |||
</code> | </code> | ||
Ligne 401: | Ligne 396: | ||
forwarders { | forwarders { | ||
- | 192.168.0.1; | + | 192.168.0.14; |
8.8.8.8; | 8.8.8.8; | ||
8.8.4.4; | 8.8.4.4; | ||
Ligne 440: | Ligne 435: | ||
</code> | </code> | ||
- | ==== Vérifier le DNS==== | + | ===== Vérifier le bon fonctionnement du DNS sur le réseau local===== |
- | Pour avoir le nom complet : | + | ====Vérifier côté serveur ==== |
+ | Pour avoir le nom complet sur système avec Bind : | ||
<code root>hostname</code> | <code root>hostname</code> | ||
<code> | <code> | ||
debian-serveur</code> | debian-serveur</code> | ||
+ | ===Vérifier le DNS avec nslookup === | ||
+ | * Demander l'adresse associée à un nom d'hôte : | ||
- | * Avec nslookup : | ||
<code root>nslookup</code> | <code root>nslookup</code> | ||
<code>> debian-serveur.mondomaine.hyp | <code>> debian-serveur.mondomaine.hyp | ||
Ligne 456: | Ligne 453: | ||
> exit</code> | > exit</code> | ||
- | * Idem pour la zone inverse : | + | * Idem pour la zone inverse, vérifier qu'IP correspond à un hôte: |
<code root>nslookup</code> | <code root>nslookup</code> | ||
<code>> 192.168.0.14 | <code>> 192.168.0.14 | ||
Ligne 467: | Ligne 464: | ||
Il répond aux deux, donc tout va bien ! | Il répond aux deux, donc tout va bien ! | ||
- | * Avec dig : | + | * vérifier avec dig : |
<code root>dig debian-serveur</code> | <code root>dig debian-serveur</code> | ||
Ligne 474: | Ligne 471: | ||
<code root>dig -x @192.168.0.14</code> | <code root>dig -x @192.168.0.14</code> | ||
- | ====Interroger le server DNS local au sujet d'un client du réseau ==== | + | ====Interroger le server DNS local au sujet des autres clients du réseau ==== |
- | ===Configuration === | + | ===Configuration de Bind === |
<code root>vim /etc/bind/db.mondomaine.hyp</code> | <code root>vim /etc/bind/db.mondomaine.hyp</code> | ||
<code>; | <code>; | ||
Ligne 532: | Ligne 529: | ||
> exit</code> | > exit</code> | ||
- | >Il connaît bien les deux clients. | + | >Il connaît bien les deux clients, soit à partir d'un nom d'hôte, soit à parti d'une adresse IP. |
- | =====Générer une clé d'authentification avec l'utilitaire rndc===== | + | |
- | Cet utilitaire permet d'administrer notre serveur. Après l'installation de Bind, la première chose à faire est de configurer rndc, ce qui consiste à configurer une clé d'authentification relative à la configuration de son réseau local.\\ | + | =====Les systèmes clients du réseau local le DNS Bind===== |
- | BIND contient un utilitaire appelé rndc qui permet d'utiliser des lignes de commande pour administrer le démon named à partir de l'hôte local ou d'un hôte distant. | + | ====Configurer des clients du réseau local ==== |
+ | Ils faut les configurer afin qu'ils utilisent le serveur DNS local.\\ | ||
- | Afin d'empêcher l'accès non-autorisé au démon named, BIND utilise une méthode d'authentification à clé secrète partagée pour accorder des privilèges aux hôtes. Ainsi, une clé identique doit être présente aussi bien dans /etc/named.conf que dans le fichier de configuration de rndc, à savoir /etc/rndc.conf. | + | **Il faut sur chacun d'eux :** |
- | <note> | ||
- | __Remarques sur la configuration de rndc.__\\ | ||
- | |||
- | 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**. | ||
- | |||
- | </note> | ||
- | |||
- | * Dans /etc/bind/ on voit le fichier rndc.key : | ||
- | |||
- | <code root>ls /etc/bind/</code> | ||
- | <code> | ||
- | bind.keys db.empty named.conf.default-zones zones.rfc1918 | ||
- | db.0 db.local named.conf.local | ||
- | db.127 db.root named.conf.options | ||
- | db.255 named.conf rndc.key | ||
- | </code> | ||
- | |||
- | <note warning> | ||
- | **rndc.key ne s'édite pas !** | ||
- | </note> | ||
- | |||
- | * Générer une clé : | ||
- | |||
- | <code root>rndc-confgen >/etc/bind/rndc.key</code> | ||
- | |||
- | * Indiquer le fichier rndc.key à la fin de /etc/bind/named.conf : | ||
- | <code root>echo 'include "/etc/bind/rndc.key";' >> /etc/bind/named.conf</code> | ||
- | |||
- | * Éditer /etc/bind/rndc.key pour commenter toute la fin à partir de ''options {'' : | ||
- | <code root>vim /etc/bind/rndc.key</code> | ||
- | <code># Start of rndc.conf | ||
- | key "rndc-key" { | ||
- | algorithm hmac-md5; | ||
- | secret "xxxxxxxxxxxxxxxxx"; | ||
- | }; | ||
- | |||
- | #options { | ||
- | # default-key "rndc-key"; | ||
- | # 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: | ||
- | # key "rndc-key" { | ||
- | # algorithm hmac-md5; | ||
- | # secret "xxxxxxxxxxxxxx"; | ||
- | # }; | ||
- | # | ||
- | # controls { | ||
- | # inet 127.0.0.1 port 953 | ||
- | # allow { 127.0.0.1; } keys { "rndc-key"; }; | ||
- | # }; | ||
- | # End of named.conf | ||
- | </code> | ||
- | |||
- | ===Configurer les zones qui utilise la clé === | ||
- | |||
- | * Éditer /etc/bind/named/conf.local : | ||
- | |||
- | <code root>vim /etc/bind/named.conf.local</code> | ||
- | <code>// | ||
- | // Do any local configuration here | ||
- | // | ||
- | |||
- | // Consider adding the 1918 zones here, if they are not used in your | ||
- | // 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> | ||
- | |||
- | ===Relancer bind9=== | ||
- | |||
- | <code root>/etc/init.d/bind9 restart</code> | ||
- | |||
- | <code>[....] Stopping domain name service...: bind9waiting for pid 5441 to die | ||
- | . ok | ||
- | [ ok ] Starting domain name service...: bind9.</code> | ||
- | |||
- | =====Côté client ===== | ||
===Éditer /etc/hosts.conf=== | ===Éditer /etc/hosts.conf=== | ||
Afin que le serveur bind du réseau local soit interrogé par le client. | Afin que le serveur bind du réseau local soit interrogé par le client. | ||
Ligne 637: | Ligne 545: | ||
order hosts,bind | order hosts,bind | ||
multi on | multi on | ||
- | nospoof on </code> | + | nospoof on</code> |
> **''order''** : indique l'ordre des requêtes : ici, d'abord le fichier hosts, puis, en cas d'échec, le serveur de noms qui sera le serveur Bind quand le fichier /etc/resolv.conf aura été modifier pour ce faire. | > **''order''** : indique l'ordre des requêtes : ici, d'abord le fichier hosts, puis, en cas d'échec, le serveur de noms qui sera le serveur Bind quand le fichier /etc/resolv.conf aura été modifier pour ce faire. | ||
Ligne 654: | Ligne 562: | ||
<code root>cd /etc/NetworkManager/</code> | <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 root>vim /etc/NetworkManager/dispatcher.d/99-dns</code> | ||
Ligne 702: | Ligne 607: | ||
<code root>/etc/init.d/networking start</code> | <code root>/etc/init.d/networking start</code> | ||
- | * Vérifier que le client interroge le DNS local : | + | ====Vérifier que les clients interrogent le DNS local ==== |
+ | ===Avec la commande host === | ||
<code user>host -a debian-serveur</code> | <code user>host -a debian-serveur</code> | ||
<code> | <code> | ||
Ligne 721: | Ligne 626: | ||
Received 77 bytes from 192.168.0.14#53 in 0 ms</code> | Received 77 bytes from 192.168.0.14#53 in 0 ms</code> | ||
- | * Ou avec dig | + | ===Avec la commande dig === |
<code user>dig mondomaine.hyp</code> | <code user>dig mondomaine.hyp</code> | ||
Ligne 768: | Ligne 673: | ||
Et voilà 8-) | Et voilà 8-) | ||
+ | |||
+ | =====Générer une clé d'authentification avec l'utilitaire rndc===== | ||
+ | |||
+ | Cet utilitaire permet d'administrer notre serveur. Après l'installation de Bind, la première chose à faire est de configurer rndc, ce qui consiste à configurer une clé d'authentification relative à la configuration de son réseau local.\\ | ||
+ | |||
+ | BIND contient un utilitaire appelé rndc qui permet d'utiliser des lignes de commande pour administrer le démon named à partir de l'hôte local ou d'un hôte distant. | ||
+ | |||
+ | Afin d'empêcher l'accès non-autorisé au démon named, BIND utilise une méthode d'authentification à clé secrète partagée pour accorder des privilèges aux hôtes. Ainsi, une clé identique doit être présente aussi bien dans /etc/named.conf que dans le fichier de configuration de rndc, à savoir /etc/rndc.conf. | ||
+ | |||
+ | <note> | ||
+ | __Remarques sur la configuration de rndc.__\\ | ||
+ | |||
+ | 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**. | ||
+ | |||
+ | </note> | ||
+ | |||
+ | * Dans /etc/bind/ on voit le fichier rndc.key : | ||
+ | |||
+ | <code root>ls /etc/bind/</code> | ||
+ | <code> | ||
+ | bind.keys db.empty named.conf.default-zones zones.rfc1918 | ||
+ | db.0 db.local named.conf.local | ||
+ | db.127 db.root named.conf.options | ||
+ | db.255 named.conf rndc.key | ||
+ | </code> | ||
+ | |||
+ | <note warning> | ||
+ | **rndc.key ne s'édite pas !** | ||
+ | </note> | ||
+ | |||
+ | * Générer une clé : | ||
+ | |||
+ | <code root>rndc-confgen >/etc/bind/rndc.key</code> | ||
+ | |||
+ | * Indiquer le fichier rndc.key à la fin de /etc/bind/named.conf : | ||
+ | <code root>echo 'include "/etc/bind/rndc.key";' >> /etc/bind/named.conf</code> | ||
+ | |||
+ | * Éditer /etc/bind/rndc.key pour commenter toute la fin à partir de ''options {'' : | ||
+ | <code root>vim /etc/bind/rndc.key</code> | ||
+ | <code># Start of rndc.conf | ||
+ | key "rndc-key" { | ||
+ | algorithm hmac-md5; | ||
+ | secret "xxxxxxxxxxxxxxxxx"; | ||
+ | }; | ||
+ | |||
+ | #options { | ||
+ | # default-key "rndc-key"; | ||
+ | # 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: | ||
+ | # key "rndc-key" { | ||
+ | # algorithm hmac-md5; | ||
+ | # secret "xxxxxxxxxxxxxx"; | ||
+ | # }; | ||
+ | # | ||
+ | # controls { | ||
+ | # inet 127.0.0.1 port 953 | ||
+ | # allow { 127.0.0.1; } keys { "rndc-key"; }; | ||
+ | # }; | ||
+ | # End of named.conf | ||
+ | </code> | ||
+ | |||
+ | ===Configurer les zones qui utilise la clé === | ||
+ | |||
+ | * Éditer /etc/bind/named/conf.local : | ||
+ | |||
+ | <code root>vim /etc/bind/named.conf.local</code> | ||
+ | <code>// | ||
+ | // Do any local configuration here | ||
+ | // | ||
+ | |||
+ | // Consider adding the 1918 zones here, if they are not used in your | ||
+ | // 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> | ||
+ | |||
+ | ===Relancer bind9=== | ||
+ | |||
+ | <code root>/etc/init.d/bind9 restart</code> | ||
+ | |||
+ | <code>[....] Stopping domain name service...: bind9waiting for pid 5441 to die | ||
+ | . ok | ||
+ | [ ok ] Starting domain name service...: bind9.</code> | ||
+ | |||
=====Références==== | =====Références==== | ||
+ | |||
Sur la commande dig : [[http://www.system-linux.eu/index.php?post/2009/04/23/La-commande-dig]] | Sur la commande dig : [[http://www.system-linux.eu/index.php?post/2009/04/23/La-commande-dig]] | ||
Pour la configuration des clients Windows [[http://valaurea.free.fr/documents/sig11_bind9_1.html]] | Pour la configuration des clients Windows [[http://valaurea.free.fr/documents/sig11_bind9_1.html]] | ||
+ | |||
+ | Pour installer et configurer Bind sur une distribution linux à base de RPM [[http://lea-linux.org/documentations/Reseau-name-dns1]] | ||