Så testar du om DNS orsakar anslutningsfel i Home Assistant

Eva Wong är Teknisk skribent och den boende fixaren på ZimaSpace. En livslång nörd med en passion för hemma-labb och öppen källkod, hon specialiserar sig på att översätta komplexa tekniska koncept till tillgängliga, praktiska guider. Eva tror att självhosting ska vara roligt, inte skrämmande. Genom sina handledningar ger hon gemenskapen verktyg att avmystifiera hårdvaruinstallationer, från att bygga sin första NAS till att bemästra Docker-containrar.

DNS är en stark misstänkt orsak när Home Assistant kan nå en tjänst via IP-adress men misslyckas via värdnamn, när fel uttryckligen nämner namnupplösning eller DNS-timeouter, eller när samma värdnamn fungerar olika från olika nätverk. Det bevisas inte av ett generiskt meddelande om att anslutningen misslyckades.

Testa DNS från den dator och nätverksväg där felet faktiskt uppstår. Att en bärbar dator löser upp ett värdnamn korrekt bevisar inte att Home Assistant-värden, containern, mobilappen eller den lokala resolvern får samma svar.

Börja med det exakta värdnamnet i felmeddelandet

Läs Home Assistant-loggen eller Companion-felet och skriv ner det exakta värdnamnet, inte bara integrationsnamnet. En nekad anslutning, ett TLS-fel, en timeout och ett DNS-upplösningsfel tillhör olika lager.

Home Assistants aktuella anslutningsvägledning säger att routrar, DNS, DHCP, enheter som inte kan nås och otillgängliga tjänster är vanliga orsaker till anslutningsfel. Formuleringen i loggen bör begränsa vilken gren du ska testa härnäst.

Om felet redan säger ”name or service not known”, ”temporary failure in name resolution” eller en DNS-timeout, går du direkt vidare till resolvertester. Om det står ”connection refused” kan DNS redan ha fungerat, och den fjärranslutna tjänsten eller porten är då en mer sannolik misstänkt.

Kör DNS-tester från den berörda Home Assistant-vägen

Använd dig eller nslookup från Home Assistant-värden, containern eller ett annat system som använder samma resolver. Jämför de returnerade adresserna med vad du förväntar dig att värdnamnet ska representera.

Felsökningsguiden för Companion rekommenderar att använda dig och nslookup när Home Assistant rapporterar en timeout vid uppslagning av ett värdnamn. Ett misslyckat uppslag från den berörda datorn är mycket starkare bevis än ett lyckat uppslag från en annan klient.

Upprepa testet flera gånger om felet är intermittent. En resolver som lyckas en gång men får timeout vid var tionde begäran kan fortfarande skapa opålitliga integrationer.

Jämför åtkomst via värdnamn med åtkomst via direkt IP-adress

När det är säkert och meningsfullt för tjänsten kan du testa destinationen med dess kända IP-adress. Om IP-vägen fungerar upprepade gånger medan värdnamnsvägen misslyckas pekar bevisen mot DNS eller värdnamnsspecifik routing.

Betrakta inte detta som ett absolut bevis för HTTPS- eller virtuella värdtjänster. TLS-certifikat, omvända proxyservrar och Host-rubriker kan kräva värdnamnet även när den underliggande IP-adressen är nåbar.

ZimaSpaces guide om intermittenta DNS-fel i egenhostade applikationer utökar detta test genom att skilja mellan resolverfördröjning, inaktuella svar, delad DNS och containerspecifika resolvervägar.

Kontrollera både A- och AAAA-svar

Ett värdnamn kan lösas upp korrekt och ändå välja en oanvändbar adressfamilj. Det kan till exempel finnas en AAAA-post medan IPv6-routingen är trasig, vilket orsakar långa väntetider innan systemet faller tillbaka till IPv4.

Home Assistants DNS-diagnostik lyfter uttryckligen fram DNS-serverfel och felaktig hantering av A- och AAAA-begäranden. I Home Assistant OS visar samma diagnostik resolverns status och alternativ för reserv-DNS.

Jämför A- och AAAA-resultaten separat och testa sedan anslutningen via den returnerade adressfamiljen. Inaktivera inte IPv6 globalt bara för att ett värdnamn är trasigt; bevisa först vilken väg som fallerar.

Jämför intern och extern DNS när felet beror på plats

Om ett Home Assistant-värdnamn fungerar via mobildata men inte via hemmets Wi-Fi, eller fungerar inne på det lokala nätverket men inte på distans, jämför DNS-svaret från båda platserna. Delad DNS kan avsiktligt returnera en privat adress internt och en offentlig adress eller tunneladress externt.

Kontrollera DNS-överskrivningar i routern, omskrivningar i Pi-hole eller AdGuard, mDNS-namn, lokala sökdomäner, offentliga DNS-poster och inaktuella cachelagrade svar. En korrekt offentlig post kan inte rätta en felaktig intern överskrivning, och en korrekt post i det lokala nätverket gör inte en privat adress nåbar från internet.

Ändra en resolvervariabel i taget. En tillfällig offentlig resolver kan vara användbar för diagnostik av offentliga namn, men att hårdkoda offentlig DNS är ingen lösning när värdnamnet ska lösas upp till en privat lokal tjänst.

Vanliga frågor

Om Home Assistant fungerar via IP men inte via värdnamn, är DNS definitivt problemet?

Det är starka bevis, men inget absolut bevis. HTTPS-certifikat, omvända proxyservrar, virtuella värdar och routingregler kan fungera annorlunda när du kringgår värdnamnet. Bekräfta DNS-svaret och applikationsvägen tillsammans.

Bör jag permanent byta Home Assistant till 8.8.8.8 eller 1.1.1.1?

Inte automatiskt. Offentliga resolvrar är användbara för att testa offentliga namn, men de kan inte lösa privata poster i delad DNS om posterna inte avsiktligt publiceras någon annanstans. Åtgärda den resolver som ska vara auktoritativ för det felande namnet.

Support och tips

Mer att läsa

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.