Il DNS (Domain Name System) è uno dei pilastri fondamentali di Internet. Senza di esso, invece di scrivere google.com dovremmo ricordare e digitare indirizzi IP come 142.250.190.78. Ma il DNS non serve solo per i siti web pubblici: ha un ruolo importante anche nelle reti private.
1. Cos’è il DNS e come funziona in generale
Il DNS è un sistema distribuito di database gerarchico che traduce i nomi di dominio (es. www.example.com) in indirizzi IP (es. 192.0.2.1) e viceversa.
Il processo di risoluzione avviene attraverso diversi tipi di server:
- Resolver (solitamente del tuo ISP o 8.8.8.8 di Google)
- Root Server
- TLD Server (.com, .it, .net ecc.)
- Authoritative Name Server (il server che “possiede” il dominio)
2. Risoluzione dei nomi Esterni (Public DNS)
Questa è la risoluzione classica che usiamo tutti i giorni:
- Digiti www.example.com nel browser.
- Il resolver contatta i Root Server → TLD Server → Name Server autoritativo del dominio.
- Il Name Server risponde con il record A (IPv4) o AAAA (IPv6).
- Il browser si connette all’indirizzo IP ricevuto.
Record DNS più importanti:
- A / AAAA: indirizzo IP
- CNAME: alias (puntamento a un altro dominio)
- MX: server di posta
- TXT: verifiche (SPF, DKIM, ecc.)
- NS: name server delegati
- PTR: reverse DNS (IP → nome)
I record esterni sono pubblici e vengono propagati su tutto il mondo.
3. Risoluzione dei nomi Interni (Private DNS / Split DNS)
Nelle aziende è molto comune avere una risoluzione diversa per gli stessi nomi a seconda che ci si trovi dentro o fuori dalla rete aziendale.
Esempi comuni:
- intranet.azienda.local → solo visibile nella rete interna
- crm.azienda.com → dall’interno punta al server privato (192.168.10.45)
- crm.azienda.com → dall’esterno punta al server pubblico o al reverse proxy
Questa configurazione si chiama Split DNS o Split Horizon DNS.
Come si realizza:
- Server DNS interno (Windows Active Directory, BIND, Unbound, PowerDNS, ecc.)
- Zone Forward o Stub Zone
- View in BIND (configurazione che risponde in modo diverso in base all’IP del client)
- Regole sul firewall o sul resolver dei client
4. La Propagazione DNS (TTL e Cache)
La propagazione è il tempo che passa tra quando modifichi un record DNS e quando tutti i resolver del mondo lo vedono aggiornato.
Fattori che influenzano la propagazione:
- TTL (Time To Live): è il valore (in secondi) che indica per quanto tempo un resolver può tenere in cache quel record.
- TTL basso (es. 300 secondi = 5 minuti) → propagazione più veloce
- TTL alto (es. 86400 = 24 ore) → propagazione più lenta ma minor carico sui server
- Cache dei resolver (ISP, Google, Cloudflare, ecc.)
- Cache locali dei sistemi operativi e browser
Esempio pratico: Se imposti un TTL di 3600 (1 ora) e modifichi il record A, alcuni resolver potrebbero continuare a vedere il vecchio IP fino a un massimo di 1 ora.
Best Practice per cambiamenti importanti (migrazione server, cambio IP, ecc.):
- Abbassa il TTL a 300-600 secondi 24-48 ore prima della modifica.
- Effettua la modifica.
- Aspetta che il TTL vecchio scada.
- Rimetti il TTL alto.
5. Strumenti utili per verificare
- nslookup / dig
- https://dns.google
- https://www.whatsmydns.net (mostra la propagazione mondiale)
- https://mxtoolbox.com
Comando utile:
Bash
dig www.example.com
dig +short example.com
nslookup intranet.azienda.local 192.168.1.10
Conclusione
Il DNS è semplice nel concetto ma complesso nella gestione reale. Distinguere tra risoluzione esterna (pubblica) e interna (Split DNS) è fondamentale per sicurezza, prestazioni e flessibilità nelle reti aziendali. Capire il meccanismo della propagazione e il ruolo del TTL aiuta a evitare downtime durante le migrazioni o i cambiamenti infrastrutturali.
