Ricerca nel sito web

Configurazione del collegamento come server DNS privato su RHEL 8


Il Domain Name System (DNS) è un metodo utilizzato per tradurre nomi di dominio leggibili dall'uomo (o Nomi di dominio completamente qualificati (FQDN )) a indirizzi IP leggibili dalla macchina, per individuare un computer in una rete come Internet.

Nei sistemi informatici e di rete ciò è necessario perché, sebbene gli FQDN siano facili da ricordare e utilizzare per gli esseri umani, i computer (client) accedono a risorse o servizi su altri computer (server) in base agli indirizzi IP.

A questo proposito, un server DNS (noto anche come server dei nomi) mantiene una directory di FQDN e li traduce in indirizzi IP; può anche restituire un indirizzo IP quando viene fornito un nome host/FQDN. Esistono diversi tipi di server DNS tra cui server dei nomi autorevole, server dei nomi con memorizzazione nella cache e molti altri.

In questo articolo ti guideremo attraverso i passaggi per installare e configurare un server DNS autorevole privato/interno su RHEL 8 utilizzando il software open source BIND.

Requisiti:

  1. RHEL 8 con installazione minima
  2. RHEL 8 con abbonamento RedHat abilitato
  3. RHEL 8 con indirizzo IP statico

Il mio ambiente di test:

Domain: tecmint.lan
DNS Server IP and hostname: 192.168.56.100, dns-primary.tecmint.lan
DNS Client IP and hostname: 192.168.56.104, tecmint.tecmint.lan

Passaggio 1: installazione di Bind DNS su RHEL 8

1. Per installare bind e le sue utilità sul tuo server, esegui il seguente comando cdnf.

dnf install bind bind-utils

2. Successivamente, avvia per ora il servizio DNS, quindi abilitalo all'avvio automatico all'avvio del sistema e controlla se è attivo e funzionante utilizzando i comandi systemctl.

systemctl start named
systemctl enable named
systemctl status named

Passaggio 2: configurazione di BIND DNS su RHEL 8

3. Per configurare il server Bind DNS, devi prima fare un backup del file di configurazione originale /etc/named.conf utilizzando il seguente cp comando.

cp /etc/named.conf /etc/named.conf.orig

4. Ora apri il file di configurazione /etc/named.conf per modificarlo utilizzando il tuo editor di testo preferito da riga di comando come segue.

vi /etc/named.conf 

Nella sezione di configurazione opzioni, commenta le seguenti righe.

