GNU/Linux >> Tutoriels Linux >  >> Debian

Comment configurer le serveur DNS esclave (BIND) sur Ubuntu 18.04/16.04 et Debian 10/9

Les serveurs DNS peuvent être configurés pour agir en tant que maître ou esclave pour servir la requête DNS. Lorsque le DNS est configuré en tant qu'esclave, il obtient la copie des données de zone du maître en utilisant une méthode de transfert de zone et la conserve dans un cache pendant une période donnée pour répondre aux requêtes DNS.

Environnement

itzgeek.local
ns1.itzgeek.local 192.168.0.10 Serveur DNS maître
ns2.itzgeek.local 192.168.0.20 Serveur DNS esclave. Prend en charge les requêtes DNS lorsque le serveur maître tombe en panne

ns1.itzgeek.local est déjà configuré comme maître pour le domaine itzgeek.local.

LIRE :Configurer le serveur DNS sur Ubuntu 18.04 / Ubuntu 16.04

LIRE :Configurer le serveur DNS sur Debian 10 / Debian 9

Nous allons maintenant configurer ns2.itzgeek.local en tant que serveur DNS esclave pour le domaine itzgeek.local.

Configurer le serveur maître

Nous devons configurer BIND sur le serveur maître (ns1.itzgeek.local) pour permettre le transfert de zone vers notre serveur secondaire (ns2.itzgeek.local).

Modifiez le fichier /etc/named.conf.local dans ns1.itzgeek.local.

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

Vous devrez mettre à jour les zones existantes que nous avons créées pour itzgeek.local avec les paramètres allow-transfer et also-notify.

Le transfert d'autorisation vous permettra de transférer des zones du maître vers un serveur esclave et également de notifier nous aide à notifier un serveur esclave lorsqu'il y a un changement de zones sur le serveur maître.

Zone avant

zone "itzgeek.local" IN { // Domain name

     type master; // Primary DNS

     file "/etc/bind/forward.itzgeek.local.db"; // Forward lookup file

     allow-transfer  { 192.168.0.20; }; //Allow Transfer of zone from the master server

     also-notify { 192.168.0.20; }; //Notify slave for zone changes

};

Zone Inversée

zone "0.168.192.in-addr.arpa" IN { //Reverse lookup name, should match your network in reverse order

     type master; // Primary DNS

     file "/etc/bind/reverse.itzgeek.local.db"; //Reverse lookup file

     allow-transfer  { 192.168.0.20; }; //Allow Transfer of zone from the master server

     also-notify { 192.168.0.20; }; //Notify slave for zone changes

};

Redémarrez le service DNS sur ns1.itzgeek.local.

sudo systemctl restart bind9

Configurer le serveur esclave

Assurez-vous d'installer les packages suivants sur le serveur esclave.

sudo apt-get install -y bind9 bind9utils bind9-doc dnsutils

C'est le moment d'ajouter une déclaration de zone esclave sur le serveur esclave (ns2.itzgeek.local). Modifiez le fichier /etc/bind/named.conf.local.

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

Zone avant

Ajoutez la zone esclave comme ci-dessous.

zone "itzgeek.local" IN { //Domain name 

     type slave; //Secondary Slave DNS

     file "/var/cache/bind/forward.itzgeek.local.db"; //Forward Zone Cache file

     masters { 192.168.0.10; }; //Master Server IP

};

Zone Inversée

Ajoutez la zone esclave comme ci-dessous.

zone "0.168.192.in-addr.arpa" IN { //Reverse lookup name. Should match your network in reverse order

     type slave; // Secondary/Slave DNS

     file "/var/cache/bind/reverse.itzgeek.local.db"; //Reverse Zone Cache file

     masters { 192.168.0.10; }; //Master Server IP

};

Redémarrez le service DNS sur ns2.itzgeek.local

sudo systemctl restart bind9

Attendez quelques minutes et vous commencerez à voir quelque chose comme ci-dessous dans le fichier /var/log/syslog.

