Aller au contenu

DNS

Installation

Bash
apt install bind9 -y

Configuration

Configuration des options

Bash
nano /etc/bind/named.conf.options
Text Only
# Crée un groupe contenant uniquement les clients avec des IPs privées
acl privee {
        localhost;
        10.0.0.0/8;
        127.0.0.0/8;
        172.16.0.0/12;
        192.168.0.0/16;
};

options {
        directory "/var/cache/bind";

        # Redirige les requêtes DNS qui ne concernent pas nos domaines
        forwarders {
                80.67.169.12;           // FFDN 1
                80.67.169.40;           // FFDN 2
                1.1.1.1;                // CLOUDFLARE 1
                1.0.0.1;                // CLOUDFLARE 2
                8.8.8.8;                // GOOGLE 1
                8.8.4.4;                // GOOGLE 2
                9.9.9.9;                // QUAD9
                2a0c:e300::100;         // FFDN v6 1
                2a0c:e300::101;         // FFDN v6 2

        };

        dnssec-validation no;

        auth-nxdomain no; # conform to RFC1035
        listen-on-v6 { any; };

        recursion yes;
        allow-query { privee; }; # N'autorise seulement les requêtes du groupe acl privee
};

Configuration des zones

Bash
nano /etc/bind/named.conf.local

Dans ce fichier nous allons déclarer les zones que notre serveur gère. Ajoutons le domaine utilisé ainsi que sa zone inverse

Text Only
//
// 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 "test.fr" IN {
type master;
file "/etc/bind/db.test.fr";
};

zone "1.168.192.in-addr.arpa" IN {
type master;
file "/etc/bind/db.1.168.192.in-addr.arpa";
};

test.fr

Créeons le fichier de zone

Bash
nano /etc/bind/db.test.fr

Exemple de configuration :

Text Only
;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     ns.test.fr. root.ns.test.fr. (
                     2022091202         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@               IN      NS      ns.test.fr.
@               IN      A       192.168.1.10

debian          IN      A       192.168.1.15
ftp             IN      CNAME   debian.test.fr.

1.168.192.in-addr.arpa

Créeons le fichier de la zone inverse

Bash
nano /etc/bind/db.1.168.192.in-addr.arpa

Exemple de configuration :

Text Only
;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     ns.test.fr. root.ns.test.fr. (
                     2022091201         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@               IN      NS      ns.test.fr.

15              IN      PTR     debian.test.fr.

Démarrer

Vérifier la conformité des fichiers de configurations :

Bash
named-checkconf -z

Si tout est bon :

Bash
systemctl stop bind9.service
systemctl enable bind9.service --now