Přejít na hlavní obsah

Návody / Opravte to: návody na chyby, se kterými se lidé skutečně setkávají

Jak opravit DNS server not responding

"DNS server not responding" znamená, že vaše zařízení odeslalo dotaz na název a nedostalo zpět vůbec nic, než dotaz vypršel. Windows Network Diagnostics tuto hlášku vypíše po neúspěšném testu připojení. Název může být naprosto platný; resolver, který ho měl přeložit, prostě neodpověděl.

Co chyba znamená

Každé připojení začíná vyhledáním. Vaše zařízení odešle název hostitele resolveru, obvykle vašemu routeru, poskytovateli internetu nebo veřejné službě jako 1.1.1.1, a čeká na IP adresu. Pokud odpověď nedorazí do vypršení časového limitu, operační systém to zkusí znovu, vyzkouší sekundární server a nakonec to vzdá. Windows pak spustí svůj řešitel potíží, který nahlásí, že server DNS neodpovídá.

Formulace míří na server, ale ve skutečnosti jde o výpověď o celé cestě. Každá z těchto příčin vyvolá stejnou hlášku: resolver je nedostupný, resolver běží, ale z vaší sítě je nedosažitelný, firewall zahazuje port 53, adresa nastavená na vašem adaptéru je špatná, nebo router uprostřed cesty přestal přeposílat. Mlčení vypadá ve všech pěti případech stejně.

Než začnete, odlište ji od podobných chyb. Resolver, který odpoví "žádný takový název neexistuje", dává NXDOMAIN, popsaný v DNS_PROBE_FINISHED_NXDOMAIN. Resolver, který odpovídá pomalu, ale správně, je zase jiný problém a má vlastní sekci níže. Tato chyba je případ, kdy se nevrátí vůbec nic.

Proč k tomu dochází

  • Router přestal přeposílat. Spotřebitelské routery provozují malý DNS forwarder, který se zasekává častěji než zbytek zařízení, takže síť vypadá jako online a selhávají jen vyhledávání názvů.
  • Nastavený server DNS je špatný. Statická adresa zbylá ze staré sítě, nebo server, který byl vyřazen z provozu.
  • Resolver poskytovatele internetu má výpadek nebo je přetížený a dotazy zahazuje, místo aby na ně odpovídal.
  • Firewall nebo bezpečnostní balík blokuje port 53. Některé produkty samy zachytávají DNS a při vlastním výpadku odmítají spojení.
  • VPN je připojena jen napůl. Tunel vnutil vašemu adaptéru své interní resolvery a pak spadl, takže zůstaly adresy dosažitelné jen uvnitř tunelu.
  • IPv6 je nastavené, ale nepoužitelné. Systém upřednostní resolver IPv6, nemá k němu trasu a čeká na vypršení časového limitu, než se vrátí zpět.
  • Služba Windows DNS Client je zastavená nebo je poškozená její cache.
  • Malware nebo nechtěná aplikace změnily resolver na adresu, kterou ovládají a která pak zmizí.
  • Síť vyžaduje přihlášení přes captive portál, ke kterému ještě nedošlo, takže veškeré odchozí DNS dotazy jsou pohlceny.

Jak to opravit

Než sáhnete na nastavení DNS, zjistěte, zda funguje síť samotná. ping 1.1.1.1 nepoužívá žádné rozlišování názvů. Pokud selže i toto, máte problém s připojením, ne s DNS. Pokud uspěje, zatímco ping example.com selže, je DNS potvrzeno jako rozbitá součást a platí kroky níže.

Windows

  1. Vyprázdněte cache a restartujte klientskou službu:
    ipconfig /flushdns
    net stop dnscache
    net start dnscache
  2. Zjistěte, co používá váš adaptér: ipconfig /all | findstr /C:"DNS Servers"
  3. Nastavte místo něj veřejný resolver: netsh interface ipv4 set dnsservers name="Wi-Fi" static 1.1.1.1 primary
  4. Otestujte tento konkrétní server přímo: nslookup example.com 1.1.1.1
  5. Pokud nic nepomůže, resetujte zásobník a restartujte počítač:
    netsh int ip reset
    netsh winsock reset
  6. Pokud počítač nemá funkční IPv6, odškrtněte ho na adaptéru a otestujte znovu.

macOS

  1. Vyprázdněte cache: sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
  2. Přečtěte si používané resolvery: scutil --dns | grep nameserver
  3. Nahraďte je: sudo networksetup -setdnsservers Wi-Fi 1.1.1.1 1.0.0.1
  4. Vraťte se k tomu, co poskytuje DHCP: sudo networksetup -setdnsservers Wi-Fi empty

