I server DNS sono di varie tipologie, come master, slave, forwarding e cache, per citarne alcuni esempi, con il server DNS cache-only quello che è più facile da configurare. Poiché il DNS utilizza il protocollo UDP, migliora il tempo di query perché non richiede un acknowledgement.

Il server DNS cache-only è anche conosciuto come resolver, cheQuery i record DNS e recupera tutti i dettagli DNS dai altri server, e mantiene ogni richiesta di query nella sua cache per un futuro uso così che quando noi eseguiamo la stessa richiesta in futuro, sarà servita dalla sua cache, così riducendo il tempo di risposta ulteriormente.
Se state cercando di configurare un Server DNS Caching-Only in CentOS/RHEL 6, seguite questo guide qui:
Setting Up Caching-Only DNS Name Server in CentOS/RHEL 6
Il mio ambiente di test
DNS server : dns.tecmintlocal.com (Red Hat Enterprise Linux 7.1) Server IP Address : 192.168.0.18 Client : node1.tecmintlocal.com (CentOS 7.1) Client IP Address : 192.168.0.29
Step 1: Installazione del server DNS cache-only in RHEL/CentOS 7
1. Il server DNS cache-only può essere installato tramite il pacchetto bind. Se non ricordate il nome del pacchetto, potete fare una ricerca veloce del nome del pacchetto usando il comando seguente.
# yum search bind

2. Nel risultato precedente, vedrete diversi pacchetti. Da questi, dovete scegliere e installare solo i pacchetti bind e bind-utils usando il seguente comando yum.
# yum install bind bind-utils -y

Step 2: Configurare il server DNS cache-only in RHEL/CentOS 7
3. Una volta installati i pacchetti DNS, possiamo procedere con la configurazione del DNS. Apri ed edita /etc/named.conf
utilizzando il tuo editor di testo preferito. Effettua le modifiche suggerite di seguito (oppure puoi utilizzare le impostazioni in base alle tue esigenze).
listen-on port 53 { 127.0.0.1; any; }; allow-query { localhost; any; }; allow-query-cache { localhost; any; };

Queste direttive istruiscono il server DNS ad ascoltare sulla porta UDP 53, e ad accettare query e memorizzare risposte da localhost e da qualsiasi altra macchina che raggiunge il server.
4. È importante notare che la proprietà di questo file deve essere impostata su root:named
e inoltre, se SELinux è abilitato, dopo aver modificato il file di configurazione, è necessario assicurarsi che il suo contesto sia impostato su named_conf_t
come mostrato nella Fig. 4 (stessa cosa per il file ausiliario /etc/named.rfc1912.zones
):
# ls -lZ /etc/named.conf # ls -lZ /etc/named.rfc1912.zones
Altrimenti, configura il contesto SELinux prima di procedere:
# semanage fcontext -a -t named_conf_t /etc/named.conf # semanage fcontext -a -t named_conf_t /etc/named.rfc1912.zones
5. Inoltre, è necessario testare la configurazione DNS ora per eventuali errori di sintassi prima di avviare il servizio bind:
# named-checkconf /etc/named.conf
6. Dopo che i risultati della verifica della sintassi sembrano perfetti, riavvia il servizio named per rendere effettive le nuove modifiche e per far sì che il servizio si avvii automaticamente durante il boot del sistema, quindi controlla il suo stato:
# systemctl restart named # systemctl enable named # systemctl status named

7. Successivamente, apri la porta 53 nel firewall.
# firewall-cmd --add-port=53/udp # firewall-cmd --add-port=53/udp --permanent

Passaggio 3: Chroot Cache-Only DNS Server in RHEL e CentOS 7
8. Se desideri distribuire il server DNS solo per la cache all’interno dell’ambiente chroot, è necessario avere il pacchetto chroot installato nel sistema e non è necessaria alcuna ulteriore configurazione in quanto di default si collega rigidamente a chroot.
# yum install bind-chroot -y
Una volta installato il pacchetto chroot, puoi riavviare named per rendere effettive le nuove modifiche:
# systemctl restart named
9. Successivamente, crea un collegamento simbolico (chiamato anche /etc/named.conf
) all’interno di /var/named/chroot/etc/
:
# ln -s /etc/named.conf /var/named/chroot/etc/named.conf
Passaggio 4: Configura il DNS sulla macchina client
10. Aggiungi i server DNS della cache IP 192.168.0.18 come risolutore alla macchina client. Modifica /etc/sysconfig/network-scripts/ifcfg-enp0s3
come mostrato nella figura seguente:
DNS=192.168.0.18

E /etc/resolv.conf come segue:
nameserver 192.168.0.18
11. Infine è il momento di verificare il nostro server cache. A tal fine, puoi utilizzare l’utilità dig o il comando nslookup.
Scegli un qualsiasi sito web e interroga due volte (useremo facebook.com come esempio). Nota che con dig la seconda volta la query viene completata molto più rapidamente perché viene servita dalla cache.
# dig facebook.com

Puoi anche utilizzare nslookup per verificare che il server DNS stia funzionando come previsto.
# nslookup facebook.com

Riepilogo
In questo articolo abbiamo spiegato come configurare un server DNS solo cache in Red Hat Enterprise Linux 7 e CentOS 7, e lo abbiamo testato in una macchina client. Sentiti libero di farci sapere se hai domande o suggerimenti utilizzando il modulo qui sotto.
Source:
https://www.tecmint.com/install-configure-cache-only-dns-server-in-rhel-centos-7/