GNU/Linux >> Linux Esercitazione >  >> Debian

Come configurare il server DNS slave (BIND) su Ubuntu 18.04/16.04 e Debian 10/9

I server DNS possono essere configurati per fungere da master o slave per servire la richiesta DNS. Quando il DNS è configurato come slave, ottiene la copia dei dati di zona dal master utilizzando un metodo di trasferimento di zona e lo conserva in una cache per un determinato periodo per servire le query DNS.

Ambiente

itzgeek.local
ns1.itzgeek.local 192.168.0.10 Server DNS principale
ns2.itzgeek.local 192.168.0.20 Server DNS slave. Si occupa delle richieste DNS quando il server principale si interrompe

ns1.itzgeek.local è già configurato come master per il dominio itzgeek.local.

LEGGI :Configura il server DNS su Ubuntu 18.04 / Ubuntu 16.04

LEGGI :Configura il server DNS su Debian 10 / Debian 9

Ora configureremo ns2.itzgeek.local come server DNS slave per il dominio itzgeek.local.

Configura il server principale

Dobbiamo configurare BIND sul server master (ns1.itzgeek.local) per abilitare il trasferimento di zona al nostro server secondario (ns2.itzgeek.local).

Modifica il file /etc/named.conf.local in ns1.itzgeek.local.

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

Dovresti aggiornare le zone esistenti che abbiamo creato per itzgeek.local con il parametro allow-transfer and also-notify.

Il trasferimento consentito ti consentirà di trasferire le zone dal master a un server slave e anche la notifica ci aiuta a notificare a un server slave quando c'è un cambio di zone sul server master.

Zona di andata

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

};

Zona inversa

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

};

Riavvia il servizio DNS su ns1.itzgeek.local.

sudo systemctl restart bind9

Configura server slave

Assicurati di installare i seguenti pacchetti sul server slave.

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

È il momento di aggiungere una dichiarazione di zona slave sul server slave (ns2.itzgeek.local). Modifica il file /etc/bind/named.conf.local.

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

Zona di andata

Aggiungi la zona slave come di seguito.

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

};

Zona inversa

Aggiungi la zona slave come di seguito.

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

};

Riavvia il servizio DNS su ns2.itzgeek.local

sudo systemctl restart bind9

Attendi qualche minuto e inizierai a vedere qualcosa di simile sotto nel file /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)

Aggiornamento record DNS

Durante la modifica dei record di qualsiasi zona sul server master, assicurati di aggiornare il numero di serie a un numero casuale, superiore a quello corrente. Inoltre, eseguire il comando seguente sul server master per ricaricare la zona in modo che la zona slave ottenga i record aggiornati.

Modifica itzgeek.local e 0.168.192.in-addr.arpa con i nomi delle tue zone.

### Forward Zone ###

sudo rndc reload itzgeek.local 

### Reverse Zone ###

sudo rndc reload 0.168.192.in-addr.arpa

Verifica server DNS slave

Sulla macchina client, aggiungi un indirizzo IP del server DNS slave nel file /etc/resolv.conf.

sudo nano /etc/resolv.conf

Aggiungi una voce DNS aggiuntiva come di seguito insieme alle voci esistenti.

nameserver 192.168.0.20

O

Leggi il tutorial seguente per impostare l'IP del server DNS in Linux.

LEGGI: Come impostare l'indirizzo IP DNS in CentOS / Fedora

LEGGI: Come impostare l'indirizzo IP DNS in Ubuntu / Debian – ifupdown

LEGGI: Come impostare l'indirizzo IP DNS in Ubuntu 18.04 – Netplan

Puoi utilizzare il comando nslookup o dig per verificare il server DNS.

Utilizzare il comando dig per verificare la ricerca in avanti insieme a @ nel caso in cui non si riesca a inserire una voce in /etc/resolv.conf.

Verifica la ricerca di www.itzgeek.local utilizzando ns2.itzgeek.local (192.168.0.20)

dig www.itzgeek.local @192.168.0.20

Risultato:

; <<>> 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

Ora puoi vedere che il server slave risponde alle query DNS.

Conclusione

È tutto. Hai configurato correttamente il server DNS slave su Ubuntu 18.04 / Ubuntu 16.04 e Debian 10 / Debian 9. Condividi il tuo feedback nella sezione commenti.


Debian
  1. Come configurare il server DNS su CentOS 5 / RHEL 5

  2. Come configurare Slave DNS (BIND) su CentOS 7 / RHEL 7

  3. Come configurare il server DHCP su CentOS 7 / Ubuntu 18.04 / 16.04 / Debian 9

  4. Come installare Puppet 6.x su Ubuntu 18.04 / Ubuntu 16.04 e Debian 9

  5. Come installare e configurare un server DNS semplice (BIND) su Debian 9

Come configurare il server DNS su Debian 10 / Debian 9

Come configurare il server DNS su Ubuntu 18.04 / Ubuntu 16.04

Imposta Response Policy Zone (RPZ) in BIND Resolver su Debian/Ubuntu

Come configurare LAMP con Debian 11

Come configurare Samba Server con Debian 11

Come installare e configurare il server DNS su Ubuntu 16.04 LTS