Sviluppato negli anni '80 dagli studenti della Berkeley University,BIND (Dominio del nome Internet di Berkeley ) è un server DNS open source che fornisce servizi DNS su distribuzioni Linux. Allora, cos'è un server DNS? Un DNS server è un servizio che aiuta a risolvere un nome di dominio completo (FQDN ) in un indirizzo IP e, inoltre, eseguire una traduzione inversa di un indirizzo IP in un nome di dominio di facile utilizzo.
Perché la risoluzione dei nomi è importante? Bene, i computer localizzano i servizi sui server usando gli indirizzi IP. Tuttavia, gli indirizzi IP non sono facili da usare come i nomi di dominio e sarebbe un grosso mal di testa cercare di ricordare ogni indirizzo IP associato a ogni nome di dominio. Un server DNS interviene e aiuta a risolvere questi nomi di dominio in indirizzi IP di computer.
Questa guida ti guida attraverso il processo di configurazione di un server di collegamento DNS su CentOS 8 / RHEL 8.
Configurazione del laboratorio:
- Server: CentOS 8 (server minimo)
- Indirizzo IP: 192.168.43.35
- Nome hots: dns-primary.linuxtechi.local
- Dominio: linuxtechi.local
Iniziamo ora a correre con la configurazione del server di collegamento DNS.
Passaggio 1:installa bind DNS su CentOS 8 / RHEL 8
Iniziamo con l'installazione del pacchetto bind e bind-utils. Questi pacchetti costituiscono il server DNS e le sue utilità responsabili dell'interrogazione dei server dei nomi o dei server DNS.
Esegui il comando:
# dnf install bind bind-utils
Una volta installato correttamente, avvia il server DNS utilizzando il comando seguente:
# systemctl start named
Quindi, abilitalo in modo che possa avviarsi anche dopo un riavvio
# systemctl enable named
Solo per essere sicuro che il servizio funzioni come previsto, controlla il suo stato
# systemctl status named
Ottimo, il server DNS funziona perfettamente. Passiamo ora alla configurazione del server Bind DNS
Passaggio 2: Configura il server DNS di collegamento
Di solito, la best practice consiglia di eseguire un backup di un file di configurazione prima di apportare modifiche. Questo è così che se qualcosa dovesse andare storto, possiamo sempre ripristinare il file originale non modificato. E qui non è diverso.
Facciamo un backup del file di configurazione /etc/named.conf
# cp /etc/named.conf /etc/named.bak
Ora vai avanti e apri il file usando il tuo editor di testo preferito. In questo caso, stiamo usando vim editor.
# vim /etc/named.conf
Sotto "Opzioni ' , assicurati di commentare le righe indicate di seguito per consentire al server Bind DNS di ascoltare tutti gli IP.
// listen-on port 53 { 127.0.0.1; }; // listen-on-v6 port 53 { ::1; };
Inoltre, individua il parametro allow-query e regolalo in base alla tua sottorete di rete.
allow-query { localhost; 192.168.43.0/24; };
Questa impostazione consente solo agli host nella rete definita di accedere al server DNS e non a qualsiasi altro host.
Una zona DNS di ricerca diretta è uno che memorizza la relazione dell'indirizzo IP del nome host. Quando richiesto, fornisce l'indirizzo IP del sistema host utilizzando il nome host. Al contrario, la zona DNS inversa restituisce il nome di dominio completo (FQDN) del server in relazione al suo indirizzo IP.
Per definire le zone di ricerca inversa e in avanti, copia e incolla la seguente configurazione alla fine di /etc/named.conf
//forward zone zone "linuxtechi.local" IN { type master; file "linuxtechi.local.db"; allow-update { none; }; allow-query { any; }; }; //backward zone zone "43.168.192.in-addr.arpa" IN { type master; file "linuxtechi.local.rev"; allow-update { none; }; allow-query { any; }; };
- digitare :stabilisce il ruolo del server per una zona particolare. l'attributo 'master' implica che si tratta di un server autorevole.
- file :punta al file di zona forward/reverse del dominio.
- consenti aggiornamento :questo attributo definisce i sistemi host a cui è consentito inoltrare gli aggiornamenti del DNS dinamico. In questo caso, non ne abbiamo.
Dopo aver salvato, esci dal file di configurazione /etc/named.conf.
Fase 3:crea un file di zona DNS di inoltro per il dominio
Crea un file di zona DNS di inoltro per il dominio linuxtechi.local come mostrato di seguito e aggiungi il seguente contenuto
[[email protected] ~]# vim /var/named/linuxtechi.local.db $TTL 86400 @ IN SOA dns-primary.linuxtechi.local. admin.linuxtechi.local. ( 2020011800 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) ;Name Server Information @ IN NS dns-primary.linuxtechi.local. ;IP Address for Name Server dns-primary IN A 192.168.43.35 ;Mail Server MX (Mail exchanger) Record linuxtechi.local. IN MX 10 mail.linuxtechi.local. ;A Record for the following Host name www IN A 192.168.43.50 mail IN A 192.168.43.60 ;CNAME Record ftp IN CNAME www.linuxtechi.local.
Definiamo alcuni dei parametri indicati nel file di configurazione:
- TTL :Questo è l'abbreviazione di Time-To-Live. TTL è la durata (o salti) in cui un pacchetto esiste in una rete prima di essere finalmente scartato dal router.
- IN :Ciò implica Internet.
- SOA :Questo è l'abbreviazione di Start of Authority. Fondamentalmente, definisce il server dei nomi autorevole, in questo caso, dns-primary.linuxtechi.local e le informazioni di contatto – admin.linuxtechi.local
- NS :è l'abbreviazione di Name Server.
- A :Questo è un record A. Punta a un nome di dominio/sottodominio all'indirizzo IP
- Serie :questo è l'attributo utilizzato dal server DNS per garantire che il contenuto di un file di zona specifico venga aggiornato.
- Aggiorna :Definisce il numero di volte in cui un server DNS slave deve trasferire una zona dal master.
- Riprova :Definisce il numero di volte in cui uno slave deve riprovare un trasferimento di zona che non risponde.
- Scade :specifica la durata che un server slave deve attendere prima di rispondere a una query del client quando il master non è disponibile.
- Minimo :Questo è responsabile dell'impostazione del TTL minimo per una zona.
- MX :Questo è il record dello scambiatore di posta. Specifica il server di posta che riceve e invia e-mail
- CNAME :Questo è il nome canonico. Associa un nome di dominio alias a un altro nome di dominio.
- PTR :Abbreviazione di Pointer, questo attributo risolve un indirizzo IP in un nome di dominio, opposto a un nome di dominio.
Passaggio 4:crea un file di zona DNS inverso per il dominio
Allo stesso modo, dobbiamo creare un file per le ricerche DNS inverse. Incolla il seguente contenuto nel file:
[[email protected] ~]# vim /var/named/linuxtechi.local.rev $TTL 86400 @ IN SOA dns-primary.linuxtechi.local. admin.linuxtechi.local. ( 2020011800 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) ;Name Server Information @ IN NS dns-primary.linuxtechi.local. dns-primary IN A 192.168.43.35 ;Reverse lookup for Name Server 35 IN PTR dns-primary.linuxtechi.local. ;PTR Record IP address to Hostname 50 IN PTR www.linuxtechi.local. 60 IN PTR mail.linuxtechi.local.
Quindi, assegna le autorizzazioni file necessarie ai due file di configurazione.
# chown named:named /var/named/linuxtechi.local.db # chown named:named /var/named/linuxtechi.local.rev
Per confermare che i file di ricerca della zona DNS siano privi di errori sintattici, eseguire i comandi mostrati:
# named-checkconf # named-checkzone linuxtechi.local /var/named/linuxtechi.local.db # named-checkzone 192.168.43.35 /var/named/linuxtechi.local.rev
Se non ci sono errori, dovresti visualizzare l'output:
Affinché le modifiche si riflettano nel sistema, riavvia il server Bind DNS
# systemctl restart named
Affinché i sistemi client accedano al sistema, è necessario aggiungere il servizio DNS sul firewall e successivamente ricaricare il firewall.
# firewall-cmd --add-service=dns --zone=public --permanent # firewall-cmd --reload
Fase 5:verifica il server Bind DNS da un sistema client
Dopo aver finalizzato la configurazione sul server DNS, andiamo su una macchina client ed eseguiamo alcuni test.
Su un computer client ( CentOS 8 / RHEL 8), apri /etc/resolv.conf file e modifica il seguente parametro:
server dei nomi 192.168.43.35
Come sempre, salva e chiudi il file di configurazione.
Infine, è necessario aggiungere l'indirizzo IP del server Bind DNS a /etc/sysconfig/network-scripts/ifcfg-enp0s3 file come mostrato.
Salva e chiudi il file di configurazione, quindi riavvia il servizio di gestione della rete per apportare le modifiche precedenti all'effetto,
# systemctl restart NetworkManager
Utilizzando il comando nslookup, verifica il server Bind DNS come mostrato:
# nslookup dns-primary.linuxtechi.local # nslookup mail.linuxtechi.local # nslookup www.linuxtechi.local # nslookup ftp.linuxtechi.local
# nslookup 192.168.43.35
L'output del comando nslookup conferma che la ricerca DNS diretta funziona come previsto.
Inoltre, puoi anche usare il comando dig come mostrato
# dig dns-primary.linuxtechi.local
Per eseguire una ricerca DNS inversa, utilizzare il comando dig come mostrato:
# dig -x 192.168.43.35
Perfetto! Anche la ricerca DNS inversa funziona come ci si aspetterebbe.
E questo conclude questo tutorial. In questa guida, ti abbiamo guidato attraverso l'installazione di un server DNS utilizzando Bind su CentOS 8. Provalo e non esitare a inviare il tuo feedback.
Leggi anche : Come configurare il server NFS su CentOS 8 / RHEL 8