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

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

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 7 / RHEL 7.

Ambiente

Nome server: ns1itzgeek.local

Indirizzo IP: 192.168.0.10

Installa DNS (BIND)

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 DNS (BIND)

Per impostazione predefinita, BIND è in ascolto su localhost. Pertanto, configureremo il server DNS in modo che sia in ascolto sull'indirizzo IP del sistema per consentire ai client di raggiungere il server DNS per la risoluzione dei nomi di dominio.

vi /etc/named.conf

Ascolta su tutti gli indirizzi IP:

Configura BIND per l'ascolto 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:

Configura BIND per ascoltare un particolare indirizzo IP.

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

Aggiungi la tua rete nella riga seguente. Questa impostazione consentirà ai client della rete menzionata di interrogare il DNS per la traduzione da nome a IP.

Ho aggiunto 192.168.0.0/24 per questa demo.

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

Crea zone

Modifica /etc/named.conf.

vi /etc/named.conf

Zona di andata

La zona seguente è la voce della zona di inoltro per il dominio itzgeek.local.

zone "itzgeek.local" IN {
         
         type master;
        
         file "/var/named/itzgeek.local.db";

         allow-update { none; };
};

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

Zona inversa

La zona seguente è l'ingresso della zona inversa.

zone "0.168.192.in-addr.arpa" IN {
          
          type master;
          
          file "/var/named/192.168.0.db";
         
          allow-update { none; };
};

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

Crea file di zona

Per impostazione predefinita, i file di ricerca della zona vengono inseriti nella directory /var/named. Crea un file di zona chiamato fwd.itzgeek.local.db per la ricerca diretta nella directory /var/named. Tutti i nomi di dominio devono terminare con un punto (.).

vi /var/named/itzgeek.local.db

Esistono alcune parole chiave speciali per i file di zona

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

@   IN  SOA     ns1.itzgeek.local. root.itzgeek.local. (
                                                1001    ;Serial
                                                3H      ;Refresh
                                                15M     ;Retry
                                                1W      ;Expire
                                                1D      ;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 si aggiorna il file di ricerca della zona, è necessario modificare/incrementare il seriale come 1002;Serial.

Crea un file di zona chiamato 192.168.0.db per la zona inversa nella directory /var/named.

vi /var/named/192.168.0.db

Crea un puntatore inverso per le voci della zona diretta che abbiamo creato in precedenza.

PTR – Puntatore
SOA – Inizio dell'autorità

@   IN  SOA     ns1.itzgeek.local. root.itzgeek.local. (
                                                1001    ;Serial
                                                3H      ;Refresh
                                                15M     ;Retry
                                                1W      ;Expire
                                                1D      ;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 si aggiorna il file di ricerca della zona, è necessario modificare/incrementare il seriale come 1002;Serial.

Una volta creati i file di zona, riavvia il servizio di collegamento.

systemctl restart named

Abilitalo all'avvio del sistema.

systemctl enable named

Firewall

Aggiungi una regola di autorizzazione nel firewall per consentire ai client di connettersi al server DNS per la risoluzione dei nomi.

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

firewall-cmd --reload

Verifica zone

Visita qualsiasi macchina client e aggiungi un indirizzo IP del server DNS in /etc/resolv.conf.

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.

systemctl restart NetworkManager

Utilizzare il comando seguente per verificare la ricerca in avanti.

dig www.itzgeek.local

Risultato: Il server DNS dovrebbe fornire 192.168.0.100 come IP per www.itzgeek.local.

; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.1 <<>> www.itzgeek.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35563
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; 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      primary.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: Wed Jul 03 02:00:40 EDT 2019
;; MSG SIZE  rcvd: 100
Installa le utilità BIND yum install -y pacchetto bind-utils per ottenere il comando nslookup o dig.

Conferma la ricerca inversa.

dig -x 192.168.0.100

Risultato: Il server DNS fornisce www.itzgeek.local come nome per 192.168.0.100.

; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.1 <<>> -x 192.168.0.100
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4807
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; 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: Wed Jul 03 02:02:47 EDT 2019
;; MSG SIZE  rcvd: 124

È ora confermato che le ricerche sia in avanti che inverse funzionano correttamente.

Conclusione

È tutto. Hai installato correttamente BIND su CentOS 7 / RHEL 7 come server principale. È possibile configurare un server DNS slave per la ridondanza.


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 server DNS privati ​​con BIND su CentOS 8

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

Come configurare il server DNS su Debian 10 / Debian 9

Come configurare il server DNS su Ubuntu 18.04 / Ubuntu 16.04

Come configurare FirewallD in RHEL, CentOS e Fedora

Come configurare il server VNC su CentOS/RHEL 6

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