Différences
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 | ||
bind9 [Le 03/11/2022, 11:25] 194.250.106.138 [Serveur cache] |
bind9 [Le 12/12/2024, 11:31] (Version actuelle) 92.184.112.14 [Configuration pour un seul ordinateur (PC Domestique)] , ajout d'un espace |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>Xenial serveur réseau dns}} | + | {{tag>Jammy serveur réseau dns}} |
---- | ---- | ||
====== BIND9 ====== | ====== BIND9 ====== | ||
- | Le service [[:dns|DNS]] (Domain Name System) est un service TCP/IP permettant la correspondance entre un nom de domaine qualifié (FQDN : Fully Qualified Domain Name) etune adresse IP, par exemple www.ubuntu-fr.org = 193.55.221.76. Ainsi, grâce à DNS, il n'est pas nécessaire de se souvenir des adresses IP. | + | Le service [[:dns|DNS]] (Domain Name System) est un service TCP/IP permettant la correspondance entre un nom de domaine qualifié (FQDN : Fully Qualified Domain Name) et une adresse IP, par exemple www.ubuntu-fr.org = 193.55.221.76. Ainsi, grâce à DNS, il n'est pas nécessaire de se souvenir des adresses IP. |
Un serveur qui héberge le service DNS est appelé "serveur de noms". | Un serveur qui héberge le service DNS est appelé "serveur de noms". | ||
Ubuntu est livré par défaut avec BIND (Berkley InternetNaming Daemon), le serveur DNS le plus utilisé sur Internet. | Ubuntu est livré par défaut avec BIND (Berkley InternetNaming Daemon), le serveur DNS le plus utilisé sur Internet. | ||
- | Ce guide est destiné aux personnes désireuses d'apprendre comment __configurer etmaintenir__ un serveur **DNS BIND9**. | + | Ce guide est destiné aux personnes désireuses d'apprendre comment __configurer et maintenir__ un serveur **DNS BIND9**. |
===== Pré-requis ===== | ===== Pré-requis ===== | ||
Ligne 23: | Ligne 23: | ||
Le paquet**[[apt>dnsutils|dnsutils]]** ( sudo apt-get install dnsutils ) fournit des outils très pratiques pour tester et débugger le service DNS. | Le paquet**[[apt>dnsutils|dnsutils]]** ( sudo apt-get install dnsutils ) fournit des outils très pratiques pour tester et débugger le service DNS. | ||
La documentation BIND9 peut également être trouvée dans le paquet**[[apt>bind9-doc|bind9-doc]]** ( sudo apt-get install bind9-doc ). | La documentation BIND9 peut également être trouvée dans le paquet**[[apt>bind9-doc|bind9-doc]]** ( sudo apt-get install bind9-doc ). | ||
+ | configuration de DNS: | ||
+ | **sudo apt-get install bind9** | ||
===== Scénarios de configuration ===== | ===== Scénarios de configuration ===== | ||
Ligne 36: | Ligne 37: | ||
pour un nom de domaine est appelé une "zone". (Le nom de domaine peut être imaginaire si on est dans le cas d'un | pour un nom de domaine est appelé une "zone". (Le nom de domaine peut être imaginaire si on est dans le cas d'un | ||
réseau local fermé) | réseau local fermé) | ||
+ | $TTL 86400 | ||
+ | ;@ IN SOA wf3mh.com. dns2.wf3mh.com. dns1.wf3mh.com. localhost. root.locahost. ( | ||
+ | @ IN SOA dns1. dns1.wf3mh.com. root.wf3mh.com. root.dns1. ( | ||
+ | 1 ; Serial | ||
+ | 604800 ; Refresh | ||
+ | 86400 ; Retry | ||
+ | 2419200 ; Expire | ||
+ | 604800 ) ; Negative Cache TTL | ||
+ | ; | ||
+ | @ IN NS dns1.wf3mh.com. | ||
+ | ;@ IN NS dns2.wf3mh.com. | ||
+ | IN MX 10 mail1.wf3mh.com. | ||
+ | dns1 IN A 192.168.100.100 | ||
+ | dns2 IN A 192.168.100.101 | ||
+ | mail1 IN A 192.168.100.110 | ||
+ | m1 IN A 192.168.100.10 | ||
+ | router IN A 192.168.100.254 | ||
+ | smtp IN CNAME mail1 | ||
+ | pop IN CNAME mail1 | ||
+ | imap IN CNAME mail1 | ||
+ | |||
==== Serveur secondaire ==== | ==== Serveur secondaire ==== | ||
Ligne 47: | Ligne 69: | ||
Il existe deux autres configurations fréquentes pour un serveur DNS. | Il existe deux autres configurations fréquentes pour un serveur DNS. | ||
- | Serveur furtif maître etserveur furtif esclave. Ils sont identiques aux serveurs maître etesclave, mais avec une organisation légèrement différente : ils ne sont visibles qu'à l'intérieur du domaine. | + | Serveur furtif maître et serveur furtif esclave. Ils sont identiques aux serveurs maître et esclave, mais avec une organisation légèrement différente : ils ne sont visibles qu'à l'intérieur du domaine. |
- | Par exemple, vous disposez de 3 serveurs DNS : A, B etC. | + | Par exemple, vous disposez de 3 serveurs DNS : A, B et C. |
- | A est un serveur maître, B etC sont des esclaves. | + | A est un serveur maître, B et C sont des esclaves. |
- | Si votre domaine est configuré pour utiliser A etB comme serveurs de noms, alors C est un serveur furtif esclave. Il fait toujours office de serveur esclave, mais il ne sera pas interrogé depuis Internet. | + | Si votre domaine est configuré pour utiliser A et B comme serveurs de noms, alors C est un serveur furtif esclave. Il fait toujours office de serveur esclave, mais il ne sera pas interrogé depuis Internet. |
- | Si votre domaine est configuré pour utiliser B etC comme serveurs de noms, alors A est un serveur furtif maître. Tout édition de la zone ou ajout est fait sur A, mais les ordinateurs depuis internetinterrogeront seulement B etC. | + | Si votre domaine est configuré pour utiliser B et C comme serveurs de noms, alors A est un serveur furtif maître. Toute édition de la zone ou ajout est fait sur A, mais les ordinateurs depuis internet interrogeront seulement B et C. |
Dans les deux cas, le serveur passif n'est pas interrogé depuis internet. Il peut ainsi être réservé pour une utilisation locale. | Dans les deux cas, le serveur passif n'est pas interrogé depuis internet. Il peut ainsi être réservé pour une utilisation locale. | ||
Ligne 61: | Ligne 83: | ||
==== Serveurs Récursifs / Non récursifs ==== | ==== Serveurs Récursifs / Non récursifs ==== | ||
- | Les serveurs BIND9 peuvent être récursifs, c’est-à-dire interroger tour à tour les serveurs DNS nécessaires jusqu'à obtenir la réponse, etla transmettre à leur client. | + | Les serveurs BIND9 peuvent être récursifs, c’est-à-dire interroger tour à tour les serveurs DNS nécessaires jusqu'à obtenir la réponse, et la transmettre à leur client. |
Dans le cas contraire (par défaut), le serveur DNS délègue la résolution du nom de domaine à un autre serveur DNS. | Dans le cas contraire (par défaut), le serveur DNS délègue la résolution du nom de domaine à un autre serveur DNS. | ||
Ligne 94: | Ligne 116: | ||
==== Enregistrement MX (Mail Exchange) ==== | ==== Enregistrement MX (Mail Exchange) ==== | ||
- | Utilisé pour définir vers quel serveur de la zone un email à destination du domaine doit être envoyé, etavec quelle priorité. Cetenregistrement doit pointer vers un enregistrement de type A, etnon un alias CNAME. Il peut y avoir plusieurs enregistrements MX s'il existe plusieurs serveurs de messagerie sur le domaine. Le plus petit nombre a la plus grande priorité. | + | Utilisé pour définir vers quel serveur de la zone un email à destination du domaine doit être envoyé, et avec quelle priorité. Cet enregistrement doit pointer vers un enregistrement de type A, et non un alias CNAME. Il peut y avoir plusieurs enregistrements MX s'il existe plusieurs serveurs de messagerie sur le domaine. Le plus petit nombre a la plus grande priorité. |
<code> | <code> | ||
Ligne 105: | Ligne 127: | ||
==== Enregistrement NS (Name Server) ==== | ==== Enregistrement NS (Name Server) ==== | ||
- | Utilisé pour définir quels serveurs répondent pour cette zone. Cetenregistrement doit pointer vers un enregistrement de type A, non pas vers un enregistrement de type CNAME. | + | Utilisé pour définir quels serveurs répondent pour cette zone. Cet enregistrement doit pointer vers un enregistrement de type A, non pas vers un enregistrement de type CNAME. |
- | C'est ici que le serveur maître etles esclaves sont définis. Les serveurs furtifs sont intentionnellement omis. | + | C'est ici que le serveur maître et les esclaves sont définis. Les serveurs furtifs sont intentionnellement omis. |
<code> | <code> | ||
Ligne 136: | Ligne 158: | ||
<note warning> | <note warning> | ||
- | Cette configuration implique que vous vous chargiez directement de la résolution des noms de domaine. Vous ne profitez plus du cache DNS de votre fournisseur d'accès, etvous sollicitez du coup plus les serveurs racines, mais vous ne serez pas soumis au filtrage (ou parfois au DNS menteur) de votre fournisseur d'accès. | + | Cette configuration implique que vous vous chargiez directement de la résolution des noms de domaine. Vous ne profitez plus du cache DNS de votre fournisseur d'accès, et vous sollicitez du coup plus les serveurs racines, mais vous ne serez pas soumis au filtrage (ou parfois au DNS menteur) de votre fournisseur d'accès. |
</note> | </note> | ||
Ligne 179: | Ligne 201: | ||
sudo systemctl restart bind9.service | sudo systemctl restart bind9.service | ||
</code> | </code> | ||
- | |||
- | [[systemd|systemd]] | ||
==== Configuration pour un serveur cache ==== | ==== Configuration pour un serveur cache ==== | ||
Ligne 215: | Ligne 235: | ||
</code> | </code> | ||
- | [[systemd|systemd]] | ||
=== Tests === | === Tests === | ||
Ligne 280: | Ligne 299: | ||
* Editer le nouveau fichier pour la zone (/etc/bind/db.ubuntu-fr.lan), | * Editer le nouveau fichier pour la zone (/etc/bind/db.ubuntu-fr.lan), | ||
* Changer localhost par le FQDN de votre serveur, en laissant le point "." supplémentaire à la fin. | * Changer localhost par le FQDN de votre serveur, en laissant le point "." supplémentaire à la fin. | ||
- | * Changer 127.0.0.1 par l'adresse IP du serveur de nom etroot.localhost par une adresse email valide, mais avec un point "." à la place de l'arobase "@". Laisser également le point à la fin. | + | * Changer 127.0.0.1 par l'adresse IP du serveur de nom et root.localhost par une adresse email valide, mais avec un point "." à la place de l'arobase "@". Laisser également le point à la fin. |
* Créer un enregistrement de type hôte A pour le serveur de nom ns.ubuntu-fr.lan : | * Créer un enregistrement de type hôte A pour le serveur de nom ns.ubuntu-fr.lan : | ||
Ligne 320: | Ligne 339: | ||
sudo systemctl restart bind9.service | sudo systemctl restart bind9.service | ||
</code> | </code> | ||
- | |||
- | [[systemd|systemd]] | ||
=== Zone de recherche inversée === | === Zone de recherche inversée === | ||
- | Maintenant que notre fichier de zone est configuré etque les adresses IP sont résolues, une zone de recherche inversée est requise. Une zone de recherche inversée permetau DNS de convertir une adresse en nom. | + | Maintenant que notre fichier de zone est configuré et que les adresses IP sont résolues, une zone de recherche inversée est requise. Une zone de recherche inversée permet au DNS de convertir une adresse en nom. |
* Editer /etc/bind/named.conf.local etajouter les lignes suivantes : | * Editer /etc/bind/named.conf.local etajouter les lignes suivantes : | ||
Ligne 347: | Ligne 364: | ||
</code> | </code> | ||
- | * Editer le fichier /etc/bind/db.192 etchanger comme nous l'avons fait précédemment le nom de domaine etl'adresse email : | + | * Editer le fichier /etc/bind/db.192 etchanger comme nous l'avons fait précédemment le nom de domaine et l'adresse email : |
<file> | <file> | ||
Ligne 378: | Ligne 395: | ||
sudo systemctl restart bind9.service | sudo systemctl restart bind9.service | ||
</code> | </code> | ||
- | |||
- | [[systemd|systemd]] | ||
=== Tests === | === Tests === | ||
Ligne 557: | Ligne 572: | ||
sudo systemctl restart bind9.service | sudo systemctl restart bind9.service | ||
</code> | </code> | ||
- | |||
- | [[systemd|systemd]] | ||
Vous devriez voir le fichier /var/log/named/query.log se remplir avec les logs de BIND9. Ceci n'est qu'un simple exemple des options possibles de logging. Allez voir le manuel sur le site [[http://bind9.net|bind9.net]] pour plus d'informations. | Vous devriez voir le fichier /var/log/named/query.log se remplir avec les logs de BIND9. Ceci n'est qu'un simple exemple des options possibles de logging. Allez voir le manuel sur le site [[http://bind9.net|bind9.net]] pour plus d'informations. |