ERR_NAME_NOT_RESOLVED: co to znamená a jak to opravit
ERR_NAME_NOT_RESOLVED znamená, že prohlížeč se DNS resolveru zeptal na IP adresu webu a nedostal zpátky žádnou použitelnou odpověď. To může znamenat, že resolver nevrátil nic, časově vypršel, nebo vrátil odpověď, kterou prohlížeč odmítl, což je širší stav než "tahle doména neexistuje".
Co znamená ERR_NAME_NOT_RESOLVED
Než se prohlížeč může k čemukoli připojit, přemění název hostitele na IP adresu přes DNS. ERR_NAME_NOT_RESOLVED je sběrná kategorie Chrome pro situaci, kdy tohle vyhledání nějak selže jinak než potvrzeným neexistujícím názvem: resolver neodpověděl včas, vrátil prázdnou nebo poškozenou odpověď, nebo se vlastní síťový stack prohlížeče k žádnému resolveru vůbec nedostal.
Tohle se snadno plete s DNS_PROBE_FINISHED_NXDOMAIN, což je užší, konkrétnější případ. NXDOMAIN znamená, že resolver jasně odpověděl: tenhle název v zóně neexistuje. ERR_NAME_NOT_RESOLVED znamená, že samotné vyhledání selhalo, nebo se vrátilo bez čehokoli použitelného, což zahrnuje rozbitý resolver, timeout, síť bez jakéhokoli přístupu k DNS, nebo pokažené lokální přepsání DNS. Pokud už víte, že doména dřív fungovala a na samotné doméně se nic nezměnilo, ERR_NAME_NOT_RESOLVED ukazuje spíš na cestu překladu než na vlastní záznamy domény.
Jak se chyba projevuje
Chrome a Edge zobrazí "This site can't be reached - example.com's server IP address could not be found. Try running Windows Network Diagnostics." s kódem ERR_NAME_NOT_RESOLVED. Firefox zobrazí "Hmm. We're having trouble finding that site" se zprávou "we can't connect to the server at example.com."
dig ukáže, co vrací konkrétní resolver, a +trace projde celý řetězec od kořene dolů:
dig example.com A
;; ANSWER SECTION:
example.com. 300 IN A 203.0.113.10
dig +trace example.com
; <<>> DiG 9.18 <<>> +trace example.com
. 518400 IN NS a.root-servers.net.
...
com. 172800 IN NS a.gtld-servers.net.
...
example.com. 300 IN A 203.0.113.10
nslookup je rychlejší kontrola zdravého rozumu, když potřebujete jen odpověď ano, nebo ne:
nslookup example.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Name: example.com
Address: 203.0.113.10
Pokud kterýkoli z příkazů časově vyprší, vrátí SERVFAIL, nebo v ANSWER SECTION nevrátí nic, vyhledání skutečně selhalo, což je odlišné od odpovědi NXDOMAIN, která by jasně řekla "no such name".
Co způsobuje ERR_NAME_NOT_RESOLVED
- Chybějící záznam A nebo AAAA. Doména se přeloží pro jiné typy záznamů, nebo zóna existuje, ale pro požadovaný název hostitele není zveřejněný žádný adresní záznam (včetně chybějícího záznamu pro konkrétní subdoménu, i když kořenová doména funguje).
- Vypršelá registrace domény. Jakmile doména propadne, její jmenné servery obvykle přestanou odpovídat úplně, což vyprodukuje přesně tuhle chybu místo čistého NXDOMAIN.
- Výpadek nebo špatná konfigurace jmenného serveru. Pokud jsou autoritativní jmenné servery domény nedostupné, nebo vrací poškozené odpovědi, každý resolver, který se pro tuhle doménu snaží odpovědět, selže stejným způsobem.
- Selhání validace DNSSEC. Validující resolver, který nedokáže ověřit podpis DNSSEC (vypršelý podpis, rozbitý řetězec důvěry), odmítne vrátit odpověď vůbec, místo aby vrátil něco, čemu nemůže věřit.
- Vlastní resolver návštěvníka je nedostupný, běžně u rozbité VPN, captive portálu Wi-Fi, nebo špatně nastaveného routeru mířícího na DNS server, který už neexistuje.
- Poškozená lokální cache DNS na počítači návštěvníka, která drží zastaralý nebo rozbitý záznam z doby předtím, než byla doména správně nastavena.
Jak zjistit, čí je to chyba
Dotažte se přímo na veřejný resolver, například dig example.com @8.8.8.8, a obejděte tak to, co je nastavené v lokální síti. Pokud selže i to, problém je ve vlastním nastavení DNS domény, ne v síti návštěvníka. DNS vyhledání spuštěné z více míst tohle zjistí okamžitě: konzistentní selhání všude ukazuje na jmenné servery nebo registraci domény, zatímco selhání jen z jednoho místa nebo resolveru ukazuje na něco lokálního u toho konkrétního pozorovacího bodu.
Jak opravit ERR_NAME_NOT_RESOLVED
Pokud jste návštěvník
- Vymažte lokální cache DNS. Na Windows:
ipconfig /flushdns. Na macOS:sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder. Na Linuxu se systemd-resolved:sudo resolvectl flush-caches. - Přepněte na veřejný DNS resolver, jako 8.8.8.8 nebo 1.1.1.1, v nastavení sítě, dočasně místo toho, co ve výchozím stavu poskytuje váš poskytovatel internetu nebo router.
- Zkontrolujte soubor hosts (
/etc/hostsna macOS/Linuxu,C:\Windows\System32\drivers\etc\hostsna Windows) kvůli zastaralému ručnímu záznamu přepisujícímu doménu. - Odpojte se od VPN a zkuste to znovu; některé klienty VPN směrují DNS přes resolver, který je sám nedostupný nebo špatně nastavený.
- Restartujte router, pokud se na dané síti nepřekládá žádný web, ne jen jeden.
Pokud web provozujete
- Ověřte, že existuje záznam A/AAAA pro přesný název hostitele, který návštěvníci používají, včetně jakékoli subdomény:
dig www.example.com Aadig example.com Ajsou dvě samostatná vyhledání. - Zkontrolujte registraci domény a stav vypršení u svého registrátora; neočekávaně vypršelá doména je běžná a snadno přehlédnutelná příčina.
- Ověřte, že jmenné servery uvedené u registrátora odpovídají těm, které zónu skutečně obsluhují, a že odpovídají:
dig NS example.coma pak přímý dotaz na každý vrácený jmenný server. - Pokud používáte DNSSEC, ověřte řetězec pomocí
dig +dnssec example.coma zkontrolujte vypršelý záznam RRSIG, což je častá a vlastní vinou způsobená příčina selhání překladu. - Spusťte
dig +trace, abyste přesně viděli, kde v řetězci od kořene po autoritativní server se překlad rozpadá, místo abyste hádali.
Související chyby
- DNS_PROBE_FINISHED_NXDOMAIN je sesterská chyba pro potvrzenou odpověď "tento název neexistuje", ne pro selhané nebo prázdné vyhledání.
- Šíření DNS vysvětluje, proč se čerstvě změněný záznam může nějakou dobu správně překládat u některých resolverů a u jiných ne.
Jak předejít ERR_NAME_NOT_RESOLVED
Selhání DNS je zevnitř snadné přehlédnout, protože stabilní firemní síť a její cachované záznamy mohou fungovat dál dlouho poté, co návštěvníkům jinde už selhává. DNS kontrola běžící z více než 300 kontrolních bodů ve 158 městech zachytí výpadek jmenného serveru, vypršující registraci, nebo rozbitý záznam ve chvíli, kdy začne ovlivňovat překlad, místo až po zaplnění schránky podpory. HostTracker monitoruje weby od roku 2004 a upozorňuje e-mailem, SMS, hlasovým hovorem, přes Slack, Telegram a další.
Často kladené otázky
Jaký je rozdíl mezi ERR_NAME_NOT_RESOLVED a DNS_PROBE_FINISHED_NXDOMAIN?
NXDOMAIN je jednoznačná odpověď: resolver zkontroloval a název v zóně neexistuje. ERR_NAME_NOT_RESOLVED je širší a pokrývá vyhledání, které selhalo, časově vypršelo, nebo se vrátilo bez čehokoli použitelného, což zahrnuje i případy, kdy doména existuje, ale její jmenné servery jsou nedostupné.
Může tuhle chybu způsobit vypršelá doména?
Ano, a je to jedna z častějších příčin. Jakmile doména propadne, její jmenné servery obvykle zhasnou, takže každé vyhledání pro ni selže, místo aby vrátilo čistou odpověď "neexistuje".
Proč mi web funguje na mobilních datech telefonu, ale ne na domácí Wi-Fi?
To ukazuje na resolver, který používá vaše domácí síť, buď nastavený DNS server routeru, nebo resolver poskytovatele internetu. Přepnutí na veřejný resolver jako 1.1.1.1 na postižené síti to obvykle potvrdí i opraví.
Právě jsem přidal novou subdoménu a nepřekládá se. Proč?
Nový záznam se po vytvoření musí rozšířit přes cache DNS, a taky musí skutečně existovat: nejdřív potvrďte pomocí dig subdomain.example.com A přímo proti autoritativnímu jmennému serveru, než předpokládáte, že jde jen o zpoždění šíření.
Může tuhle chybu způsobit DNSSEC u domény, která je jinak v pořádku?
Ano. Pokud podpisy DNSSEC vyprší nebo se rozbije řetězec důvěry, validující resolver odmítne odpovědět, místo aby vrátil data, kterým nemůže věřit, což vypadá ze strany návštěvníka úplně stejně jako selhání překladu.