Il Domain Name Server (DNS) è un componente critico dell’infrastruttura internet e la creazione del proprio server DNS può essere impegnativa. Beh, non con BIND, dove puoi creare il tuo server DNS BIND in poco tempo. BIND ha un’ottima reputazione tra gli amministratori per la sua flessibilità e il supporto ad alta disponibilità.
In questo articolo, imparerai come installare e configurare un server DNS BIND sicuro e verificare che i sotto-domini vengano risolti all’indirizzo IP corretto.
Continua a leggere e crea il tuo server DNS senza sforzo!
Prerequisiti
Questo tutorial sarà una dimostrazione pratica. Per seguirlo, assicurati di avere quanto segue.
- A Linux server – This example uses the Ubuntu 20.04 server.
- A non-root user with root privileges or root/administrator user.
- A domain name pointed to the server IP address – This demo uses the atadomain.io domain and server IP address 172.16.1.10.
Installazione dei pacchetti BIND
Il repository predefinito di Ubuntu fornisce pacchetti BIND ma non vengono installati con il tuo sistema. Puoi installare BIND come server DNS principale o solo autoritativo. BIND ti offre potenti funzionalità, come il supporto all’installazione master-slave, il supporto DNSSEC e liste di controllo degli accessi (ACL) integrate.
Per iniziare con BIND DNS, prima dovrai installare i pacchetti BIND sulla tua macchina con il gestore di pacchetti apt.
1. Apri il terminale e accedi al tuo server.
2. Successivamente, esegui il comando apt update
qui sotto per aggiornare e aggiornare l’indice dei pacchetti del repository. Questo comando assicura che tu stia installando la versione più recente dei pacchetti.

3. Una volta aggiornato, esegui il seguente comando apt install
qui sotto per installare i pacchetti BIND per il server Ubuntu.
I pacchetti bind9-utils e bind9-dnsutils forniscono strumenti aggiuntivi a riga di comando per BIND. Questi pacchetti sono utili per testare e gestire il server DNS BIND.

4. Infine, esegui il comando systemctl
qui sotto per verificare il servizio BIND.
Il pacchetto BIND include il servizio named e viene avviato ed abilitato automaticamente durante l’installazione del pacchetto BIND.
Ora dovresti vedere che il servizio BIND named è abilitato con lo stato attivo (in esecuzione). A questo punto, il servizio BIND verrà eseguito automaticamente all’avvio del sistema.

Configurazione del Server DNS BIND
Hai ora installato i pacchetti BIND sul server Ubuntu, quindi è il momento di configurare l’installazione di BIND sul tuo server Ubuntu. Come? Modificando le configurazioni di BIND e del servizio named
.
Tutte le configurazioni per BIND sono disponibili nella directory /etc/bind/, e le configurazioni per il servizio named
sono in /etc/default/named.
1. Modifica la configurazione di /etc/default/named utilizzando il tuo editor preferito e aggiungi l’opzione -4
sulla linea OPTIONS
, come mostrato di seguito. Questa opzione farà funzionare il servizio named
solo su IPv4.
Salva le modifiche apportate e chiudi il file.

2. Successivamente, modifica il file /etc/bind/named.conf.options e inserisci la seguente configurazione sotto la linea directory "/var/cache/bind";
.
Questa configurazione imposta il servizio BIND per funzionare sulla porta UDP predefinita 53 sia sull’localhost del server che sul suo indirizzo IP pubblico (172.16.1.10). Allo stesso tempo, consente query da qualsiasi host al server DNS BIND utilizzando il forwarder Cloudflare DNS 1.1.1.1.
In fondo, commenta la linea listen-on-v6 { any; };
, come mostrato di seguito, per disabilitare il servizio named
dall’esecuzione su IPv6.

3. Infine, esegui il seguente comando per verificare la configurazione di BIND.
Se non c’è output, le configurazioni BIND sono corrette senza errori.

Configurazione delle Zone DNS
A questo punto, hai configurato la configurazione di base del server DNS BIND. Sei pronto a creare un server DNS con il tuo dominio e ad aggiungere altri sottodomini per le tue applicazioni. Dovrai definire e creare una nuova configurazione delle zone DNS per farlo.
In questo tutorial, creerai un nuovo Name Server (ns1.atadomain.io) e sottodomini (www.atadomain.io, mail.atadomain.io, vault.atadomain.io).
1. Modifica il file /etc/bind/named.conf.local utilizzando il tuo editor preferito e aggiungi la seguente configurazione.
Questa configurazione definisce la zona forward (/etc/bind/zones/forward.atadomain.io) e la zona reverse (/etc/bind/zones/reverse.atadomain.io) per il nome di dominio atadomain.io.
Salva le modifiche e chiudi il file.

2. Successivamente, esegui il comando sottostante per creare una nuova directory (/etc/bind/zones
) per le configurazioni delle zone DNS stringhe.
3. Esegui ciascun comando di seguito per copiare la configurazione predefinita delle zone forward e reverse nella directory /etc/bind/zones
.

