GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come configurare il server DNS (Bind) su CentOS 8 / RHEL8

Sviluppato negli anni '80 dagli studenti della Berkeley University,BIND (Dominio del nome Internet di Berkeley ) è un server DNS open source che fornisce servizi DNS su distribuzioni Linux. Allora, cos'è un server DNS? Un DNS server è un servizio che aiuta a risolvere un nome di dominio completo (FQDN ) in un indirizzo IP e, inoltre, eseguire una traduzione inversa di un indirizzo IP in un nome di dominio di facile utilizzo.

Perché la risoluzione dei nomi è importante? Bene, i computer localizzano i servizi sui server usando gli indirizzi IP. Tuttavia, gli indirizzi IP non sono facili da usare come i nomi di dominio e sarebbe un grosso mal di testa cercare di ricordare ogni indirizzo IP associato a ogni nome di dominio. Un server DNS interviene e aiuta a risolvere questi nomi di dominio in indirizzi IP di computer.

Questa guida ti guida attraverso il processo di configurazione di un server di collegamento DNS su CentOS 8 / RHEL 8.

Configurazione del laboratorio:

  • Server:           CentOS 8 (server minimo)
  • Indirizzo IP:    192.168.43.35
  • Nome hots:   dns-primary.linuxtechi.local
  • Dominio:         linuxtechi.local

Iniziamo ora a correre con la configurazione del server di collegamento DNS.

Passaggio 1:installa bind DNS su CentOS 8 / RHEL 8

Iniziamo con l'installazione del pacchetto bind e bind-utils. Questi pacchetti costituiscono il server DNS e le sue utilità responsabili dell'interrogazione dei server dei nomi o dei server DNS.

Esegui il comando:

# dnf install bind bind-utils

Una volta installato correttamente, avvia il server DNS utilizzando il comando seguente:

# systemctl start named

Quindi, abilitalo in modo che possa avviarsi anche dopo un riavvio

# systemctl enable named

Solo per essere sicuro che il servizio funzioni come previsto, controlla il suo stato

# systemctl status named

Ottimo, il server DNS funziona perfettamente. Passiamo ora alla configurazione del server Bind DNS

Passaggio 2: Configura il server DNS di collegamento

Di solito, la best practice consiglia di eseguire un backup di un file di configurazione prima di apportare modifiche. Questo è così che se qualcosa dovesse andare storto, possiamo sempre ripristinare il file originale non modificato. E qui non è diverso.

Facciamo un backup del file di configurazione  /etc/named.conf

# cp /etc/named.conf  /etc/named.bak

Ora vai avanti e apri il file usando il tuo editor di testo preferito. In questo caso, stiamo usando vim editor.

# vim /etc/named.conf

Sotto "Opzioni ' , assicurati di commentare le righe indicate di seguito per consentire al server Bind DNS di ascoltare tutti gli IP.

// listen-on port 53 { 127.0.0.1; }; 
// listen-on-v6 port 53 { ::1; };

Inoltre, individua il parametro allow-query e regolalo in base alla tua sottorete di rete.

allow-query { localhost; 192.168.43.0/24; };

Questa impostazione consente solo agli host nella rete definita di accedere al server DNS e non a qualsiasi altro host.

Una zona DNS di ricerca diretta è uno che memorizza la relazione dell'indirizzo IP del nome host. Quando richiesto, fornisce l'indirizzo IP del sistema host utilizzando il nome host. Al contrario, la zona DNS inversa restituisce il nome di dominio completo (FQDN) del server in relazione al suo indirizzo IP.

Per definire le zone di ricerca inversa e in avanti, copia e incolla la seguente configurazione alla fine di /etc/named.conf

//forward zone
zone "linuxtechi.local" IN {
     type master;
     file "linuxtechi.local.db";
     allow-update { none; };
     allow-query { any; };
};

//backward zone
zone "43.168.192.in-addr.arpa" IN {
     type master;
     file "linuxtechi.local.rev";
     allow-update { none; };
     allow-query { any; };
};

  • digitare :stabilisce il ruolo del server per una zona particolare. l'attributo 'master' implica che si tratta di un server autorevole.
  • file :punta al file di zona forward/reverse del dominio.
  • consenti aggiornamento :questo attributo definisce i sistemi host a cui è consentito inoltrare gli aggiornamenti del DNS dinamico. In questo caso, non ne abbiamo.

Dopo aver salvato, esci dal file di configurazione /etc/named.conf.

Fase 3:crea un file di zona DNS di inoltro per il dominio

Crea un file di zona DNS di inoltro per il dominio linuxtechi.local come mostrato di seguito e aggiungi il seguente contenuto

[[email protected] ~]# vim /var/named/linuxtechi.local.db
$TTL 86400
@ IN SOA dns-primary.linuxtechi.local. admin.linuxtechi.local. (
                                                2020011800 ;Serial
                                                3600 ;Refresh
                                                1800 ;Retry
                                                604800 ;Expire
                                                86400 ;Minimum TTL
)

;Name Server Information
@ IN NS dns-primary.linuxtechi.local.

;IP Address for Name Server
dns-primary IN A 192.168.43.35

;Mail Server MX (Mail exchanger) Record
linuxtechi.local. IN MX 10 mail.linuxtechi.local.

;A Record for the following Host name
www  IN   A   192.168.43.50
mail IN   A   192.168.43.60

;CNAME Record
ftp  IN   CNAME www.linuxtechi.local.

