Topologia di rete:
Figura 1: topologia di rete di questo articolo
Qui configurerò una macchina CentOS 8 come server DNS. La macchina CentOS 8 ha un indirizzo IP statico 192.168.20.20. Gli altri computer della rete potranno accedere al server DNS per risolvere i nomi di dominio.
Impostazione dell'indirizzo IP statico:
È necessario impostare un indirizzo IP statico sul computer CentOS 8 se si desidera configurare un server DNS. Per impostare un indirizzo IP statico su CentOS 8, controlla il mio articolo Configurazione dell'IP statico su CentOS 8.
Installazione del server DNS su CentOS 8:
BIND 9 è disponibile nel repository ufficiale dei pacchetti di CentOS 8. Quindi, è molto facile da installare.
Innanzitutto, aggiorna la cache del repository del pacchetto DNF con il seguente comando:
$ sudo dnf makecache
Ora installa BIND 9 con il seguente comando:
$ sudo dnf install bind
Per confermare l'installazione, premere sì e poi premere
BIND 9 dovrebbe essere installato.
Configurazione del server DNS BIND 9:
La configurazione principale di BIND è /etc/named.conf. Aggiungi i tuoi database DNS personalizzati nel /var/nome/ directory. Una volta creato il database DNS, aggiungi i tuoi file di zona personalizzati nel custom /etc/nome/ directory e includere i file di zona nel in /etc/named.conf file di configurazione. Fondamentalmente è così che si configura il server DNS BIND 9 9.
Creiamo un database DNS per linuxhint.Locale nome del dominio.
Crea un nuovo file db.linuxhint.Locale nel /var/nome/ directory come segue:
$ sudo vim /var/named/db.linuxhint.Locale
Ora, digita le seguenti righe nel db.linuxhint.Locale file e salva il file.
$TTL 1d$ORIGIN linuxhint.Locale.
@ IN SOA ns root (
2020031201 ; Seriale
12h ; ricaricare
15 m ; Riprova
3w ; Scade
2h ; Minimo
)
@ IN A 192.168.20.20
@ IN NS ns
ns IN A 192.168.20.20
@ IN MX 10 posta
posta IN A 192.168.20.20
aiuto IN A 192.168.20.111
supporto IN A 192.168.20.112
www IN A 192.168.10.12
router IN A 192.168.2.1
ftp IN CNAME www
Dopo aver aggiunto un database DNS per linuxhint.Locale domain, puoi verificare se la sintassi del file è corretta con il seguente comando:
$ sudo named-checkzone linuxhint.locale /var/named/db.linuxhint.Locale
Come puoi vedere, non ci sono errori di sintassi. Se ce ne sono, vedrai i rispettivi messaggi di errore.
Ora crea un file di zona linuxhint.Locale.zone nel /etc/nome/ directory per linuxhint.Locale dominio come segue:
$ sudo vim /etc/named/linuxhint.Locale.zone
Ora, digita le seguenti righe nel linuxhint.Locale.zone file.
zona "linuxhint.locale" INtipo maestro;
file "db.linuxhint.Locale";
;
Ora, modifica il /etc/named.conf file come segue:
$ sudo vim /etc/named.conf
Per prima cosa, devi aggiungere la tua sottorete di rete a consenti-query. In caso contrario, nessuno dei computer della rete sarà in grado di utilizzare il server DNS.
La sottorete di rete è 192.168.20.0/24. Quindi, questo è quello che ho aggiunto lì.
Devi anche aggiungere l'indirizzo IP della tua macchina CentOS 8 che stai configurando come server DNS come ascolta indirizzo. Nel mio caso è 192.168.20.20. Quindi, l'ho aggiunto lì.
Infine, includi il linuxhint.Locale.zone file dal /etc/nome/ directory alla fine del /etc/named.conf file con la seguente riga.
include "/etc/named/linuxhint.Locale.zone";
Ora, avvia il di nome servizio con il seguente comando:
$ sudo systemctl start named
Come puoi vedere, il di nome il servizio è in esecuzione.
$ sudo systemctl status named
Inoltre, aggiungi il servizio denominato all'avvio del sistema di CentOS 8. Quindi, il server DNS si avvierà automaticamente all'avvio.
$ sudo systemctl enable named
Se si apportano modifiche al file di configurazione del server DNS dopo aver avviato il di nome servizio, è necessario riavviare il di nome servizio per rendere effettive le modifiche.
Per riavviare il di nome servizio, eseguire il seguente comando:
$ sudo systemctl riavvio denominatoTest del server DNS:
Puoi testare il server dei nomi DNS usando scavare.
Per verificare se il server DNS è in ascolto sull'interfaccia di rete in uscita, procedere come segue:
$ scavare @192.168.20.20 linuxhint.locale qualsiasi
grande! Il server DNS è accessibile dall'interfaccia di rete in uscita di CentOS 8.
Il server dei nomi DNS è accessibile anche localmente sulla macchina CentOS 8.
$ dig @localhost linuxhint.locale qualsiasi
Posso anche risolvere www.linuxhint.local come puoi vedere nello screenshot qui sotto.
$ scavare @127.0.0.1 www.linuxhint.Locale
Modifica dell'indirizzo del server DNS dell'interfaccia di rete:
Ora puoi modificare l'indirizzo del server DNS della tua interfaccia di rete per utilizzare il server DNS locale per impostazione predefinita. Controlla il mio articolo Configurazione dell'IP statico su CentOS 8 per istruzioni dettagliate su come farlo.
Come puoi vedere, BIND può risolvere i nomi di dominio Internet.
BIND può anche risolvere il dominio configurato localmente linuxhint.Locale
Configurazione del firewall:
Ora, per consentire le richieste DNS attraverso il firewall, apri la porta 53 del server DNS con il seguente comando:
$ sudo firewall-cmd --add-service=dns --permanent
Affinché le modifiche abbiano effetto, eseguire il seguente comando:
$ sudo firewall-cmd --reload
Test del server DNS da altri computer:
Ho configurato una macchina Windows 10 sulla stessa sottorete di rete per utilizzare il server DNS che ho appena configurato sulla macchina CentOS 8.
Come puoi vedere, la risoluzione DNS per linuxhint.Locale i sottodomini funzionano.
$ nslookup ns.linuxhint.Locale$ supporto nslookup.linuxhint.Locale
$ nslookup www.linuxhint.Locale
$ nslookup mail.linuxhint.Locale
Quindi, è così che configuri il server DNS BIND 9 su CentOS 8. Grazie per aver letto questo articolo.