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 | ||
atelier:chantier:dns-bind9-sur-wheezy [23/10/2014 11:47] Hypathie [Vérifier les relations DNS/clients] |
atelier:chantier:dns-bind9-sur-wheezy [20/06/2020 13:59] (Version actuelle) tuFek [Introduction au DNS] |
||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
* Objet : Installer un server DNS maître en local | * Objet : Installer un server DNS maître en local | ||
* Niveau requis : {{tag> avisé}} | * Niveau requis : {{tag> avisé}} | ||
- | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | + | * Suivi : {{tag>tester}} |
- | * Suivi : {{tag>tester à-placer}} - Pour choisir, voir les autres Tags possibles dans [[:atelier:#tags|l'Atelier]]. | + | * Création par [[user>Hypathie]] le 01/09/2014 |
- | * Création par [[user>Hypathie]] 01/09/2014 | + | * Testé par ... le ... |
- | * Testé par <...> le <...> | + | |
* Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=97375#p97375 | 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 : [[https://debian-facile.org/viewtopic.php?pid=97375#p97375 | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
Ligne 31: | Ligne 30: | ||
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/resolv.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>**.\\ | 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>**.\\ | ||
Ligne 58: | Ligne 57: | ||
===/usr/sbin/named=== | ===/usr/sbin/named=== | ||
- | Le programme qui lance le server. | + | Le programme qui lance le serveur. |
- | === /usr/sbin/rndc=== | + | ===/etc/init.d/bind9=== |
- | rndc est un utilitaire de contrôle. | + | Permet de gérer bind.\\ |
+ | |||
+ | *En **root** : | ||
+ | * **''/etc/init.d/bind9 stop''** : pour arrếter | ||
+ | * **''/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 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 : | ||
+ | <code root>service bind9 restart</code> | ||
+ | |||
+ | ===L'utilitaire rndc=== | ||
+ | /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] |
[-p port] [-V] [-y key-id] {commande} | [-p port] [-V] [-y key-id] {commande} | ||
</code> | </code> | ||
- | -> commandes : | ||
- | **''reload''** : pour recharger\\ | + | * Après l'installation de bind9, on peut utiliser les commandes rndc suivantes : |
- | **''stop''** : arrêter le serveur\\ | + | * **''reload''** : pour recharger |
- | **''flush''** : vider le cache\\ | + | * **''stop''** : arrêter le serveur |
- | **''status''** : afficher l'état du serveur\\ | + | * **''flush''** : vider le cache |
- | **aucune** : liste des commandes utilisables | + | * **''status''** : afficher l'état du serveur |
+ | * **aucune** : liste des commandes utilisables | ||
Ligne 436: | Ligne 448: | ||
- | =====Configurer des clients du réseau local===== | + | ====Configurer le serveur Bind au sujet des clients==== |
- | Il faut les configurer afin qu'ils utilisent le serveur DNS local.\\ | + | |
- | **Il faut sur chacun d'eux :** | + | ===Éditer le fichier /etc/bind/db.mondomaine.hyp=== |
+ | <code root>vim /etc/bind/db.mondomaine.hyp</code> | ||
+ | <code>; | ||
+ | ; BIND data file for local loopback interface | ||
+ | ; | ||
+ | $TTL 604800 | ||
+ | @ IN SOA debian-serveur.mondomaine.hyp. root.mondomaine.hyp. ( | ||
+ | 2 ; Serial | ||
+ | 604800 ; Refresh | ||
+ | 86400 ; Retry | ||
+ | 2419200 ; Expire | ||
+ | 604800 ) ; Negative Cache TTL | ||
+ | ; | ||
+ | @ IN NS debian-serveur.mondomaine.hyp. | ||
+ | debian-serveur IN A 192.168.0.14 | ||
+ | debian-client1 IN A 192.168.0.22 | ||
+ | </code> | ||
+ | |||
+ | ===Éditer le fichier /etc/bind/db.192=== | ||
+ | |||
+ | <code root>vim /etc/bind/db.192</code> | ||
+ | <code>; | ||
+ | ; BIND reverse data file for eth0 interface | ||
+ | ; | ||
+ | $TTL 604800 | ||
+ | @ IN SOA debian-serveur.mondomaine.hyp. root.mondomaine.hyp. ( | ||
+ | 1 ; Serial | ||
+ | 604800 ; Refresh | ||
+ | 86400 ; Retry | ||
+ | 2419200 ; Expire | ||
+ | 604800 ) ; Negative Cache TTL | ||
+ | ; | ||
+ | @ IN NS debian-serveur. | ||
+ | 14 IN PTR debian-serveur.mondomaine.hyp. | ||
+ | 22 IN PTR debian-client1. | ||
+ | </code> | ||
+ | |||
+ | On recharge bind : | ||
+ | <code root>/etc/init.d/bind9 restart</code> | ||
- | ===Éditer /etc/hosts.conf=== | + | =====Configurer les clients du réseau===== |
+ | Sur chacun d'eux, il faut configurer les fichiers ci-dessous. | ||
+ | ===Éditer le fichier /etc/host.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 457: | Ligne 508: | ||
<note tip>>Le client va lire le fichier **hosts.conf** et rechercher l'adresse correspondant au nom demandé d'abord dans le fichier hosts local ; si la requête échoue, il va s'adresser à Bind, le serveur DNS du réseau local, qui va lui-même demander à des forwarders s'il ne sait pas répondre. Pour qu'il trouve l'adresse de ce serveur DNS, il consulte le fichier **/etc/resolv.conf** qu'il est donc nécessaire de modifier.</note> | <note tip>>Le client va lire le fichier **hosts.conf** et rechercher l'adresse correspondant au nom demandé d'abord dans le fichier hosts local ; si la requête échoue, il va s'adresser à Bind, le serveur DNS du réseau local, qui va lui-même demander à des forwarders s'il ne sait pas répondre. Pour qu'il trouve l'adresse de ce serveur DNS, il consulte le fichier **/etc/resolv.conf** qu'il est donc nécessaire de modifier.</note> | ||
- | ===Configurer le fichier /etc/resolv.conf=== | + | ===Editer le fichier /etc/resolv.conf=== |
Deux solutions : | Deux solutions : | ||
Ligne 473: | Ligne 524: | ||
echo "nameserver 192.168.0.14" >> /etc/resolv.conf</code> | echo "nameserver 192.168.0.14" >> /etc/resolv.conf</code> | ||
+ | * Ondonne les droits d'exécution : | ||
+ | <code root>chmod 755 /etc/NetworkManager/dispatcher.d/99-dns</code> | ||
+ | |||
+ | * On exécute le script: | ||
<code root>bash /etc/NetworkManager/dispatcher.d/99-dns</code> | <code root>bash /etc/NetworkManager/dispatcher.d/99-dns</code> | ||
- | <code root>chmod 755 /etc/NetworkManager/dispatcher.d/99-dns</code> | ||
<code user>less /etc/resolv.conf</code> | <code user>less /etc/resolv.conf</code> | ||
Ligne 510: | Ligne 564: | ||
<code root>/etc/init.d/networking start</code> | <code root>/etc/init.d/networking start</code> | ||
- | |||
- | |||
- | ====Interroger le server DNS local au sujet des autres clients du réseau==== | ||
- | ===Configuration de Bind === | ||
- | <code root>vim /etc/bind/db.mondomaine.hyp</code> | ||
- | <code>; | ||
- | ; BIND data file for local loopback interface | ||
- | ; | ||
- | $TTL 604800 | ||
- | @ IN SOA debian-serveur.mondomaine.hyp. root.mondomaine.hyp. ( | ||
- | 2 ; Serial | ||
- | 604800 ; Refresh | ||
- | 86400 ; Retry | ||
- | 2419200 ; Expire | ||
- | 604800 ) ; Negative Cache TTL | ||
- | ; | ||
- | @ IN NS debian-serveur.mondomaine.hyp. | ||
- | debian-serveur IN A 192.168.0.14 | ||
- | debian-client1 IN A 192.168.0.22 | ||
- | </code> | ||
- | |||
- | Et pour la réserve inverse : | ||
- | |||
- | <code root>vim /etc/bind/db.192</code> | ||
- | <code>; | ||
- | ; BIND reverse data file for eth0 interface | ||
- | ; | ||
- | $TTL 604800 | ||
- | @ IN SOA debian-serveur.mondomaine.hyp. root.mondomaine.hyp. ( | ||
- | 1 ; Serial | ||
- | 604800 ; Refresh | ||
- | 86400 ; Retry | ||
- | 2419200 ; Expire | ||
- | 604800 ) ; Negative Cache TTL | ||
- | ; | ||
- | @ IN NS debian-serveur. | ||
- | 14 IN PTR debian-serveur.mondomaine.hyp. | ||
- | 22 IN PTR debian-client1. | ||
- | </code> | ||
- | |||
- | On recharge bind : | ||
- | <code root>/etc/init.d/bind9 restart</code> | ||
=====Vérifier les relations DNS/clients ===== | =====Vérifier les relations DNS/clients ===== | ||
- | ===Vérifier que le serveur DNS se connaisse lui-même=== | + | ====Vérifier que le serveur DNS se connaisse lui-même==== |
Pour avoir le nom complet sur système avec Bind : | Pour avoir le nom complet sur système avec Bind : | ||
<code root>hostname</code> | <code root>hostname</code> | ||
Ligne 564: | Ligne 576: | ||
<code root>nslookup</code> | <code root>nslookup</code> | ||
- | <code>> debian-serveur.mondomaine.hyp | + | <code>> debian-serveur |
+ | Server: 127.0.0.1 | ||
+ | Address: 127.0.0.1#53 | ||
+ | |||
+ | Name: debian-serveur.mondomaine.hyp | ||
+ | Address: 192.168.0.14 | ||
+ | >debian-serveur.mondomaine.hyp | ||
Server: 127.0.0.1 | Server: 127.0.0.1 | ||
Address: 127.0.0.1#53 | Address: 127.0.0.1#53 | ||
Ligne 590: | Ligne 608: | ||
<code root>dig -x @192.168.0.14</code> | <code root>dig -x @192.168.0.14</code> | ||
- | ===Vérifier que le serveur DNS connaissee les clients=== | + | ====Vérifier que le serveur DNS connaisse les clients==== |
<code root>nslookup</code> | <code root>nslookup</code> | ||
Ligne 607: | Ligne 625: | ||
> exit</code> | > exit</code> | ||
- | >Il connaît bien les deux clients, soit à partir d'un nom d'hôte, soit à parti d'une adresse IP. | + | >Il connaît bien les deux clients, soit à partir d'un nom d'hôte, soit à partir d'une adresse IP. |
====Vérifier que les clients interrogent le DNS local==== | ====Vérifier que les clients interrogent le DNS local==== |