Definiamo alcuni dei parametri indicati nel file di configurazione:

  • TTL :Questo è l'abbreviazione di Time-To-Live. TTL è la durata (o salti) in cui un pacchetto esiste in una rete prima di essere finalmente scartato dal router.
  • IN :Ciò implica Internet.
  • SOA :Questo è l'abbreviazione di Start of Authority. Fondamentalmente, definisce il server dei nomi autorevole, in questo caso, dns-primary.linuxtechi.local e le informazioni di contatto – admin.linuxtechi.local
  • NS :è l'abbreviazione di Name Server.
  • A :Questo è un record A. Punta a un nome di dominio/sottodominio all'indirizzo IP
  • Serie :questo è l'attributo utilizzato dal server DNS per garantire che il contenuto di un file di zona specifico venga aggiornato.
  • Aggiorna :Definisce il numero di volte in cui un server DNS slave deve trasferire una zona dal master.
  • Riprova :Definisce il numero di volte in cui uno slave deve riprovare un trasferimento di zona che non risponde.
  • Scade :specifica la durata che un server slave deve attendere prima di rispondere a una query del client quando il master non è disponibile.
  • Minimo :Questo è responsabile dell'impostazione del TTL minimo per una zona.
  • MX :Questo è il record dello scambiatore di posta. Specifica il server di posta che riceve e invia e-mail
  • CNAME :Questo è il nome canonico. Associa un nome di dominio alias a un altro nome di dominio.
  • PTR :Abbreviazione di Pointer, questo attributo risolve un indirizzo IP in un nome di dominio, opposto a un nome di dominio.

Passaggio 4:crea un file di zona DNS inverso per il dominio

Allo stesso modo, dobbiamo creare un file per le ricerche DNS inverse. Incolla il seguente contenuto nel file:

[[email protected] ~]# vim /var/named/linuxtechi.local.rev
$TTL 86400
@ IN SOA dns-primary.linuxtechi.local. admin.linuxtechi.local. (
                                            2020011800 ;Serial
                                            3600 ;Refresh
                                            1800 ;Retry
                                            604800 ;Expire
                                            86400 ;Minimum TTL
)
;Name Server Information
@ IN NS dns-primary.linuxtechi.local.
dns-primary     IN      A       192.168.43.35

;Reverse lookup for Name Server
35 IN PTR dns-primary.linuxtechi.local.

;PTR Record IP address to Hostname
50      IN      PTR     www.linuxtechi.local.
60      IN      PTR     mail.linuxtechi.local.

Quindi, assegna le autorizzazioni file necessarie ai due file di configurazione.

# chown named:named /var/named/linuxtechi.local.db
# chown named:named /var/named/linuxtechi.local.rev

Per confermare che i file di ricerca della zona DNS siano privi di errori sintattici, eseguire i comandi mostrati:

# named-checkconf
# named-checkzone linuxtechi.local /var/named/linuxtechi.local.db
# named-checkzone 192.168.43.35 /var/named/linuxtechi.local.rev

Se non ci sono errori, dovresti visualizzare l'output:

Affinché le modifiche si riflettano nel sistema, riavvia il server Bind DNS

# systemctl restart named

Affinché i sistemi client accedano al sistema, è necessario aggiungere il servizio DNS sul firewall e successivamente ricaricare il firewall.

# firewall-cmd  --add-service=dns --zone=public  --permanent
# firewall-cmd --reload

Fase 5:verifica il server Bind DNS da un sistema client

Dopo aver finalizzato la configurazione sul server DNS, andiamo su una macchina client ed eseguiamo alcuni test.

Su un computer client ( CentOS 8 / RHEL 8), apri /etc/resolv.conf file e modifica il seguente parametro:

server dei nomi 192.168.43.35

Come sempre, salva e chiudi il file di configurazione.

Infine, è necessario aggiungere l'indirizzo IP del server Bind DNS a /etc/sysconfig/network-scripts/ifcfg-enp0s3 file come mostrato.

Salva e chiudi il file di configurazione, quindi riavvia il servizio di gestione della rete per apportare le modifiche precedenti all'effetto,

# systemctl restart NetworkManager

Utilizzando il comando nslookup, verifica il server Bind DNS come mostrato:

# nslookup dns-primary.linuxtechi.local
# nslookup mail.linuxtechi.local
# nslookup www.linuxtechi.local
# nslookup ftp.linuxtechi.local

# nslookup 192.168.43.35

L'output del comando nslookup conferma che la ricerca DNS diretta funziona come previsto.

Inoltre, puoi anche usare il comando dig come mostrato

# dig dns-primary.linuxtechi.local

Per eseguire una ricerca DNS inversa, utilizzare il comando dig come mostrato:

# dig -x 192.168.43.35

Perfetto! Anche la ricerca DNS inversa funziona come ci si aspetterebbe.

E questo conclude questo tutorial. In questa guida, ti abbiamo guidato attraverso l'installazione di un server DNS utilizzando Bind su CentOS 8. Provalo e non esitare a inviare il tuo feedback.

Leggi anche : Come configurare il server NFS su CentOS 8 / RHEL 8


Cent OS
  1. Come installare il server DNS su RHEL 8 / CentOS 8 Linux

  2. Come configurare un server SFTP su CentOS

  3. Come configurare il server DNS (Bind) su CentOS/RHEL 7/6/5

  4. Come configurare il server NTP in CentOS?

  5. Come configurare un server proxy squid su CentOS/RHEL 7

Come configurare Samba Print Server su CentOS

Come configurare il server di posta elettronica Zimbra su CentOS 7

Come configurare il server DNS (BIND) su CentOS 7 / RHEL 7

Come configurare il server SysLog centralizzato su CentOS 8 / RHEL 8

Come configurare il server DNS (BIND) su CentOS 8 / RHEL 8

Come configurare HAProxy su CentOS 8