Come verificare se il DNS sta causando problemi di connessione a Home Assistant

Eva Wong è la Technical Writer e smanettatrice residente di ZimaSpace. Una geek da sempre con una passione per homelab e software open-source, si specializza nel tradurre concetti tecnici complessi in guide accessibili e pratiche. Eva crede che l'auto-ospitare debba essere divertente, non intimidatorio. Attraverso i suoi tutorial, dà potere alla comunità di demistificare le configurazioni hardware, dalla costruzione del loro primo NAS al dominio dei container Docker.

Il DNS è un forte indiziato quando Home Assistant riesce a raggiungere un servizio tramite indirizzo IP ma non tramite hostname, quando gli errori menzionano esplicitamente la risoluzione dei nomi o timeout DNS, oppure quando lo stesso hostname si comporta in modo diverso su reti differenti. Un generico messaggio “connessione non riuscita”, da solo, non è sufficiente per dimostrarlo.

Esegui i test DNS dalla macchina e dal percorso di rete in cui si verifica effettivamente il problema. Il fatto che un laptop risolva correttamente un hostname non dimostra che l’host di Home Assistant, il container, l’app mobile o il resolver locale ricevano la stessa risposta.

Inizia dall’hostname esatto indicato nell’errore

Leggi il log di Home Assistant o l’errore dell’app Companion e annota l’hostname esatto, non solo il nome dell’integrazione. Un rifiuto della connessione, un errore TLS, un timeout e un errore di ricerca DNS appartengono a livelli diversi.

Le attuali indicazioni di Home Assistant sulla connessione spiegano che router, DNS, DHCP, dispositivi irraggiungibili e servizi non disponibili sono cause comuni degli errori di connessione. Il testo del log dovrebbe aiutarti a determinare quale ramo verificare successivamente.

Se l’errore indica già “nome o servizio sconosciuto”, “errore temporaneo nella risoluzione dei nomi” o un timeout DNS, passa direttamente ai test del resolver. Se indica “connessione rifiutata”, la risoluzione DNS potrebbe essere già riuscita e il servizio remoto o la porta sono i sospetti principali.

Esegui i test DNS dal percorso Home Assistant interessato

Usa dig o nslookup dall’host di Home Assistant, dal container o da un altro sistema che utilizza lo stesso resolver. Confronta gli indirizzi restituiti con quelli che ti aspetti rappresenti l’hostname.

La guida alla risoluzione dei problemi di Companion consiglia di usare dig e nslookup quando Home Assistant segnala un timeout durante la ricerca di un hostname. Una ricerca non riuscita dalla macchina interessata è una prova molto più significativa rispetto a una ricerca riuscita da un client diverso.

Ripeti il test più volte se il problema è intermittente. Un resolver che riesce una volta ma va in timeout a ogni decima richiesta può comunque rendere inaffidabili le integrazioni.

Confronta la raggiungibilità tramite hostname con quella tramite IP diretto

Quando è sicuro e significativo per il servizio, prova a raggiungere la destinazione tramite il suo indirizzo IP noto. Se il percorso tramite IP funziona ripetutamente mentre quello tramite hostname non funziona, gli indizi puntano al DNS o a un instradamento specifico per l’hostname.

Non considerarlo una prova assoluta per i servizi HTTPS o basati su host virtuali. I certificati TLS, i proxy inversi e gli header Host possono richiedere l’hostname anche quando l’IP sottostante è raggiungibile.

La guida di ZimaSpace sui problemi DNS intermittenti nelle applicazioni self-hosted amplia questo test distinguendo tra latenza del resolver, risposte obsolete, DNS split-horizon e percorsi del resolver specifici dei container.

Controlla entrambe le risposte A e AAAA

Un hostname può essere risolto correttamente e scegliere comunque una famiglia di indirizzi inutilizzabile. Ad esempio, potrebbe esistere un record AAAA mentre l’instradamento IPv6 non funziona, causando lunghe attese prima del fallback a IPv4.

La diagnostica DNS di Home Assistant richiama esplicitamente i problemi dei server DNS e la gestione errata delle richieste A e AAAA. Su Home Assistant OS, la stessa diagnostica mostra lo stato del resolver e le opzioni per il DNS di fallback.

Confronta separatamente i risultati A e AAAA, quindi verifica la connettività tramite la famiglia di indirizzi restituita. Non disabilitare globalmente IPv6 solo perché un hostname non funziona; verifica prima il percorso che causa il problema.

Confronta il DNS interno ed esterno quando il problema dipende dalla posizione

Se un hostname di Home Assistant funziona tramite rete mobile ma non tramite il Wi-Fi di casa, oppure funziona all’interno della LAN ma non da remoto, confronta la risposta DNS ottenuta dalle due posizioni. Il DNS split-horizon può restituire intenzionalmente un indirizzo privato all’interno della rete e un indirizzo pubblico o del tunnel all’esterno.

Controlla le sostituzioni DNS del router, le riscritture di Pi-hole o AdGuard, i nomi mDNS, i domini di ricerca locali, i record DNS pubblici e le cache obsolete. Un record pubblico corretto non può correggere una sostituzione interna errata, così come un record LAN corretto non può rendere raggiungibile da Internet un indirizzo privato.

Modifica una sola variabile del resolver alla volta. Un resolver pubblico temporaneo può essere utile per diagnosticare i nomi pubblici, ma impostare DNS pubblici in modo permanente non risolve il problema quando l’hostname dovrebbe puntare a un servizio locale privato.

FAQ

Se Home Assistant funziona tramite IP ma non tramite hostname, il problema è sicuramente il DNS?

È un indizio forte, ma non una prova assoluta. Certificati HTTPS, proxy inversi, host virtuali e regole di instradamento possono comportarsi diversamente quando si aggira l’hostname. Conferma insieme la risposta DNS e il percorso dell’applicazione.

Devo passare permanentemente Home Assistant a 8.8.8.8 o 1.1.1.1?

Non automaticamente. I resolver pubblici sono utili per testare i nomi pubblici, ma non possono risolvere i record DNS split-horizon privati a meno che tali record non siano pubblicati intenzionalmente altrove. Correggi il resolver che dovrebbe essere autorevole per il nome interessato.

Supporto e consigli

Altro da leggere

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.