Serveur DNS Bind9
Sources de la documentation : https://blog.foulquier.info/tutoriels/systeme/installation-et-parametrage-d-un-resolveur-dns-avec-bind-9-sur-debian-7
Procédure validée sur Debian 11.
Présentation du projet
Nous souhaitons installer un serveur DNS pour la zone réseau example.com. Dans cette documentation, le nom de domaine du serveur est ns.example.com et a pour IP 10.42.0.1. Nous le paramétrerons également afin d'être un serveur DNS récursif pour des clients sur le réseau. Nous utiliserons le logiciel Bind9.
Pré-requis
Modifier le nom d'hôte dans le fichier /etc/hosts :
127.0.0.1 localhost 127.0.1.1 ns.example.com ns
Modifier également le nom d'hôte dans le fichier /etc/hostname :
ns.example.com
Nous allons installer les paquets Bind9 :
apt -y install bind9 dnsutils
Modifier le résolveur dans le fichier /etc/resolv.conf :
domain example.com search example.com nameserver 10.42.0.1
Création de la zone de résolution
Créer le fichier /etc/bind/db.example.com suivant cet exemple :
; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA ns.example.com. root.example.com. (2020120401 604800 86400 2419200 604800) ; @ IN NS ns.example.com. @ IN A 10.42.0.1 ns IN A 10.42.0.1 www IN A 10.42.0.2 www IN AAAA fe80::74cf:64ad:6cfa:9604 mail IN CNAME www
Création de la zone de résolution inverse
Si vous possédez des enregistrements IPv6, il est nécessaire de faire deux zones de résolutions inverses distinctes IPv4 et IPv6.
Créer le fichier pour la zone IPv4 /etc/bind/db.example.com.inv suivant cet exemple :
; ; BIND reverse data file for local loopback interface ; $TTL 604800 @ IN SOA ns.example.com. root.example.com. (2020120401 604800 86400 2419200 604800) ; @ IN NS ns.example.com. 1 IN PTR ns.example.com. 2 IN PTR www.example.com.
Créer le fichier pour la zone IPv6 /etc/bind/db.example.com.inv6 suivant cet exemple :
; ; BIND reverse data file for local loopback interface ; $TTL 604800 @ IN SOA ns.example.com. root.example.com. (2020120401 604800 86400 2419200 604800) ; @ IN NS ns.example.com. 4.0.6.9.a.f.c.f.d.a.4.6.f.c.4.7.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa. IN PTR www.example.com.
Paramétrage des zones
Modifier le fichier /etc/bind/named.conf.local afin de paramétrer les zones :
zone "example.com" { type master; file "/etc/bind/db.example.com"; forwarders{}; }; zone "0.42.10.in-addr.arpa" { type master; file "/etc/bind/db.example.com.inv"; forwarders{}; }; zone "0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa" { type master; file "/etc/bind/db.example.com.inv6"; forwarders{}; };
Activer la résolution récursive
Modifier le fichier /etc/bind/named.conf.options :
options { directory "/var/cache/bind"; // forwarders { // 0.0.0.0; // }; dnssec-validation auto; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; allow-recursion { any; }; };
Redémarrer le service :
service bind9 restart
Tester la résolution :
dig @127.0.0.1 www.example.com dig @127.0.0.1 antoinepernot.fr