Ricordare che il NAS è al 192.168.1.37 e la stampante al 192.168.1.52 funziona finché i dispositivi sono tre. Poi gli indirizzi cambiano, qualcuno sbaglia una cifra e il segnalibro nel browser smette di funzionare. Dare un nome ai dispositivi della rete di casa è più semplice di quanto sembri, ma ci sono alcune scelte da fare con criterio.
Tre modi per avere nomi locali
In una rete domestica i nomi possono arrivare da meccanismi diversi, che spesso convivono:
- mDNS (multicast DNS): ogni dispositivo annuncia da solo il proprio nome con il suffisso
.local. - DNS del router: il router registra i nomi dei dispositivi che ricevono un indirizzo tramite DHCP e li risolve per tutta la rete.
- DNS locale dedicato: un server DNS in casa, spesso lo stesso che filtra la pubblicità, con nomi scelti da te.
mDNS e il suffisso .local
Con mDNS non serve nessun server. Quando un computer cerca nas.local, manda una domanda a tutta la rete locale; il dispositivo che si chiama così risponde con il proprio indirizzo. È il meccanismo usato da Bonjour su macOS e iOS, da Avahi su Linux ed è supportato anche dalle versioni recenti di Windows.
Vantaggi:
- funziona senza configurare nulla;
- è alla base della scoperta automatica di stampanti, casse e dispositivi di streaming.
Limiti:
- funziona solo all'interno della stessa rete: i pacchetti multicast non attraversano router né VLAN senza un ripetitore apposito;
- non tutti i dispositivi lo supportano, soprattutto quelli embedded più vecchi;
- due apparecchi con lo stesso nome generano conflitti, risolti aggiungendo un numero, per esempio
nas-2.local.
Il suffisso .local è riservato a mDNS. Usarlo anche nel DNS normale del router è un errore classico: alcuni sistemi lo instradano solo verso mDNS e ignorano il server DNS, con risultati incoerenti tra un dispositivo e l'altro.
Il DNS del router
Molti router registrano automaticamente il nome che ogni dispositivo comunica quando chiede un indirizzo. Basta digitare il nome breve, per esempio stampante, e il router risponde. È comodo, ma dipende da come ogni dispositivo si presenta: nomi generici come "android-3f2a" o duplicati sono frequenti.
Due accorgimenti migliorano molto la situazione:
- assegna una prenotazione DHCP ai dispositivi importanti, così l'indirizzo non cambia;
- rinomina i dispositivi dall'interfaccia del router o dalle loro impostazioni, scegliendo nomi descrittivi.
Il dominio home.arpa
Se vuoi un DNS locale con nomi completi, serve un suffisso. Per anni si sono usati suffissi inventati come .lan, .home o .casa, con il rischio che un giorno diventassero domini pubblici. Per le reti domestiche esiste un dominio riservato dagli enti di standardizzazione proprio a questo scopo: home.arpa. Non verrà mai assegnato su Internet e i sistemi sanno che va risolto localmente.
Un esempio di schema di nomi:
router.home.arpa 192.168.1.1
nas.home.arpa 192.168.1.10
stampante.home.arpa 192.168.1.20
foto.home.arpa 192.168.1.10
Nel DHCP del router imposta home.arpa come dominio di ricerca: i dispositivi completeranno da soli il nome breve, quindi nas diventerà nas.home.arpa.
Usare un sottodominio del proprio dominio
Un'alternativa valida, se possiedi un dominio, è usare un sottodominio come casa.tuodominio.tld per i nomi interni. Il vantaggio è poter ottenere certificati TLS validi per i servizi di casa tramite la verifica DNS; lo svantaggio è dover gestire con attenzione cosa è pubblico e cosa no.
Mettere ordine: uno schema consigliato
Nel mio lavoro, per una casa con una decina di dispositivi fissi, propongo questa organizzazione:
| Elemento | Scelta |
|---|---|
| Suffisso interno | home.arpa, oppure sottodominio del proprio dominio |
| Dispositivi fissi | Prenotazione DHCP più nome DNS esplicito |
| Dispositivi mobili | Nessun nome fisso, solo DHCP |
| Scoperta automatica | mDNS lasciato attivo per stampanti e casting |
| Documentazione | Tabella aggiornata con nome, IP e funzione |
Verificare che funzioni
Per capire da dove arriva una risposta si possono usare due comandi diversi:
nslookup nas.home.arpa
ping nas.local
Il primo interroga il server DNS configurato; il secondo, su un sistema con supporto mDNS, usa la risoluzione multicast. Se uno funziona e l'altro no, sai quale meccanismo controllare.
In sintesi
- mDNS e
.localfunzionano senza server, ma solo nella stessa rete. - Non usare
.localnel DNS del router: è riservato a mDNS. - Per un DNS locale scegli home.arpa o un sottodominio del tuo dominio.
- Prenotazioni DHCP e nomi descrittivi rendono stabile tutta la rete.
- Usa nslookup e ping per capire quale meccanismo risponde.