Jan  4 23:18:49 ns2 named[2637]: zone itzgeek.local/IN: Transfer started.
Jan  4 23:18:49 ns2 named[2637]: transfer of 'itzgeek.local/IN' from 192.168.0.10#53: connected using 192.168.0.20#54333
Jan  4 23:18:49 ns2 named[2637]: zone itzgeek.local/IN: transferred serial 3
Jan  4 23:18:49 ns2 named[2637]: transfer of 'itzgeek.local/IN' from 192.168.0.10#53: Transfer status: success
Jan  4 23:18:49 ns2 named[2637]: transfer of 'itzgeek.local/IN' from 192.168.0.10#53: Transfer completed: 1 messages, 8 records, 228 bytes, 0.004 secs (57000 bytes/sec)
Jan  4 23:18:49 ns2 named[2637]: managed-keys-zone: Key 20326 for zone . acceptance timer complete: key now trusted
Jan  4 23:18:49 ns2 named[2637]: resolver priming query complete
Jan  4 23:18:49 ns2 named[2637]: zone 0.168.192.in-addr.arpa/IN: Transfer started.
Jan  4 23:18:49 ns2 named[2637]: transfer of '0.168.192.in-addr.arpa/IN' from 192.168.0.10#53: connected using 192.168.0.20#55105
Jan  4 23:18:49 ns2 named[2637]: zone 0.168.192.in-addr.arpa/IN: transferred serial 3
Jan  4 23:18:49 ns2 named[2637]: transfer of '0.168.192.in-addr.arpa/IN' from 192.168.0.10#53: Transfer status: success
Jan  4 23:18:49 ns2 named[2637]: transfer of '0.168.192.in-addr.arpa/IN' from 192.168.0.10#53: Transfer completed: 1 messages, 6 records, 210 bytes, 0.007 secs (30000 bytes/sec)
Jan  4 23:18:49 ns2 named[2637]: zone 0.168.192.in-addr.arpa/IN: sending notifies (serial 3)

Mise à jour des enregistrements DNS

Lors de la modification des enregistrements de n'importe quelle zone sur le serveur maître, assurez-vous de mettre à jour le numéro de série vers un nombre aléatoire, supérieur à l'actuel. Exécutez également la commande suivante sur le serveur maître pour recharger la zone afin que la zone esclave obtienne les enregistrements mis à jour.

Changez itzgeek.local &0.168.192.in-addr.arpa avec vos noms de zone.

### Forward Zone ###

sudo rndc reload itzgeek.local 

### Reverse Zone ###

sudo rndc reload 0.168.192.in-addr.arpa

Vérifier le serveur DNS esclave

Sur la machine cliente, ajoutez une adresse IP de serveur DNS esclave dans le fichier /etc/resolv.conf.

sudo nano /etc/resolv.conf

Ajoutez une entrée DNS supplémentaire comme ci-dessous avec les entrées existantes.

nameserver 192.168.0.20

OU

Lisez le tutoriel ci-dessous pour définir l'adresse IP du serveur DNS sous Linux.

LIRE : Comment définir l'adresse IP DNS dans CentOS / Fedora

LIRE : Comment définir l'adresse IP DNS dans Ubuntu / Debian - ifupdown

LIRE : Comment définir l'adresse IP DNS dans Ubuntu 18.04 - Netplan

Vous pouvez utiliser la commande nslookup ou dig pour vérifier le serveur DNS.

Utilisez la commande dig pour vérifier la recherche directe avec @ au cas où vous ne parviendriez pas à créer une entrée dans /etc/resolv.conf.

Vérifiez la recherche de www.itzgeek.local à l'aide de ns2.itzgeek.local (192.168.0.20)

dig www.itzgeek.local @192.168.0.20

Sortie :

; <<>> DiG 9.11.3-1ubuntu1.7-Ubuntu <<>> www.itzgeek.local @192.168.0.20
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29076
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 0ff4fbeabbfe6d45cf28f0e85e11725b14943fb073203e78 (good)
;; QUESTION SECTION:
;www.itzgeek.local.             IN      A

;; ANSWER SECTION:
www.itzgeek.local.      604800  IN      A       192.168.0.100

;; AUTHORITY SECTION:
itzgeek.local.          604800  IN      NS      ns1.itzgeek.local.

;; ADDITIONAL SECTION:
ns1.itzgeek.local.      604800  IN      A       192.168.0.10

;; Query time: 0 msec
;; SERVER: 192.168.0.20#53(192.168.0.20)
;; WHEN: Sun Jan 05 10:51:26 IST 2020
;; MSG SIZE  rcvd: 124

Maintenant, vous pouvez voir que le serveur esclave répond aux requêtes DNS.

Conclusion

C'est tout. Vous avez configuré avec succès le serveur DNS esclave sur Ubuntu 18.04 / Ubuntu 16.04 et Debian 10 / Debian 9. Veuillez partager vos commentaires dans la section des commentaires.


Debian
  1. Comment configurer le serveur DNS sur CentOS 5 / RHEL 5

  2. Comment configurer le DNS esclave (BIND) sur CentOS 7 / RHEL 7

  3. Comment configurer le serveur DHCP sur CentOS 7 / Ubuntu 18.04 / 16.04 / Debian 9

  4. Comment installer Puppet 6.x sur Ubuntu 18.04 / Ubuntu 16.04 et Debian 9

  5. Comment installer et configurer un serveur DNS simple (BIND) sur Debian 9

Comment configurer le serveur DNS sur Debian 10 / Debian 9

Comment configurer le serveur DNS sur Ubuntu 18.04 / Ubuntu 16.04

Configurer la zone de stratégie de réponse (RPZ) dans BIND Resolver sur Debian/Ubuntu

Comment configurer LAMP avec Debian 11

Comment configurer le serveur Samba avec Debian 11

Comment installer et configurer le serveur DNS sur Ubuntu 16.04 LTS