Como testar se o DNS está a causar falhas de ligação ao Home Assistant

Eva Wong é a Redatora Técnica e e entusiasta residente na ZimaSpace. Uma geek de longa data com paixão por homelabs e software de código aberto, ela é especialista em traduzir conceitos técnicos complexos em guias acessíveis e práticos . Eva acredita que o auto-hospedagem deve ser divertida, não intimidante. Através dos seus tutoriais, ela capacita a comunidade adesmistificar configurações de hardware , desde a construção do seu primeiro NAS até dominar os contêineres Docker., from building their first NAS to mastering Docker containers.

O DNS é um forte suspeito quando o Home Assistant consegue aceder a um serviço através do endereço IP, mas falha através do nome do anfitrião, quando os erros mencionam explicitamente a resolução de nomes ou tempos limite de DNS, ou quando o mesmo nome do anfitrião se comporta de forma diferente em redes distintas. Isto não fica provado apenas por uma mensagem genérica de «falha de ligação».

Teste o DNS a partir da máquina e do percurso de rede onde a falha ocorre efetivamente. O facto de um portátil resolver corretamente um nome do anfitrião não prova que o anfitrião do Home Assistant, o contentor, a aplicação móvel ou o resolvedor local obtenham a mesma resposta.

Comece pelo Nome do Anfitrião Exato Indicado no Erro

Leia o registo do Home Assistant ou o erro do Companion e anote o nome do anfitrião exato, não apenas o nome da integração. Uma recusa de ligação, um erro de TLS, um tempo limite e uma falha de pesquisa DNS pertencem a camadas diferentes.

As orientações atuais do Home Assistant para ligações indicam que os routers, o DNS, o DHCP, os dispositivos inacessíveis e os serviços indisponíveis são causas comuns de erros de ligação. A redação do registo deverá indicar qual o ramo a testar em seguida.

Se o erro já indicar «name or service not known», «temporary failure in name resolution» ou um tempo limite de DNS, avance diretamente para os testes do resolvedor. Se indicar «connection refused», o DNS poderá já ter funcionado e o serviço remoto ou a porta serão os suspeitos mais prováveis.

Execute Testes de DNS a Partir do Percurso do Home Assistant Afetado

Utilize dig ou nslookup a partir do anfitrião do Home Assistant, do contentor ou de outro sistema que utilize o mesmo resolvedor. Compare os endereços devolvidos com o que espera que o nome do anfitrião represente.

O guia de resolução de problemas do Companion recomenda utilizar dig e nslookup quando o Home Assistant comunica um tempo limite ao procurar um nome do anfitrião. Uma pesquisa falhada na máquina afetada é uma evidência muito mais forte do que uma pesquisa bem-sucedida noutro cliente.

Repita o teste várias vezes se a falha for intermitente. Um resolvedor que funciona uma vez e excede o tempo limite a cada dez pedidos pode, ainda assim, criar integrações pouco fiáveis.

Compare a Acessibilidade pelo Nome do Anfitrião com a Acessibilidade Direta pelo IP

Quando for seguro e fizer sentido para o serviço, teste o destino através do seu endereço IP conhecido. Se o percurso pelo IP funcionar repetidamente enquanto o percurso pelo nome do anfitrião falhar, as evidências apontam para o DNS ou para o encaminhamento específico desse nome.

Não considere isto uma prova absoluta no caso de serviços HTTPS ou alojados em anfitriões virtuais. Os certificados TLS, os proxies inversos e os cabeçalhos Host podem exigir o nome do anfitrião, mesmo quando o IP subjacente está acessível.

O guia da ZimaSpace sobre falhas intermitentes de DNS em aplicações autoalojadas amplia este teste, separando a latência do resolvedor, as respostas obsoletas, o DNS dividido e os percursos de resolução específicos dos contentores.

Verifique as Respostas A e AAAA

Um nome do anfitrião pode ser resolvido com êxito e, ainda assim, escolher uma família de endereços inutilizável. Por exemplo, pode existir um registo AAAA enquanto o encaminhamento IPv6 está avariado, provocando longas esperas antes da mudança para IPv4.

Os diagnósticos de DNS do Home Assistant destacam explicitamente falhas do servidor DNS e o tratamento incorreto de pedidos A e AAAA. No Home Assistant OS, os mesmos diagnósticos mostram o estado do resolvedor e as opções de DNS alternativo.

Compare separadamente os resultados A e AAAA e, em seguida, teste a conectividade através da família de endereços devolvida. Não desative globalmente o IPv6 apenas porque um nome do anfitrião está avariado; comprove primeiro qual é o percurso que falha.

Compare o DNS Interno e Externo Quando a Falha Depende da Localização

Se um nome do anfitrião do Home Assistant funcionar através de dados móveis, mas não através do Wi-Fi de casa, ou funcionar dentro da LAN, mas não remotamente, compare a resposta DNS obtida nos dois locais. O DNS dividido pode devolver intencionalmente um endereço privado no interior e um endereço público ou de túnel no exterior.

Verifique as substituições de DNS do router, as reescritas do Pi-hole ou do AdGuard, os nomes mDNS, os domínios de pesquisa locais, os registos DNS públicos e as caches obsoletas. Um registo público correto não consegue corrigir uma substituição interna errada, e um registo LAN correto não torna um endereço privado acessível a partir da Internet.

Altere uma variável do resolvedor de cada vez. Um resolvedor público temporário pode ser útil para diagnosticar nomes públicos, mas fixar o DNS público não é uma solução quando o nome do anfitrião deveria ser resolvido para um serviço local privado.

Perguntas frequentes

Se o Home Assistant funcionar através do IP, mas não através do nome do anfitrião, o problema é definitivamente o DNS?

É uma evidência forte, mas não uma prova absoluta. Os certificados HTTPS, os proxies inversos, os anfitriões virtuais e as regras de encaminhamento podem comportar-se de forma diferente quando contorna o nome do anfitrião. Confirme em conjunto a resposta DNS e o percurso da aplicação.

Devo mudar permanentemente o Home Assistant para 8.8.8.8 ou 1.1.1.1?

Não automaticamente. Os resolvedores públicos são úteis para testar nomes públicos, mas não conseguem resolver registos DNS divididos privados, a menos que esses registos sejam publicados intencionalmente noutro local. Corrija o resolvedor que deve ser autoritativo para o nome que está a falhar.

Suporte e Dicas

Mais para Ler

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.