4. Ora, modifica la configurazione della zona forward (/etc/bind/zones/forward.atadomain.io) utilizzando il tuo editor preferito e popola la configurazione seguente.
La configurazione della zona di avanti è dove si definisce il nome di dominio e l’indirizzo IP del server. Questa configurazione tradurrà il nome di dominio nel corretto indirizzo IP del server.
La configurazione qui sotto crea il seguente name server e sottodomini:
ns1.atadomain.io
– Il principale Name Server per il tuo dominio con l’indirizzo IP172.16.1.10
.
- Record MX per il dominio
atadomain.io
che è gestito damail.atadomain.io
. Il record MX è usato per il server di posta.
- Sottodomini per le applicazioni:
www.atadomain.io
,mail.atadomain.io
, evault.atadomain.io
.
Salva le modifiche e chiudi il file.

5. Come per la zona di avanti, modifica il file di configurazione della zona inversa (/etc/bind/zones/reverse.atadomain.io) e popola la seguente configurazione.
La zona inversa traduce l’indirizzo IP del server nel nome di dominio. La zona inversa o il record PTR sono essenziali per servizi come il server di posta, il quale influisce sulla reputazione del server di posta.
Il record PTR utilizza l’ultimo blocco dell’indirizzo IP, come il record PTR con il numero 10 per l’indirizzo IP del server 172.16.1.10.
Questa configurazione crea la zona inversa o il record PTR per i seguenti domini:
- Name server
ns1.atadomain.io
con la zona inversa o il record PTR172.16.1.10
.
- Record PTR per il dominio
mail.atadomain.io
all’indirizzo IP del server172.16.1.20
.
Salva le modifiche e chiudi il file.

6. Ora, esegui i seguenti comandi per controllare e verificare le configurazioni di BIND.
Quando la tua configurazione è corretta, vedrai un output simile a quello di seguito.

7. Infine, esegui il comando systemctl
qui sotto per riavviare e verificare il servizio named
. In questo modo si applicano le nuove modifiche al servizio named
.
Di seguito, puoi vedere che lo stato del servizio named è attivo (in esecuzione).

Apertura della porta DNS con il firewall UFW
A questo punto, hai completato l’installazione del server DNS BIND. Tuttavia, devi ancora proteggere il tuo server DNS. Configurerai il firewall UFW e aprirai la porta DNS per qualsiasi query al server. In questo modo, consenti ai client di effettuare una query al server DNS BIND.
Per motivi di sicurezza, è consigliabile eseguire e abilitare il firewall UFW sul tuo server Ubuntu.
1. Esegui il comando ufw
qui sotto per verificare le applicazioni disponibili sul firewall UFW.
Dovresti vedere il Bind9 nella lista delle applicazioni di UFW qui sotto.

2. Ora esegui il comando seguente per consentire
al Bind9
nel firewall UFW.

3. Infine, esegui il seguente comando per controllare le regole abilitate nel firewall UFW.
Dovresti vedere l’applicazione Bind9 nella lista come nello screenshot qui sotto.

Verifica dell’installazione del server DNS BIND
Hai completato l’installazione del server DNS BIND e configurato il firewall UFW. Ma come verificare l’installazione del tuo server DNS? Il comando dig
farà il trucco.
Dig è un’utilità da riga di comando per risolvere i problemi di installazione del server DNS. Il comando dig
esegue una ricerca DNS per il nome di dominio dato e visualizza risposte dettagliate per il target del nome di dominio. Nel sistema Ubuntu, dig
fa parte del pacchetto bind9-dnsutil
.
Per verificare l’installazione del tuo server DNS BIND:
1. Esegui ogni comando dig
qui sotto per verificare i sottodomini www.atadomain.io
, mail.atadomain.io
, e vault.atadomain.io
.
Se l’installazione del tuo server DNS è riuscita, ogni sottodominio verrà risolto all’indirizzo IP corretto in base alla configurazione forward.atadomain.io.
Di seguito è riportato l’output del sottodominio www.atadomain.io risolto all’indirizzo IP del server 172.16.1.10.

Ecco il sottodominio mail.atadomain.io risolto all’indirizzo IP del server 172.16.1.20.

E di seguito il sottodominio vault.atadomain.io risolto all’indirizzo IP del server 172.16.1.50.

2. Successivamente, esegui il comando dig
di seguito per verificare il record MX per il dominio atadomain.io
.
Dovresti vedere che il dominio atadomain.io ha il record MX mail.atadomain.io.

3. Infine, esegui i seguenti comandi per verificare il record PTR o la zona inversa per gli indirizzi IP del server 172.16.1.10
e 172.16.1.20
.
Se l’installazione di BIND è riuscita, ogni indirizzo IP verrà risolto al nome di dominio definito nella configurazione reverse.atadomain.io.
Come puoi vedere di seguito, l’indirizzo IP del server 172.16.1.10 è risolto al nome di dominio ns1.atadomain.io.

Come puoi vedere di seguito, l’indirizzo IP del server 172.16.1.20 è risolto al nome di dominio mail.atadomain.io.

Conclusione
In tutto questo tutorial, hai imparato come creare e configurare un server DNS BIND sicuro sul tuo server Ubuntu. Hai anche creato la zona forward e reverse per aggiungere il tuo dominio e verificato i server DNS eseguendo comandi dig
.
Ora, come puoi implementare un server DNS BIND nel tuo ambiente? Forse implementare BIND come un server autoritativo? O configurare l’alta disponibilità con un’installazione BIND master-slave?