Gemenskapslösning

ZimaOS manuell DNS: Undvik en självhostad DNS-beroendeloop

A ZimaOS host used its own AdGuard container as the only manually configured DNS resolver, causing the AdGuard image update to fail when DNS disappeared.

Slutsats: Gör inte ZimaOS beroende av en AdGuard-container som körs på samma ZimaOS-värd som enda DNS-resolver

Uppdateringen misslyckades av en förutsägbar anledning: ZimaOS behövde DNS för att hämta den nya AdGuard-avbildningen, men den enda konfigurerade DNS-servern var AdGuard-containern som höll på att startas om eller ersättas. Det skapar ett cirkulärt beroende. Ett andra DNS-fält skulle förbättra motståndskraften, men arkitekturen bör inte förlita sig på att tjänsten som uppdateras ska kunna slå upp uppdateringsservern.

Den aktuella ZimaOS-dokumentationen beskriver fortfarande ett enda manuellt DNS-serverfält

Nätverkskonfigurationsguiden för ZimaOS från september 2026 beskriver manuellt läge som IP-adress, nätmask, gateway och DNS-server i singular. Den offentliga guiden dokumenterar för närvarande inte flera DNS-poster i gränssnittet, så anta inte att funktionsförfrågan från 2025 har implementerats.

Använd en oberoende resolver för ZimaOS-värden

En ren design är:

  • ZimaOS-värd → router/ISP/Cloudflare/annan oberoende resolver.
  • LAN-klienter → AdGuard Home för filtrering.
  • AdGuard uppströms → de resolvers du litar på.

Det innebär att AdGuard kan startas om eller uppgraderas utan att värden förlorar möjligheten att slå upp Docker-register och fjärrtjänster.

Maskinvaruguiden för AdGuard Home beskriver appens roll, medan DNS-guiden för Pi-hole förstärker samma åtskillnad mellan DNS-filtrering för klienter och beroenden i värdens infrastruktur.

Sekundär DNS innebär inte alltid strikt redundans

Många operativsystem och resolvers kan fråga flera konfigurerade DNS-servrar i stället för att behandla den andra som ”endast om den första är nere”. Om alla klienter måste filtreras kan klienter därför få en offentlig resolver som sekundär och låta vissa frågor kringgå AdGuard. Placera redundansen bakom filtreringslagret eller använd den oberoende resolvern endast på infrastruktursvärdar.

Referenser till offentliga resolvers

Cloudflare dokumenterar sina resolveradresser för 1.1.1.1, och Google dokumenterar konfiguration av Google Public DNS. Använd den som bäst motsvarar dina krav på integritet, filtrering och tillgänglighet.

Snabbtest innan du uppdaterar en lokal DNS-container

nslookup registry-1.docker.io
nslookup github.com

Stoppa sedan AdGuard-containern tillfälligt och upprepa uppslagningen från ZimaOS-värden. Om DNS slutar fungera har värden fortfarande ett cirkulärt beroende som kan göra att nästa uppdatering av DNS-containern misslyckas.