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