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

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

Il Domain Name System (DNS) è un sistema di denominazione distribuito gerarchico per computer, servizi o qualsiasi risorsa connessa a Internet o a una rete privata. Associa varie informazioni ai nomi di dominio assegnati a ciascuna delle entità partecipanti.

Soprattutto, traduce i nomi di dominio significativi per l'uomo negli identificatori numerici associati alle apparecchiature di rete allo scopo di localizzare e indirizzare questi dispositivi in ​​tutto il mondo.

Questa guida ti aiuterà a configurare il server DNS su CentOS 8 / RHEL 8.

Ipotesi

Nome host: ns1.itzgeek.local

Indirizzo IP: 192.168.0.10

Installa il server DNS

BIND sta per Berkeley Internet Name Domain, un software che offre la possibilità di eseguire la conversione da nome a IP.

yum -y install bind bind-utils

Configura server DNS

Il file di configurazione principale di BIND è /etc/named.conf. Useremo questo file per configurare il server DNS e definire la zona DNS.

Per impostazione predefinita, BIND è in ascolto su localhost. Pertanto, configureremo i server DNS per l'ascolto su tutte le interfacce di rete o su un'interfaccia particolare.

Modifica il file /etc/named.conf.

vi /etc/named.conf

Commenta la riga seguente. Ciò consentirà a BIND di ascoltare le interfacce di rete del sistema diverse da localhost.

Ascolta su tutti gli indirizzi IP:

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

Ascolta su un indirizzo IP particolare:

listen-on port 53 { 127.0.0.1; 192.168.0.10; };

Aggiungi la tua rete nella riga seguente. Ho aggiunto 192.168.0.0/24 per consentire ai client della rete 192.168.0.0/24 di interrogare il server DNS per la traduzione da nome a IP.

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

Crea zone

Modifica il file /etc/named.conf.

vi /etc/named.conf

Zona di andata

Quella che segue è la voce della zona di inoltro nel file named.conf, scritta per il dominio itzgeek.local.

zone "itzgeek.local" IN { // Domain Name
           
           type master;  // Master DNS Server

           file "itzgeek.local.db";  // Zone File (/var/named/)

           allow-update { none; };  // Since master DNS, it is none

};

itzgeek.local – Nome di dominio
maestro – DNS primario
itzgeek.local.db – File di ricerca in avanti
consenti aggiornamento – Dato che questo è il DNS principale, non dovrebbe essercene nessuno

Zona inversa

Quella che segue è la voce della zona inversa nel file named.conf.

zone "0.168.192.in-addr.arpa" IN { // Reverse Zone Name, should match with network in reverse order
             
             type master;  // Master DNS Server
             
             file "192.168.0.db";  // Zone File (/var/named/) 
             
             allow-update { none; }; // Since master DNS, it is none
 
};

0.168.192.in-addr.arpa – Nome ricerca inversa
maestro – DNS primario
192.168.0.db – File di ricerca inversa
consenti aggiornamento – Dato che questo è il DNS principale, non dovrebbe essercene nessuno

Crea file di zona

Ora è il momento di creare un file di ricerca per una zona creata. Per impostazione predefinita, i file di ricerca della zona vengono inseriti nella directory /var/named. Crea un file di zona chiamato itzgeek.local.db per la ricerca diretta nella directory /var/named.

Tutti i nomi di dominio devono terminare con un punto (.).

Zona di andata

Esistono alcune parole chiave speciali per i file di zona

Crea un file.

vi /var/named/itzgeek.local.db

A – Un record
NS – Server dei nomi
MX – Posta per Exchange
CNAME – Nome canonico

$TTL 86400
@   IN  SOA     ns1.itzgeek.local. root.itzgeek.local. (
                                              3           ;Serial
                                              3600        ;Refresh
                                              1800        ;Retry
                                              604800      ;Expire
                                              86400       ;Minimum TTL
)

;Name Server Information
@       IN  NS      ns1.itzgeek.local.

;IP address of Name Server
ns1       IN  A       192.168.0.10

;Mail exchanger
itzgeek.local. IN  MX 10   mail.itzgeek.local.

;A - Record HostName To Ip Address
www     IN  A       192.168.0.100
mail    IN  A       192.168.0.150

;CNAME record
ftp     IN CNAME        www.itgeek.local.

Ogni volta che aggiorni i file di zona per l'aggiornamento del record DNS, non dimenticare di incrementare il seriale.

Zona inversa

Crea un file di zona chiamato 192.168.0.db per la zona inversa nella directory /var/named, crea un puntatore inverso alle voci della zona diretta sopra.

vi /var/named/192.168.0.db

PTR – Puntatore
SOA – Inizio dell'autorità

$TTL 86400
@   IN  SOA     ns1.itzgeek.local. root.itzgeek.local. (
                                       3           ;Serial
                                       3600        ;Refresh
                                       1800        ;Retry
                                       604800      ;Expire
                                       86400       ;Minimum TTL
)

;Name Server Information
@         IN      NS         ns1.itzgeek.local.

;Reverse lookup for Name Server
10        IN  PTR     ns1.itzgeek.local.

;PTR Record IP address to HostName
100      IN  PTR     www.itzgeek.local.
150      IN  PTR     mail.itzgeek.local.

Ogni volta che aggiorni i file di zona per l'aggiornamento del record DNS, non dimenticare di incrementare il seriale.

Convalida della configurazione del server DNS

Usa il comando named-checkconf per convalidare il file di configurazione.

named-checkconf /etc/named.conf

Se non vedi alcun errore, allora sei a posto.

Convalida il file della zona di inoltro che hai creato con il comando seguente.

named-checkzone itzgeek.local /var/named/itzgeek.local.db

itzgeek.localNome di dominio

/var/named/itzgeek.local.dbPercorso di un file di zona

Risultato:

zone itzgeek.local/IN: loaded serial 3
OK
Il numero di serie menzionato nell'output deve corrispondere al numero di serie nei file di zona.

Fai lo stesso anche per la zona inversa.

named-checkzone 0.168.192.in-addr.arpa /var/named/192.168.0.db

Risultato:

zone 0.168.192.in-addr.arpa/IN: loaded serial 3
OK

Avvia servizio DNS

Dopo aver convalidato le configurazioni DNS, riavvia il servizio di collegamento.

systemctl restart named

Abilitalo all'avvio del sistema.

systemctl enable named

Aggiornamento record DNS

Ogni volta che modifichi un record DNS, non dimenticare di modificare il numero di serie nel file di zona e ricaricare la zona.

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

### Forward Zone ###

rndc reload itzgeek.local

### Reverse Zone ###

rndc reload 0.168.192.in-addr.arpa

Firewall

Aggiungi una regola firewall per consentire le query DNS dai computer client.

firewall-cmd --permanent --add-port=53/udp

firewall-cmd --reload

Verifica server DNS

Visita qualsiasi macchina client e aggiungi l'indirizzo IP di un server DNS in /etc/resolv.conf se Network Manager non gestisce la rete.

nameserver 192.168.0.10

Se Network Manager gestisce la rete, inserisci la seguente voce nel file /etc/sysconfig/network-scripts/ifcfg-eXX.

DNS1=192.168.0.10

Riavvia il servizio di rete.

service network restart

OR

systemctl restart NetworkManager

Utilizzare il comando seguente per verificare la ricerca in avanti, in cui il server DNS fornisce 192.168.0.100 come IP per www.itzgeek.local .

dig www.itzgeek.local

Risultato:

; <<>> DiG 9.11.3-1ubuntu1.7-Ubuntu <<>> www.itzgeek.local
;; 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: 42679
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

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

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

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

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

;; Query time: 0 msec
;; SERVER: 192.168.0.10#53(192.168.0.10)
;; WHEN: Tue Jan 07 08:53:56 IST 2020
;; MSG SIZE  rcvd: 124
Installa il pacchetto bind-utils per ottenere il comando nslookup o dig.

Conferma la ricerca inversa, in cui il server DNS fornisce www.itzgeek.local come nome per 192.168.0.100 . È ora confermato che le ricerche sia in avanti che inverse funzionano correttamente.

dig -x 192.168.0.100

Risultato:

; <<>> DiG 9.11.3-1ubuntu1.7-Ubuntu <<>> -x 192.168.0.100
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43305
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: d36aa24edb88f8951b3fbf8c5e13fa2cbf0e3ed754a00eee (good)
;; QUESTION SECTION:
;100.0.168.192.in-addr.arpa.    IN      PTR

;; ANSWER SECTION:
100.0.168.192.in-addr.arpa. 86400 IN    PTR     www.itzgeek.local.

;; AUTHORITY SECTION:
0.168.192.in-addr.arpa. 86400   IN      NS      ns1.itzgeek.local.

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

;; Query time: 0 msec
;; SERVER: 192.168.0.10#53(192.168.0.10)
;; WHEN: Tue Jan 07 08:55:30 IST 2020
;; MSG SIZE  rcvd: 148

Conclusione

È tutto. Hai installato correttamente BIND su CentOS 8 / RHEL 8 come server master. Nel prossimo articolo vedremo come configurare un server DNS slave su CentOS 8 / RHEL 8.


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

  2. Configura DNS su CentOS 5 / RHEL 5 con chroot

  3. Come configurare il server DNS su CentOS 5 / RHEL 5

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

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

Come installare e configurare il server VNC in CentOS 7 / RHEL 7

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

Come configurare l'indirizzo IP in CentOS 7/RHEL 7 e CentOS 6/RHEL 6

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

Come configurare il server VNC su CentOS/RHEL 6

Come installare e configurare il server VNC su CentOS/RHEL 8