Linux

  1. Zkontrolujte stav a vyprázdněte cache: resolvectl status, poté sudo resolvectl flush-caches
  2. Dotažte se na jeden server přímo, abyste viděli, zda vůbec odpovídá: dig @1.1.1.1 example.com +short
  3. Změňte resolver na připojení místo úpravy /etc/resolv.conf, který se obvykle generuje automaticky:
    nmcli con mod "Wired connection 1" ipv4.dns "1.1.1.1 1.0.0.1"
    nmcli con mod "Wired connection 1" ipv4.ignore-auto-dns yes
    nmcli con up "Wired connection 1"
  4. Pokud je zaseknutý, restartujte stub resolver: sudo systemctl restart systemd-resolved

Router

  1. Vypněte a zapněte ho a před testováním počkejte, až se obnoví spojení WAN.
  2. Pokud je podezřelý resolver poskytovatele internetu, v administraci nastavte servery DNS pro WAN na veřejnou dvojici místo "získat automaticky".
  3. Aktualizujte firmware. Chyby v DNS forwarderu jsou běžným důvodem, proč je router potřeba restartovat každých pár týdnů.
  4. Otestujte ho obejitím: připojte telefon k mobilním datům a přeložte stejný název. Úspěch tam zúží problém na vaši síť.

Prohlížeč

  1. Chrome, Edge a Firefox umí posílat DNS přes HTTPS na vlastního poskytovatele, nezávisle na systémovém nastavení. Pokud prohlížeč selže, zatímco dig uspěje, vypněte v nastavení soukromí prohlížeče zabezpečené DNS a otestujte znovu.
  2. Vymažte interní cache Chromu na chrome://net-internals/#dns.

Když je vyhledávání pomalé, ne rozbité

Ne každá stížnost na DNS je selhání. Pokud se stránky nakonec načtou, ale na sekundu nebo dvě se zaseknou, než se něco stane, resolver odpovídá, jen pozdě, a výše uvedené opravy toho moc nezmění. Než začnete hádat, změřte to:

dig example.com | grep "Query time"
dig @1.1.1.1 example.com | grep "Query time"

Cokoli v jednotkách nebo nízkých desítkách milisekund z teplé cache je normální. Několik set milisekund, nebo hodnota divoce se měnící mezi jednotlivými běhy, znamená, že resolver je daleko, přetížený, nebo vyprší časový limit na prvním serveru a přepne na druhý. To je jiná diagnóza s jinými opravami, popsaná v jak opravit pomalé vyhledávání DNS.

Zkontrolujte to zvenčí

Všechno dosud předpokládá, že chyba je blízko vás, což bývá pravda nejčastěji. Než tomu věnujete celé odpoledne, ověřte si to. Zeptejte se resolveru, který s vaší sítí nemá nic společného, zda se název přeloží:

dig @8.8.8.8 example.com +short
dig @9.9.9.9 example.com +short
nslookup example.com 1.1.1.1

Odpověď od nich, zatímco váš vlastní resolver mlčí, dokazuje, že doména je v pořádku a problém je na vaší straně. Mlčení od všech tří přesune pozornost na vlastní jmenné servery domény, které mohou být nedostupné, nebo nedosažitelné z části internetu.

Dosažitelnost jmenného serveru není celosvětově stejná. Spusťte kontrolu DNS dotazu, abyste stejné vyhledávání odeslali z kontrolních bodů v různých zemích a porovnali odpovědi vedle sebe. Pokud v některých lokalitách přijde výsledek a v jiných vyprší časový limit, díváte se na problém se směrováním nebo poskytovatelem postihující region, ne na rozbitý záznam, a žádné vyprazdňování cache na vašem notebooku vám to neukáže.

Když vlastní jmenný server ztichne

Jmenný server, který ztichne, položí web stejně úplně jako mrtvý webový server, a udělá to, aniž by se v přístupovém logu objevil jediný řádek. Nikdo se vám neozve, protože se k vám vůbec nedostane. HostTracker spouští naplánované kontroly z více než 300 kontrolních bodů ve 158 městech napříč 13 typy monitorů, takže název, který přestane překládat v jednom regionu, zachytí kontrolní body tam, ne e-mail od zákazníka. Zbytek této sekce je v sekci oprav, a pokud je otázka, zda se nedávná změna DNS už dostala ke všem, na to odpovídá jak zkontrolovat šíření DNS.

Zkontrolovat hned

Spusťte bezplatnou kontrolu na svém webu - bez registrace.

Dns query

Sledovat trvale

Dostanete upozornění ve chvíli, kdy něco přestane fungovat: HostTracker kontroluje z více než 300 lokalit a upozorní vás e-mailem, SMS, přes Slack, Telegram a další.

Funkce HostTracker

Více v této sekci: Opravte to: návody na chyby, se kterými se lidé skutečně setkávají