Serveur DNS Master/Slave Debian Bind9

Hello, nous allons voir comment mettre en place un serveur DNS maître (primaire) dans une infrastructure locale. Pour assurer la disponibilité de notre serveur maître et également répartir la charge des requêtes DNS, nous mettrons en place un serveur esclave (secondaire). Le serveur DNS le plus utilisé dans l’univers GNU/Linux est BIND9 (Berkley Internet Name Domain).

Ce qu’il vous faut :

  • Routeur/Firewall pfSense
  • Debian 9 pour serveur DNS primaire
  • Debian 9 pour serveur DNS secondaire
  • Client Linux (auto IP via DHCP)
  • Client Windows (auto IP via DHCP)
  • Serveur DHCP : dhcp-et-dhcp-relais-sous-debian-9/

Packages nécessaires :

  • bind9
  • bind9utils
  • libirs141
  • bind9-doc
  • resolvconf, ufw
  • La documentation en ligne : bind9.net/

Les fichiers de configuration :

  • Les fichiers de configuration Bind9 : /etc/bind
  • Les fichiers binaires : /usr/sbin/named

VM Debian 9 (Xfce) sous Virtualbox : machine-virtuelle-pixelabs/

Type de serveur DNS

  • Serveur maître (master) : le serveur maître fait autorité sur la zone  DNS qu’il héberge. Les changements sont faits sur ce serveur, puis sont renvoyés (copié) vers les serveurs secondaires (esclave) via le mécanisme de réplication.
  • Serveur esclave (slave) : le serveur esclave réplique les zones gérées par le serveur maître (master) en fonction de type de réplication mise en place. Ils font également autorité sur la zone qui héberge le serveur maître. Il peut assurer la disponibilité du service en cas de panne du serveur maître.
  • Serveur de cache : ce serveur garde en cache les requêtes DNS afin de répondre rapidement à la prochaine requête (identique). C’est ce qui permet d’améliorer les performances (limiter l’utilisation de la bande passante, réduire le temps de latence…). Cependant, les données sont vite obsolètes et il faut donc vider le cache DNS.

Voir aussi : serveur hybride, serveur récursifs, serveur furtifs.

Types d’enregistrement DNS

  • Enregistrement de type A : cet enregistrement fait correspondre une adresse IPv4 à un hôte ou un nom de domaine.

Exemple :

www.pixelabs.fr     IN A             10.20.30.40
  • Enregistrement de type AAAA : cet enregistrement fait correspondre une adresse IPv6 à un hôte ou un nom de domaine.
  • Enregistrement de type CNAME (Alias) : cet enregistrement permet de créer un alias depuis un enregistrement de type A

Exemple :

webmail     IN    CNAME  www
www         IN    A      10.20.30.40
  • Enregistrement MX (Mail Exchange) : ce type d’enregistrements permet de définir les serveurs de messagerie pour le domaine. Ils doivent être pointés vers un enregistrement de type A.

Exemple :

@     IN    MX  0  mx1.pixel.fr.
@     IN    MX  5  mx2.pixel.fr.
  • Enregistrement NS (Name Server) : ce sont les enregistrements des serveurs de noms DNS du domaine. Ils doivent être pointés vers un enregistrement de type A.

Voir aussi, enregistrement SOA, recherche inversée, glue record.

Schéma & Configuration réseau

nsmaster.pixelabs.fr

  • OS : Debian 9
  • Mode réseau : Réseau Interne (LAN)
  • Rôle : serveur maître & serveur cache ET DHCP.
root@nsmaster:~# hostname
nsmaster.pixelabs.fr
root@nsmaster:~#

nsslave.pixelabs.fr

  • OS : Debian 9
  • Mode réseau : Réseau Interne (LAN)
  • Rôle : serveur esclave
root@nsslave:~# hostname
nsslave.pixelabs.fr
root@nsslave:~#

Configuration pfSense WAN & LAN

Schéma réseau DNS Bind9 Master et Slave

DNS serveur master (maître)

J’installe BIND9 sur la machine nsmaster.pixelabs.fr :

root@nsmaster:~# apt-get install bind9 bind9-doc resolvconf ufw
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
The following additional packages will be installed:
  bind9utils libirs141
