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

Come configurare server DNS privati ​​con BIND su CentOS 8

BIND noto anche come "Berkeley Internet Name Domain" è uno dei più popolari Domain Name System (DNS) oggi. È un open source e fornisce servizi DNS su sistemi operativi Linux. In genere, aiuta a risolvere un nome di dominio completo in un indirizzo IP o un indirizzo IP in un nome di dominio. Può essere utilizzato come server dei nomi autorevole e fornisce diverse funzionalità come bilanciamento del carico, aggiornamento dinamico, DNS diviso, ecc.

In questo tutorial, ti mostreremo come configurare un server DNS privato con BIND su CentOS 8. In una nota correlata, dai un'occhiata al nostro tutorial sull'installazione e la configurazione di un semplice server DNS (BIND) su Debian 9.

Prerequisiti

  • Un CentOS 8 VPS (useremo il nostro piano SSD 2 VPS)
  • Accesso all'account utente root (o accesso a un account amministratore con privilegi root)

Ai fini di questo tutorial, utilizzeremo la seguente configurazione:

Nome host : ns1.rosehosting.local
Indirizzo IP : 192.168.1.100
Rete locale : 192.168.1.0/24

Passaggio 1:accedi al server e aggiorna i pacchetti del sistema operativo del server

Innanzitutto, accedi al tuo server CentOS 8 tramite SSH come utente root:

ssh root@IP_Address -p Port_number

Dovrai sostituire "Indirizzo_IP" e "Numero_porta" con il rispettivo indirizzo IP e numero di porta SSH del tuo server. Inoltre, se necessario, sostituisci "root" con il nome utente dell'account amministratore.

Prima di iniziare, devi assicurarti che tutti i pacchetti CentOS installati sul server siano aggiornati. Puoi farlo eseguendo i seguenti comandi:

dnf update -y

Passaggio 2:installa il server DNS BIND

Per impostazione predefinita, il pacchetto bind è disponibile nel repository standard di CentOS 8. Puoi installarlo eseguendo il seguente comando:

dnf install bind bind-utils -y

Una volta installato BIND, avvia il servizio BIND e abilitalo all'avvio al riavvio del sistema:

systemctl start named
systemctl enable named

Passaggio 3:configurare il server DNS BIND

Per impostazione predefinita, il server BIND è in ascolto solo su localhost. Quindi dovrai configurarlo per l'ascolto su tutte le interfacce di rete. Puoi configurarlo modificando il file /etc/named.conf:

nano /etc/named.conf

Commenta le seguenti righe:

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

Modifica la riga seguente per consentire la query per la tua rete locale:

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

Salva e chiudi il file quando hai finito.

Fase 4:crea una zona DNS diretta e inversa

Una zona diretta viene utilizzata per risolvere il nome host in indirizzo IP mentre una zona inversa viene utilizzata per risolvere l'indirizzo IP in nome host. In genere, tutte le normali query DNS sono query di ricerca diretta. Puoi definire le zone di ricerca diretta e inversa nel file /etc/named.conf.

Modifica il file /etc/named.conf con il seguente comando:

nano /etc/named.conf

Aggiungi le seguenti righe alla fine del file

//Forward Zone
zone "rosehosting.local" IN { 

           type master;  
           file "rosehosting.local.db"; 
           allow-update { none; };  

};

//Reverse Zone
zone "1.168.192.in-addr.arpa" IN { 

             type master;  
             file "192.168.1.db";             
             allow-update { none; };

};

Salva e chiudi il file quando hai finito.

Fase 5:crea file di zona avanti e indietro

Successivamente, dovrai creare file di zona avanti e indietro definiti nel passaggio precedente. Per impostazione predefinita, tutti i file di ricerca delle zone si trovano all'interno della directory /var/named.

Innanzitutto, crea un file di zona di inoltro con il seguente comando:

nano /var/named/rosehosting.local.db

Aggiungi le seguenti righe:

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

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

;IP address of Name Server
ns1       IN  A       192.168.1.100

;A - Record HostName To Ip Address
www     IN  A       192.168.1.101

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

Salva e chiudi il file, quindi crea un file di zona inversa con il seguente comando:

nano /var/named/192.168.1.db

Aggiungi le seguenti righe:

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

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

;Reverse lookup for Name Server
100       IN  PTR     ns1.rosehosting.local.

;PTR Record IP address to HostName
101      IN  PTR     www.rosehosting.local.

Salva e chiudi il file quando hai finito.

Fase 6:verifica della configurazione DNS

Dopo aver configurato tutti i file di zona, dovrai verificare i file di configurazione.

Per prima cosa, convalida il file di configurazione principale con il seguente comando:

named-checkconf /etc/named.conf

Se tutto va bene, non vedrai alcun errore.

Quindi, verifica il file della zona di inoltro con il seguente comando:

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

Dovresti ottenere il seguente output:

zone rosehosting.local/IN: loaded serial 3
OK

Quindi, verifica il file della zona inversa con il seguente comando:

named-checkzone 1.168.192.in-addr.arpa /var/named/192.168.1.db

Yu dovrebbe ottenere il seguente output:

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

Infine, riavvia il servizio BIND per applicare le modifiche:

systemctl restart named

Passaggio 7:configura il firewall

Successivamente, dovrai creare una regola firewall per la porta 53 per consentire le query DNS dai computer client. Puoi crearlo con il seguente comando:

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

Quindi, ricarica il servizio firewall per applicare le modifiche:

firewall-cmd --reload

Fase 8:verifica del server DNS

A questo punto il server BIND DNS è installato e configurato. È ora di verificare se funziona o meno.

Per prima cosa, modifica il tuo file /etc/resolv.conf e aggiungi l'IP del tuo server DNS:

nano /etc/resolv.conf

Aggiungi la seguente riga all'inizio del file:

nameserver 192.168.1.100

Salva e chiudi il file, quindi verifica la ricerca in avanti usando il comando dig:

dig www.rosehosting.local 

Oppure

dig ns1.rosehosting.local

Se tutto va bene, dovresti ricevere la seguente risposta:

; <<>> DiG 9.11.20-RedHat-9.11.20-5.el8 <<>> www.rosehosting.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: 52518
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

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

;; ANSWER SECTION:
www.rosehosting.local.    86400   IN  A   192.168.1.101

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

;; ADDITIONAL SECTION:
ns1.rosehosting.local.    86400   IN  A   192.168.1.100

;; Query time: 0 msec
;; SERVER: 192.168.1.100#53(192.168.1.100)
;; WHEN: Sat Dec 12 02:29:24 EST 2020
;; MSG SIZE  rcvd: 128

Quindi, verifica la ricerca inversa con il seguente comando:

dig -x 192.168.1.100

Dovresti ottenere la seguente risposta:

; <<>> DiG 9.11.20-RedHat-9.11.20-5.el8 <<>> -x 192.168.1.100
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30878
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

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

;; ANSWER SECTION:
100.1.168.192.in-addr.arpa. 86400 IN    PTR ns1.rosehosting.local.

;; AUTHORITY SECTION:
1.168.192.in-addr.arpa.    86400   IN  NS  ns1.rosehosting.local.

;; ADDITIONAL SECTION:
ns1.rosehosting.local.    86400   IN  A   192.168.1.100

;; Query time: 0 msec
;; SERVER: 192.168.1.100#53(192.168.1.100)
;; WHEN: Sat Dec 12 02:29:43 EST 2020
;; MSG SIZE  rcvd: 148

Congratulazioni! hai impostato correttamente un server DNS privato con BIND su CentOS 8.

Ovviamente, non devi fare nulla di tutto ciò se utilizzi uno dei nostri servizi di hosting VPS Linux, nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di configurarlo per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta.

PS . Se questo post ti è piaciuto condividilo con i tuoi amici sui social network utilizzando i pulsanti a sinistra o semplicemente lascia una risposta qui sotto. Grazie.


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. Configura il server DHCP su CentOS 8 - Come farlo?

  4. Come configurare un server di posta con PostfixAdmin su CentOS 7

  5. Come configurare VSFTPD su CentOS 8

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

Come configurare facilmente un server di posta completo su CentOS 7 con iRedMail

Imposta la Response Policy Zone (RPZ) in BIND Resolver su CentOS/RHEL

Come configurare facilmente un server di posta completo su CentOS 8 con iRedMail

Come configurare il server DHCP su CentOS 8

Come configurare un server TeamSpeak su CentOS 7