options {
        #listen-on port 53 { 127.0.0.1; };
        #listen-on-v6 port 53 { ::1; };
        directory       "/var/named";

5. Successivamente, cerca il parametro allow-query e imposta il suo valore sulla tua rete, il che significa che solo gli host sulla tua rete locale possono interrogare il server DNS.

allow-query  {localhost; 192.168.56.0/24}

Passaggio 3: creazione delle zone DNS dirette e inverse

Una zona inoltro è dove vengono archiviate le relazioni tra il nome host (o FQDN) e l'indirizzo IP; restituisce un indirizzo IP utilizzando il nome host. Tieni presente che le normali query DNS sono query di ricerca diretta. D'altra parte, una Zona inversa restituisce l'FQDN di un host in base al suo indirizzo IP.

6. Per definire le zone avanti e inversa, aggiungi le seguenti righe alla fine di /etc/named.conf<.

//forward zone 
zone "tecmint.lan" IN { 
     type master; 
     file "tecmint.lan.db"; 
     allow-update { none; }; 
    allow-query {any; }
}; 
//backward zone 
zone "56.168.192.in-addr.arpa" IN { 
     type master; 
     file "tecmint.lan.rev"; 
     allow-update { none; }; 
    allow-query { any; }
};

Spieghiamo brevemente le opzioni nelle configurazioni delle zone sopra:

  • tipo: definisce il ruolo di questo server per la zona. Il valore "master" significa che si tratta di un server autorevole in cui viene mantenuta la copia principale dei dati della zona.
  • file: specifica il file del database della zona.
  • allow-update: specifica gli host che hanno consentito di inviare aggiornamenti DNS dinamici per le zone master. Nessuno in questo caso.

Passaggio 4: creazione del file di zona DNS di inoltro

7. Innanzitutto, crea un file Zona in avanti nella directory /var/named.

vi /var/named/tecmint.lan.db

Aggiungi la seguente configurazione al suo interno.

$TTL 86400
@ IN SOA dns-primary.tecmint.lan. admin.tecmint.lan. (
    2019061800 ;Serial
    3600 ;Refresh
    1800 ;Retry
    604800 ;Expire
    86400 ;Minimum TTL
)

;Name Server Information
@ IN NS dns-primary.tecmint.lan.

;IP for Name Server
dns-primary IN A 192.168.56.100

;A Record for IP address to Hostname 
www IN A 192.168.56.5
mail IN A 192.168.56.10
docs  IN A 192.168.56.20

Spieghiamo brevemente la definizione di zona di cui sopra e i parametri.

  • TTL: specifica il tempo di vita della direttiva RR e $TTL fornisce un TTL predefinito per ogni RR senza un set TTL specifico.
  • @: è un alias del nome di dominio (es. tecmint.lan) definito nel file di configurazione principale.
  • IN: significa Internet.
  • SOA: specifica l'Inizio dell'autorità: chi è il name server autorevole (dns-primary.tecmint.lan), le informazioni di contatto dell'amministratore ( admin.tecmint.lan, il segno @ viene sostituito da un punto) e altre informazioni correlate.
  • NS: significa server dei nomi.
  • Serial: questo valore viene utilizzato dal server DNS per verificare che il contenuto di un particolare file di zona sia aggiornato.
  • Aggiorna: specifica la frequenza con cui un server DNS slave deve eseguire un trasferimento di zona dal master.
  • Riprova: specifica la frequenza con cui uno slave deve ritentare un trasferimento di zona fallito.
  • Scadenza: determina quanto tempo un server slave deve attendere prima di rispondere alla domanda del client quando un master non è raggiungibile.
  • Minimo: imposta il TTL minimo per la zona.
  • A: un indirizzo host.

Passaggio 5: creazione del file di zona DNS inverso

8. Allo stesso modo, crea un file Reverse zone nella directory /var/named.

vi /var/named/tecmint.lan.rev

Quindi aggiungi le seguenti righe. In questo caso, il PTR è l'opposto del record A utilizzato per mappare un indirizzo IP su un nome host.

$TTL 86400
@ IN SOA dns-primary.tecmint.lan. admin.tecmint.lan. (
    2019061800 ;Serial
    3600 ;Refresh
    1800 ;Retry
    604800 ;Expire
    86400 ;Minimum TTL
)
;Name Server Information
@ IN NS dns-primary.tecmint.lan.

;Reverse lookup for Name Server
100 IN PTR dns-primary.tecmint.lan.

;PTR Record IP address to HostName
5 IN PTR www.tecmint.lan.
10 IN PTR mail.tecmint.lan.
20 IN PTR docs.tecmint.lan.

9. Imposta le autorizzazioni di proprietà corrette sui file di zona come segue.

chown :named /var/named/tecmint.lan.db
chown :named /var/named/tecmint.lan.rev

10. Infine, controlla che la configurazione DNS e che i file di zona abbiano la sintassi corretta dopo aver apportato le modifiche di cui sopra, utilizzando l'utilità named-checkconf (no out significa nessun errore):

named-checkconf
named-checkzone tecmint.lan /var/named/tecmint.lan.db
named-checkzone 192.168.56.100 /var/named/tecmint.lan.rev

11. Dopo aver eseguito tutta la configurazione necessaria, è necessario riavviare il servizio DNS affinché le modifiche recenti abbiano effetto.

systemctl restart named

12. Successivamente, prima che qualsiasi client possa accedere alle configurazioni del servizio DNS sul server, è necessario aggiungere il servizio DNS nella configurazione del firewall di sistema e ricaricare le impostazioni del firewall utilizzando l'utilità firewall-cmd, come segue :

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

Passaggio 6: testare il servizio DNS da un client

13. In questa sezione mostreremo come testare il servizio DNS da un lato client. Accedi al computer client, configuralo per utilizzare il server DNS sopra. Su un sistema Linux, apri il file /etc/resolve.conf utilizzando il tuo editor di testo preferito.

vi /etc/resolve.conf 

Aggiungi la seguente voce, che dice al risolutore di utilizzare il nameserver specificato.

nameserver  192.168.56.100

Salva il file e chiudilo. Tieni presente che devi anche specificare il server DNS nel file di configurazione dell'interfaccia di rete.

14. Aggiungi l'IP del server DNS 192.168.56.100 come risolutore al file di configurazione dell'interfaccia di rete della macchina client /etc/sysconfig/network-scripts/ifcfg-enp0s3< come mostrato nella figura seguente.

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=aba298ca-fa65-48cd-add9-6c3f1f28cee2
DEVICE=enp0s3
ONBOOT=no
DNS=192.168.56.100

15. Quindi utilizzare l'utilità nslookup per interrogare l'IP utilizzando il nome host e viceversa, di www, mail e docs< server nella tua rete come mostrato.

nslookup 192.168.56.5
nslookup www.tecmint.lan
nslookup 192.168.56.10
nslookup mail.tecmint.lan
nslookup 192.168.56.20
nslookup docs.tecmint.lan
nslookup 192.168.56.100
nslookup dns-primary.tecmint.lan

Riepilogo

In questo articolo, abbiamo mostrato come installare e configurare un server DNS privato e autorevole su RHEL 8 utilizzando il software BIND. Ci auguriamo che tutto abbia funzionato bene per te, altrimenti inviaci le tue domande o qualsiasi altro commento tramite il modulo di feedback sottostante.