Les NOUVEAUX paquets suivants seront installés :
  bind9 bind9-doc bind9utils libirs141 resolvconf ufw
0 mis à jour, 6 nouvellement installés, 0 à enlever et 149 non mis à jour.
Il est nécessaire de prendre 1 739 ko dans les archives.
Après cette opération, 6 045 ko d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] o

Démarrez le service :

root@nsmaster:~# systemctl start bind9
...
root@nsmaster:~# systemctl status bind9
● bind9.service - BIND Domain Name Server
   Loaded: loaded (/lib/systemd/system/bind9.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2018-12-25 22:27:58 CET; 4s ago
     Docs: man:named(8)
 Main PID: 4316 (named)
    Tasks: 4 (limit: 4915)
   CGroup: /system.slice/bind9.service
           └─4316 /usr/sbin/named -f -u bind

Configuration serveur cache

Par défaut, BIND est déjà configuré en tant que serveur cache. Il suffit simplement d’ajouter le ou les serveurs DNS de votre FAI (box internet). 192.168.1.254 ou 192.168.1.1

Remarque : Il est préférable de mettre en place un serveur cache à part. 

Modifier le fichier /etc/bind/named.conf.options et dé-commenter le bloc :

root@nsmaster:~# nano /etc/bind/named.conf.options
//...
...
forwarders {
   1.1.1.1;
   1.1.1.1;
};
...
//...

Enregistrer : Ctrl+o et entrée. Quitter : Ctrl+x

Mettez vos propres serveurs DNS ou n’importe quel serveur OpenDNS.

Serveur DNS CloudFlare :

  • 1.1.1.1
  • 1.1.1.1

Serveur DNS Quad9

  • 9.9.9.9
  • 9.9.9.9

Sauvegarder et relancer le service BIND :

root@nsmaster:~# systemctl restart bind9

On peut effectuer un test à l’aide de la commande DIG en interrogeant le serveur à partir de lui-même :

root@nsmaster:~# dig -x 127.0.0.1

Configuration Serveur Cache Bind9

Vous pouvez interroger d’autres domaines par exemple le site : pixelabs.fr

root@nsmaster:~# dig pixelabs.fr

; <<>> DiG 9.10.3-P4-Debian <<>> pixelabs.fr
...
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
...
...
;; Query time: 28 msec
...
...

root@nsmaster:~#

Si je relance la même requête, il devrait y avoir une amélioration au niveau du temps de réponse: Query time: 28 msec

root@nsmaster:~# dig pixelabs.fr

; <<>> DiG 9.10.3-P4-Debian <<>> pixelabs.fr
...
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
...
...
;; Query time: 16 msec
...
...

root@nsmaster:~#

On passe à 16 msec 

Configuration serveur maître

Nous allons configurer BIND comme un serveur maître sur le même serveur pour le domaine pixelabs.fr 

Éditez le fichier named.conf.local

root@nsmaster:~# nano /etc/bind/named.conf.local

Ajoutez les lignes suivante (adapter par rapport à votre conf)

// 
// 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 pixelabs.fr 
zone "pixelabs.fr" IN { 
           type master; 
           file "/etc/bind/pixelabs.fw.zone"; 
           }; 
// zone inverse pixelabs.fr 
zone "1.16.172.in-addr.arpa" { 
           type master; 
           file "/etc/bind/pixelabs.rev.zone"; 
           };

Enregistrer : Ctrl+o et entrée. Quitter : Ctrl+x

Nous allons maintenant créer 2 fichiers que nous avons définis ci-dessus :

  • file « /etc/bind/pixelabs.fw.zone« ;
  • file « /etc/bind/pixelabs.rev.zone« ;

Zone Principal pixelabs.fw.zone

Configuration de la zone principal :

root@nsmaster:~# nano /etc/bind/pixelabs.fw.zone
;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     nsmaster.pixelabs.fr. root.pixelabs.fr. (
                       20181226         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL

; Serveur DNS

@	  IN     NS      nsmaster.pixelabs.fr.
@	  IN	 A	 172.16.1.10

; Resolve DNS

nsmaster  IN	 A	 172.16.1.10

; Machine du domaine

AD-DC01   IN	 A	 172.16.1.5
centreon  IN	 A	 172.16.1.9

Enregistrer : Ctrl+o et entrée. Quitter : Ctrl+x

Vous pouvez rajouter d’autres enregistrements DNS à la suite et n’oubliez pas de rajouter un enregistrement PTR dans la zone inversée (ci-dessous)

Zone Inversée pixelabs.rev.zone

Configuration de la zone inversée :

root@nsmaster:~# cp /etc/bind/db.127 /etc/bind/pixelabs.rev.zone

Éditer le fichier et modifier le domaine et l’adresse du serveur :

root@nsmaster:~# nano /etc/bind/pixelabs.rev.zone
;
; BIND reverse data file for local loopback interface
;
$TTL	604800
@	IN	SOA	nsmaster.pixelabs.fr. root.pixelabs.fr. (
      20181226	; Serial
        604800	; Refresh
         86400	; Retry
       2419200	; Expire
        604800 )	; Negative Cache TTL

; Serveur DNS

@	IN	NS	nsmaster.pixelabs.fr.
@	IN	PTR	pixelabs.fr.

; Resolve DNS

nsmaster	IN	A	172.16.1.10

; Machine du domaine

10	IN	PTR	nsmaster.pixelabs.fr.
9	IN	PTR	centreon.pixelabs.fr.
5	IN	PTR	ad-dc01.pixelabs.fr.

Enregistrer : Ctrl+o et entrée. Quitter : Ctrl+x

Remarque :
10 = 172.16.1.10
9 = 172.16.1.9
5 = 172.16.1.5
…etc.

Configuration DNS (resolv.conf)

Modifier le fichier resolv.conf. Attention : Si ce fichier se met à jour automatiquement (dynamique) par resolvconf, ne pas le modifier manuellement.

C’est le cas pour moi :

root@nsmaster:~# cat /etc/resolv.conf 
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
search pixelabs.fr
root@nsmaster:~#

Vous devez alors ajouter le domaine et le serveur DNS depuis le fichier /etc/network/interfaces

# enp0s3 network interface
auto enp0s3
iface enp0s3 inet static
        address 172.16.1.10
        netmask 255.255.0.0
        gateway 172.16.1.254
        dns-domain pixelabs.fr
        dns-nameservers 127.0.0.1

Remarque : vous pouvez bien sûr mettre l’adresse IP du serveur à la place de localhost.

Relancez le service réseau :

root@nsmaster:~# systemctl restart networking

Tests DNS Master

Vérifier la bonne configuration avant de démarrer BIND :

On vérifie la configuration :

root@nsmaster:~# named-checkconf
root@nsmaster:~#

La zone principal :

root@nsmaster:~# named-checkzone pixelabs.fr /etc/bind/pixelabs.fw.zone
zone pixelabs.fr/IN: loaded serial 20181226
OK
root@nsmaster:~# 

Et aussi, la zone inversée :

root@nsmaster:~# named-checkzone 1.16.172.in-addr.arpa /etc/bind/pixelabs.rev.zone
zone 1.16.172.in-addr.arpa/IN: loaded serial 20181226
OK
root@nsmaster:~#

Redémarrez le service Bind :

root@nsmaster:~# systemctl restart bind9

Vérifier via les messages système :

root@nsmaster:~# tail /var/log/syslog
Dec 26 02:37:30 nsmaster named[7385]: managed-keys-zone: journal file is out of date: removing journal file
Dec 26 02:37:30 nsmaster named[7385]: managed-keys-zone: loaded serial 41
Dec 26 02:37:30 nsmaster named[7385]: zone 0.in-addr.arpa/IN: loaded serial 1
Dec 26 02:37:30 nsmaster named[7385]: zone 255.in-addr.arpa/IN: loaded serial 1
Dec 26 02:37:30 nsmaster named[7385]: zone 1.16.172.in-addr.arpa/IN: loaded serial 20181226
Dec 26 02:37:30 nsmaster named[7385]: zone pixelabs.fr/IN: loaded serial 20181226
Dec 26 02:37:30 nsmaster named[7385]: zone localhost/IN: loaded serial 2
Dec 26 02:37:30 nsmaster named[7385]: zone 127.in-addr.arpa/IN: loaded serial 1
Dec 26 02:37:30 nsmaster named[7385]: all zones loaded
Dec 26 02:37:30 nsmaster named[7385]: running
root@nsmaster:~# 

Tout est OK. On test la résolution de nom d’une machine :

root@nsmaster:~# nslookup ad-dc01
Server:		127.0.0.1
Address:	127.0.0.1#53

Name:	AD-DC01.pixelabs.fr
Address: 172.16.1.5

root@nsmaster:~#

La même avec la commande DIG :

root@nsmaster:~# dig centreon.pixelabs.fr

; <<>> DiG 9.10.3-P4-Debian <<>> centreon.pixelabs.fr
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51804
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;centreon.pixelabs.fr.		IN	A

;; ANSWER SECTION:
centreon.pixelabs.fr.	604800	IN	A	172.16.1.9

;; AUTHORITY SECTION:
pixelabs.fr.		604800	IN	NS	nsmaster.pixelabs.fr.

;; ADDITIONAL SECTION:
nsmaster.pixelabs.fr.	604800	IN	A	172.16.1.10

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Dec 26 01:37:40 CET 2018
;; MSG SIZE  rcvd: 104

root@nsmaster:~# 

status: NOERROR, ANSWER: 1, Query time: 0 msec

Testons maintenant, la résolution inverse :

root@nsmaster:~# nslookup 172.16.1.5
Server:		127.0.0.1
Address:	127.0.0.1#53

5.1.16.172.in-addr.arpa	name = ad-dc01.pixelabs.fr.

root@nsmaster:~# 

La même avec la commande DIG :

root@nsmaster:~# dig -x 172.16.1.5

; <<>> DiG 9.10.3-P4-Debian <<>> -x 172.16.1.5
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9758
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;5.1.16.172.in-addr.arpa.	IN	PTR

;; ANSWER SECTION:
5.1.16.172.in-addr.arpa. 604800	IN	PTR	ad-dc01.pixelabs.fr.

;; AUTHORITY SECTION:
1.16.172.in-addr.arpa.	604800	IN	NS	nsmaster.pixelabs.fr.

;; ADDITIONAL SECTION:
nsmaster.pixelabs.fr.	604800	IN	A	172.16.1.10

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Dec 26 02:42:53 CET 2018
;; MSG SIZE  rcvd: 124

root@nsmaster:~# 

status: NOERROR, ANSWER: 1, Query time: 0 msec

Externe au domaine pixelabs.fr :

oot@nsmaster:~# nslookup free.fr
Server:		127.0.0.1
Address:	127.0.0.1#53

Non-authoritative answer:
Name:	free.fr
Address: 212.27.48.10

root@nsmaster:~# 

DNS serveur slave (Esclave)

Maintenant que nous avons configuré un serveur maître, nous allons configurer un serveur esclave  pour assurer une disponibilité du service en cas de panne du serveur maître.

J’installe BIND9 sur le serveur nsslave.pixelabs.fr sans configuration particulière pour le moment :

root@nsslave:~# apt-get install bind9 bind9-doc resolvconf ufw
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
The following additional packages will be installed:
  bind9utils libirs141
Les NOUVEAUX paquets suivants seront installés :
  bind9 bind9-doc bind9utils libirs141 resolvconf ufw
0 mis à jour, 6 nouvellement installés, 0 à enlever et 144 non mis à jour.
Il est nécessaire de prendre 1 739 ko dans les archives.
Après cette opération, 6 045 ko d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] o

Transfert de Zone Master > Slave

Nous allons configurer le serveur Maître (nsmaster.pixelabs.fr) pour autoriser le transfert de zone vers le serveur esclave.

Retourner sur le serveur Maître et éditez le fichier /etc/bind/named.conf.local

root@nsmaster:~# nano /etc/bind/named.conf.local

Ajoutez-y les deux lignes en vert.

//
// 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 pixelabs.fr
zone "pixelabs.fr" IN {
           type master;
           file "/etc/bind/pixelabs.fw.zone";
           notify yes;
           allow-transfer { 172.16.1.11; };
           }; 
// zone inverse pixelabs.fr
zone "1.16.172.in-addr.arpa" {
           type master;
           file "/etc/bind/pixelabs.rev.zone";
           notify yes;
           allow-transfer { 172.16.1.11; };
           };

Allow Transfer DNS Zone Bind9

Enregistrer : Ctrl+o et entrée. Quitter : Ctrl+x

Enregistrement A Slave (pixelabs.fw.zone)

Finissons la configuration sur le serveur maître avant de passer au serveur esclave.

Éditez le fichier de zone /etc/bind/pixelabs.fw.zone et ajoutez l’adresse du serveur esclave :

;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     nsmaster.pixelabs.fr. root.pixelabs.fr. (
                       20181226         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL

; Serveur DNS

@	  IN     NS      nsmaster.pixelabs.fr.
@	  IN	 NS	 nsslave.pixelabs.fr.
@	  IN	 A	 172.16.1.10
@	  IN	 A	 172.16.1.11

; Resolve DNS

nsmaster  IN	 A	 172.16.1.10
nsslave   IN	 A	 172.16.1.11

; Machine du domaine

AD-DC01   IN     A       172.16.1.5
pixelabs  IN	 A	 172.16.1.8
centreon  IN	 A	 172.16.1.9

Enregistrer : Ctrl+o et entrée. Quitter : Ctrl+x

Enregistrement PTR Slave (pixelabs.rev.zone)

Éditez le fichier de zone /etc/bind/pixelabs.rev.zone et ajoutez l’adresse du serveur esclave (reverse) :

;
; BIND reverse data file for local loopback interface
;
$TTL	604800
@	IN	SOA	nsmaster.pixelabs.fr. root.pixelabs.fr. (
      20181226	; Serial
        604800	; Refresh
         86400	; Retry
       2419200	; Expire
        604800 )	; Negative Cache TTL

; Serveur DNS

@	IN	NS	nsmaster.pixelabs.fr.
@	IN	NS	nsslave.pixelabs.fr.
@	IN	PTR	pixelabs.fr.

; Resolve DNS

nsmaster	IN	A	172.16.1.10
nsslave		IN	A	172.16.1.11

; Machine du domaine

10	IN	PTR	nsmaster.pixelabs.fr.
11	IN	PTR	nsslave.pixelabs.fr.
9	IN	PTR	centreon.pixelabs.fr.
8	IN	PTR	pixelabs.pixelabs.fr.
5	IN	PTR	ad-dc01.pixelabs.fr.

Enregistrer : Ctrl+o et entrée. Quitter : Ctrl+x

Relancer le service bind9 :

root@nsmaster:~# systemctl restart bind9
root@nsmaster:~#

Configuration Serveur Esclave

Nous allons maintenant configurer le serveur esclave pour qu’il puisse récupérer les zones du serveur maître.

Allez maintenant sur le serveur esclave nsslave.pixelabs.fr et éditez le fichier

root@nsslave:~# nano /etc/bind/named.conf.local
//
// 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 "pixelabs.fr" {
           type slave;
           file "/var/cache/bind/pixelabs.fw.zone";
           masters { 172.16.1.10; };
           };

zone "1.16.172.in-addr.arpa" {
           type slave;
           file "/var/cache/bind/pixelabs.rev.zone";
           masters { 172.16.1.10; };
           };

Enregistrer : Ctrl+o et entrée. Quitter : Ctrl+x

Configuration Serveur Esclave Bind9

Relancer le service bind9 :

root@nsmaster:~# systemctl restart bind9
root@nsmaster:~#

Configuration DNS (resolv.conf)

Comme avec le serveur maître, modifier le fichier resolv.conf. Attention : si ce fichier se met à jour automatiquement (dynamique) par resolvconf, ne pas le modifier manuellement. C’est le cas également sur le serveur esclave:

root@nsmaster:~# cat /etc/resolv.conf 
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
search pixelabs.fr
root@nsmaster:~#

Vous devez alors ajouter le domaine et le serveur DNS depuis le fichier /etc/network/interfaces

# enp0s3 network interface
auto enp0s3
iface enp0s3 inet static
        address 172.16.1.11
        netmask 255.255.0.0
        gateway 172.16.1.254
        dns-domain pixelabs.fr
        dns-nameservers 172.16.1.10

Enregistrer : Ctrl+o et entrée. Quitter : Ctrl+x

Relancez le service réseau :

root@nsmaster:~# systemctl restart networking

Tests DNS Esclave

On peut vérifier de la même manière que sur le serveur maître :

Test DNS Slave Bind9

On test le reverse :

Test DNS Reverse Slave Bind9

Configuration Client Windows

Si vous n’avez pas de serveur DHCP sur l’un des serveurs DNS. Vous pouvez paramétrer le réseau manuellement sur votre machine Windows.

  • DNS Primaire (master) : 172.16.1.10
  • DNS Sécondaire (slave) : 172.16.1.11

Configuration Client Windows Bind9

Pour tester mon serveur DNS, depuis cette machine même (Client Windows), je ping le domaine pixelabs.fr

BIND9 Server Master Test

On peut constater que c’est le serveur maître qui répond à ma requête.

Maintenant, je vais arrêter le service bind9 sur le serveur maître (nsmaster.pixelabs.fr)

root@nsmaster:~# systemctl stop bind9
root@nsmaster:~#

Je relance le ping :

BIND9 Server Slave Test

Le serveur maître n’est plus joignable (nsmaster.pixelabs.fr). C’est donc le serveur esclave (nsslave.pixelabs.fr) qui reprend le relais en attendant.

Configuration Client Linux

C’est le même principe sous Linux. Le client Debian est en mode DHCP, mais vous pouvez mettre une adresse IP statique à votre serveur . Voir l’exemple ci-dessous.

Configuration Réseau Debian Mode DHCP

Exemple IP Statique :

root@pixelabs:~# nano /etc/network/interfaces
# Interface reseau pixelabs
auto enp0s3
iface enp0s3 inet static
      address 172.16.1.20
      netmask 255.255.0.0
      gateway 172.16.1.254
      dns-nameservers 172.16.1.10 172.16.1.11

Enregistrer : Ctrl+o et entrée. Quitter : Ctrl+x

Si vous être donc en IP statique, il ne faut pas oublier de rajouter les serveurs DNS dans /etc/resolv.conf. Comme je suis en DHCP, ma machine Debian a tout récupéré automatiquement :

root@pixelabs:~# cat /etc/resolv.conf 
domain pixelabs.fr
search pixelabs.fr
nameserver 172.16.1.10
nameserver 172.16.1.11
root@pixelabs:~#

Allez, je ping le domaine pixelabs :

Test BIND9 Master Server

On constat que c’est le serveur esclave qui répond à ma requête.

J’arrête le service bind9 sur le serveur esclave :

root@nsslave:~# systemctl stop bind9
root@nsslave:~#

Je relance le ping sur le poste client :

Test BIND9 Slave Server

Le serveur maître reprend le relais.

C’est terminé les amis. Vous pouvez quitter Microsoft et passer votre start-up en Linux, c’est gratuit… 🙂

Pour plus de sécurité, voir cet article : security-24-7.com/hardening-guide-for-bind9-debian-platform/

Bonne journée et à très bientôt.

6 Responses

  1. zojest dit :

    Bonjour,
    Merci pour ce tutos très complet.
    Petit Question est il possible de garder le DNS Master chez son Provider, et tout de meme faire un Slave en Local ?
    Merci

    • sysadmin dit :

      C’est chaud ce que tu veux faire. Ton infra local doit être costaud pour répondre aux requêtes DNS.
      C’est que de la conf et les flux nécessaires doivent être ouvert entre ton réseau et le réseau de ton provider.
      Donc, oui ça doit être possible.

      • zojest dit :

        ok merci pour ta réponse, c’est juste que j’ai uniquement un sous domaine a rooter localement.
        sur le WWW, je veux que sub.tld.xyz -> 0.0.0.0 et que sur le local ce soit 1.1.1.1

  2. Armand Joel dit :

    Bonsoir cher Monsieur, je vous remercie pour tous ces cours très enrichissant! Je souhaiterais savoir si vous n’avez pas aussi des tutoriels pour GPO, Cluster de basculement? Merci

    • sysadmin dit :

      Bonjour,
      Merci beaucoup pour votre message.
      Malheureusement, je n’ai rien prévu pour le moment. Peut-être un jour.
      Bonne journée.
      -Pixelabs.

  3. sysadmin dit :

    Mise à jour.
    Voir le lien à la fin de l’article pour sécurisé Bind.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *