In un’infrastruttura di rete ben strutturata, un server DNS affidabile è essenziale per garantire la risoluzione rapida e corretta dei nomi di dominio.
BIND 9 (Berkeley Internet Name Domain) è uno dei server DNS più utilizzati e apprezzati in ambienti sia aziendali che domestici, grazie alla sua flessibilità, stabilità e vasta documentazione.
Con l’arrivo di Ubuntu Server 25.05, è importante conoscere le best practice per installare e configurare BIND 9 in modo sicuro ed efficiente, tenendo conto delle novità introdotte nella distribuzione.
In questo articolo, ti guiderò passo dopo passo attraverso l’intero processo: dall’installazione del pacchetto fino alla configurazione di un DNS autoritativo e/o cache, con esempi pratici e consigli per evitare gli errori più comuni.
INSTALLAZIONE DI BIND9
BIND9 (Berkeley Internet Name Domain) è uno dei software DNS più usati al mondo.
Permette di risolvere nomi di dominio in indirizzi IP e viceversa.
È spesso usato come server DNS interno in reti aziendali e laboratori.
COMANDI PER L’INSTALLAZIONE
Aprire un terminale e digitare:
0
1
|
sudo apt update
sudo apt install bind9 bind9utils bind9-doc dnsutils -y
|
bind9: il server DNS vero e proprio
bind9utils: strumenti utili per test e debug
bind9-doc: documentazione opzionale
dnsutils: comandi come dig e nslookup
Controllare che BIND9 sia attivo con il comando:
0 |
sudo systemctl status bind9
|
STRUTTURA DEI FILE DI CONFIGURAZIONE
/etc/bind/named.conf
: file principale che include tutti gli altri
/etc/bind/named.conf.options: opzioni globali
/etc/bind/named.conf.local: zone DNS locali personalizzate
/etc/bind/db.*: file di zona contenenti i record DNS
CONFIGURAZIONE DEL FILE named.conf.options
Aprire il file:
0 |
sudo vim /etc/bind/named.conf.options
|
Esempio dettagliato:
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
options {
directory "/var/cache/bind"; # Directory dove BIND salva le zone in cache
recursion yes; # Abilita la risoluzione ricorsiva per i client (tipico nelle LAN)
allow-query { any; }; # Consente richieste DNS da qualsiasi host (può essere limitato a una subnet per sicurezza)
forwarders {
1.1.1.1;
8.8.8.8;
}; # Inoltra le query non risolte ai DNS pubblici
dnssec-validation auto; # Abilita la validazione DNSSEC per aumentare la sicurezza
listen-on { any; }; # BIND ascolta su tutte le interfacce IPv4
listen-on-v6 { any; }; # BIND ascolta su tutte le interfacce IPv6
};
|
DEFINIZIONE DI UNA ZONA DNS LOCALE
Modificare il file named.conf.local:
0 |
sudo vim /etc/bind/named.conf.local
|
Aggiungere la zona:
0
1
2
3
|
zone "lan.local" {
type master;
file "/etc/bind/db.lan.local";
};
|
Questo definisce una zona chiamata lan.local con BIND come server master.
CREAZIONE DEL FILE DI ZONA
Copia un template esistente:
0
1
|
sudo cp /etc/bind/db.local /etc/bind/db.lan.local
sudo vim /etc/bind/db.lan.local
|
Esempio:
0
1
2
3
4
5
6
7
8
9
10
|
$TTL 604800
@ IN SOA ns1.lan.local. admin.lan.local. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.lan.local.
ns1 IN A 192.168.1.10
pc1 IN A 192.168.1.100
|
VERIFICA DELLA CONFIGURAZIONE
Controlla la sintassi:
0
1
|
sudo named-checkconf
sudo named-checkzone lan.local /etc/bind/db.lan.local
|
RIAVVIO DEL SERVIZIO BIND9
Applicare le modifiche:
0 |
sudo systemctl restart bind9
|
CONFIGURAZIONE DEL CLIENT DNS
Per usare il server DNS, configurare i client (o lo stesso server) per puntare all’IP del server BIND. Su Ubuntu 25.04:
CON SYSTEMD-RESOLVED
0 |
sudo vim /etc/systemd/resolved.conf
|
Modificare:
0
1
2
|
[Resolve]
DNS=192.168.1.10
FallbackDNS=1.1.1.1 8.8.8.8
|
Poi:
0 |
sudo systemctl restart systemd-resolved
|
TEST DI FUNZIONAMENTO
Dal client:
0 |
nslookup pc1.lan.local 192.168.1.10 |
Se configurato correttamente, otterrai la risposta con l’indirizzo IP 192.168.1.100.
0 commenti