⌘ Reti domestiche

Nomi locali in casa: mDNS, .local e il dominio home.arpa

Raggiungere NAS, stampanti e server di casa per nome invece che per IP: come funzionano mDNS e .local, il DNS locale del router e il dominio home.arpa.

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:

  1. mDNS (multicast DNS): ogni dispositivo annuncia da solo il proprio nome con il suffisso .local.
  2. DNS del router: il router registra i nomi dei dispositivi che ricevono un indirizzo tramite DHCP e li risolve per tutta la rete.
  3. 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 .local funzionano senza server, ma solo nella stessa rete.
  • Non usare .local nel 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.
MM
Marco Marzaduri

Marco Marzaduri si occupa di cybersecurity, informatica forense e sviluppo web. Laureato in informatica, unisce il rigore dell'analisi tecnica all'attenzione per le persone che usano la tecnologia.

Leggi anche