Při používání Linux se můžete setkat s dočasným selháním rozlišení názvů při pokusu o přístup na webové stránky, aktualizaci balíčků nebo provádění úloh vyžadujících připojení k internetu. Tato chyba znamená, že váš systém nemůže přeložit název domény na IP adresu, což brání úspěšnému dokončení síťových operací.
Tento problém běžně vychází z problémů s připojením k internetu nebo potíží s konfigurací DNS. Diagnostika a oprava této chyby je jednoduchá a přímá. V této příručce vysvětlíme vše, co potřebujete vědět o vyřešení této chyby v různých distribucích Linux. Budeme se zabývat konkrétními opravami pro Ubuntu 22.04 a 24.04.
Co znamená dočasné selhání rozlišení názvů?
Dočasné selhání rozlišení názvů brání vašemu systému Linux v řádném připojení k internetu. Když k tomu dojde, nemůžete dosáhnout webových stránek nebo používat aplikace, které vyžadují aktivní připojení k internetu.
Funguje jako generická chyba "zkuste znovu" pro DNS. Vyhledávání selhalo někde v řetězci, ať už jde o místní selhání, vypršení času proti proudu nebo problém s ověřením.
Tuto chybu obvykle vidíte při pokusu o ping webové stránky:

ping google.com
ping: google.com: Temporary failure in name resolution
Jak vyřešit chybu "Temporary failure in name resolution"
Existuje více způsobů, jak tuto chybu vyřešit v závislosti na její příčině. Pojďme se podívat na hlavní řešení.
Řešení 1: Kontrola připojení k internetu
Zkontrolujte svůj router a síťové zařízení, abyste se ujistili, že je vše správně nastaveno. Zkuste otevřít další aplikace a potvrďte, že se můžete připojit k internetu.
Základní připojení můžete otestovat příkazem ping na IP adresu:
ping -c 4 8.8.8.8
Tento příkaz pošle čtyři pakety na veřejný server společnosti Google DNS. Pokud obdržíte odpovědi, vaše internetové připojení funguje.
Pokud se zobrazí "Request timed out" nebo "Network unreachable", máte obecný problém s připojením související s DNS.

Pokud se aplikace úspěšně připojují k internetu, přejděte na další řešení.
Řešení 2: Nesprávně nakonfigurovaný soubor resolv.conf
The /etc/resolv.conf soubor obsahuje seznam DNS serverů, které váš systém používá. Pokud tento soubor obsahuje nesprávné IP adresy, nemůžete se připojit k webům.
Na mnoha Ubuntu systémech je tento soubor odkazem na dynamický soubor spravovaný systemd-resolved. Často obsahuje upozornění: "Do not edit." Pokud však tento soubor přímo upravíte, vaše změny by mohly trvat jen několik minut. Systém je přepíše, když aktualizuje nastavení sítě nebo se restartuje.
Než nakonfigurujete nastavení DNS, ujistěte se, že váš uživatel systému má administrativa oprávnění. Zjistěte, jak přidat uživatele do sudoers je-li potřeba.
Kontrola aktuální konfigurace DNS
Zkontrolujte nastavení DNS bez jejich změny:
cat /etc/resolv.conf
Pokud nevidíte platné nameservery, našli jste problém.
Dočasný test
K rychlému testu můžete přidat DNS servery společnosti Google.
nameserver 8.8.8.8
nameserver 8.8.4.4
Případně můžete použít DNS servery společnosti Cloudflare:
nameserver 1.1.1.1
nameserver 1.0.0.1
Zde je porovnání populárních veřejných DNS serverů:

| Poskytovatel DNS | Primární DNS | Sekundární DNS | Klíčové funkce |
| Google DNS | 8.8.8.8 | 8.8.4.4 | Vysoká dostupnost, globální pokrytí |
| Cloudflare | 1.1.1.1 | 1.0.0.1 | Zaměřeno na soukromí, neuchovává IP adresy |
| Quad9 | 9.9.9.9 | 149.112.112.112 | Blokuje známé škodlivé domény |
| OpenDNS | 208.67.222.222 | 208.67.220.220 | Ochrana proti phishingu, filtrování obsahu |
Tato změna ale není trvalá. Systém ji smaže. Aby bylo řešení na Ubuntu trvalé, musíte nakonfigurovat systemd-resolved nebo Netplan. Ty pokrýváme v konkrétních sekcích níže.
Ověřte stav služby Systemd-Resolved.
Pokud vaše nameservery vypadají správně, ale překlad stále selže, zkontrolujte systemd-resolved službu. Spravuje místní DNS překlady na většině moderních Linux systémů. Spusťte tento příkaz a podívejte se, zda běží: sudo systemctl status systemd-resolved
Pokud výstup ukazuje, že je služba neaktivní, můžete ji spustit hned.
sudo systemctl start systemd-resolved
Tento krok musí znát každý uživatel Ubuntu, protože přerušení služby často způsobují chyby překladu jmen.
Řešení 3: Omezení brány firewall
Firewally chrání váš Linux systém před malwarem a bezpečnostními hrozbami. Nesprávná konfigurace brány firewall ale může blokovat DNS požadavky a způsobit chyby překladu.
Jedním diagnostickým přístupem je dočasné vypnutí firewallu a bezpečnostního softwaru, abyste zjistili, zda problém způsobují. Pokud vypnutí firewallu problém vyřeší, musíte překonfigurovat nastavení brány firewall.
Konfigurace UFW Firewall
Většina Debian a Ubuntu distribucí používá UFW brána firewall. Musíte povolit DNS provoz na portu 53 (oba UDP a TCP):
sudo ufw allow 53/udp
sudo ufw allow 53/tcp
DNS používá UDP pro standardní dotazy a TCP pro větší přenosy.
Po otevření těchto portů znovu načtěte UFW a aplikujte změny:

sudo ufw reload
Konfigurovat Firewalld
Pro CentOS a Red Hat systémy používající firewalld otevřete potřebné porty:
sudo firewall-cmd --add-port=53/udp --permanent
sudo firewall-cmd --add-port=53/tcp --permanent
Znovu načtěte firewall a aplikujte změny:
sudo firewall-cmd --reload
Řešení 4: Vymazání DNS mezipaměti
DNS cache ukládá IP adresy lokálně, aby se budoucí vyhledávání zrychlila. Zastaralá nebo poškozená data v DNS cache však mohou zabránit přístupu na weby, které změnily název domény nebo poskytovatele hostingu, a způsobit dočasné chyby při překladu jmen.
Pouze ty vymazat cache DNS když chcete vynutit systému, aby si vyžádal nová data. Použijte tento krok, když narazíte na chyby při řešení.

Identifikujte vaši službu DNS
Služby se liší podle instalace. Zkontrolujte, která běží, abyste se vyhnuli chybě "unit not found":
sudo systemctl is-active nscd
sudo systemctl is-active dnsmasq
Vymazat nscd
If nscd je aktivní, restartujte jej:
sudo systemctl restart nscd.service
Vyprázdnit dnsmasq
If dnsmasq je aktivní, restartujte jej:
sudo systemctl restart dnsmasq.service
Vyprázdnit cache na Ubuntu (systemd-resolved)
Pro systémy používající systemd-resolved:
sudo systemctl restart systemd-resolved.service
Nebo použijte příkaz resolvectl:
sudo resolvectl flush-caches
Pochopení překladu názvů domén
Když zadáte adresu webu jako cloudzy.com, váš počítač ji musí převést na IP adresu (například 172.66.40.212), aby web mohl najít na internetu. Tento převod se nazývá překlad doménového jména a servery DNS se o něj starají.
Chyba „temporary failure in name resolution" se zobrazí, když se vašemu systému Linux nepodaří kontaktovat DNS server a získat odpovídající IP adresu pro daný web. Označení „temporary" (dočasná) naznačuje, že se nemusí jednat o trvalý problém. Nejčastěji je příčinou chyba v konfiguraci nebo problém s připojením, který lze vyřešit.
DNS servery překládají doménová jména na IP adresy, které počítače používají ke komunikaci. Google Public DNS zpracovává přes bilion dotazů denně, což ukazuje rozsah této klíčové internetové služby.
Podobně řešitel 1.1.1.1 v Cloudflare zpracovává téměř 2 biliony dotazů denně. Tento svazek dokazuje, že DNS je klíčový pro internet.
Co způsobuje dočasné selhání při překladu názvu?
Zjištění původní příčiny je prvním krokem k vyřešení chyby Ubuntu - dočasného selhání v překladu názvů. Tento problém může spustit několik faktorů.

Problémy s připojením k internetu
Pomalé nebo přerušené připojení k internetu je často hlavní příčinou problému. Než se pustíte do složitějšího řešení, ověřte, že váš internet funguje správně.
DNS Problémy s konfigurací
Chyby konfigurace DNS patří mezi nejčastější příčiny této chyby:
- Nereagující servery DNS: Servery DNS, které se váš systém pokouší dosáhnout, mohou být nedostupné
- Chybně nakonfigurované DNS rozlišení: Mechanismus DNS rozlišení může být nesprávně nakonfigurován
- Zastaralá DNS mezipaměť: Staré nebo poškozené položky DNS mezipaměti mohou zabránit správnému rozlišení
Omezení brány firewall
Konfigurace brány firewall mohou blokovat požadavky DNS i když jsou správně nakonfigurované. Dotazy DNS používají Port 53, a pokud brána firewall blokuje tento port, rozlišení názvu se nezdaří.
Port 53 zpracovává protokoly UDP i TCP. DNS obvykle používá UDP port 53 pro standardní dotazy, protože je rychlejší. TCP port 53 se používá pro přenosy zón a větší dotazy, které překročí omezení velikosti UDP.
Problémy s konfigurací služby
Služba systemd-resolved, která spravuje DNS rozlišení v moderních distribucích Linux, může být zastavena, vypnutá nebo chybně nakonfigurovaná. Tato služba poskytuje DNS rozlišení pro všechny aplikace ve vašem systému.
Dočasné selhání rozlišení názvu Ubuntu 22.04
Ubuntu 22.04 LTS zavedla změny správy sítě, které mohou způsobit problémy s DNS rozlišením, zejména po upgradech systému. Uživatelé se na této verzi mohou setkávat s chybami Ubuntu unable to resolve host a dočasné selhání rozlišení názvu.
Obvyklé problémy Ubuntu 22.04
Uživatelé upgradu z Ubuntu 20.04 na 22.04 často hlásí selhání DNS rozlišení. Problém s dočasným selháním rozlišení názvu Ubuntu 22.04 často vychází z chybné konfigurace služby systemd-resolved, která se vyskytuje během procesu upgradu.
Specifická oprava Ubuntu 22.04
Pokud máte problémy s DNS na Ubuntu 22.04, postupujte takto:
Nejdříve ověřte, že jsou služby systemd networking správně povoleny:
sudo systemctl unmask systemd-networkd.service
sudo systemctl unmask systemd-resolved.service
Zkontrolujte stav systemd-resolved:

sudo systemctl status systemd-resolved.service
Pokud je služba neaktivní, spusťte ji:
sudo systemctl start systemd-resolved.service
sudo systemctl enable systemd-resolved.service
Ověřte, že váš symlink /etc/resolv.conf odkazuje na správné umístění:
ls -l /etc/resolv.conf
Doporučená konfigurace odkazuje na stub resolver:
sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
Testování opravy
Po těchto změnách otestujte DNS rozlišení:
resolvectl status
Tento příkaz zobrazuje vaši aktuální konfiguraci DNS. Také potvrzuje, že systemd-resolved správně spravuje DNS.
Ubuntu 24.04 Dočasná selhání v rozlišování názvů
Ubuntu 24.04 LTS, poslední dlouhodobě podporovaná verze, používá systemd 255 a zahrnuje aktualizované komponenty správy sítě. Přestože je stabilnější než předchozí verze, mohou se stále vyskytnout specifické problémy DNS.
Vzdálení správci se často setkávají s chybami "SSH nelze rozlišit jméno hostitele". K tomu dochází, když selže systémový stub resolver na 127.0.0.53 Protože SSH spoléhá na tuto místní službu pro překlad názvů, zastavená systemd-resolved služba okamžitě zablokuje všechny pokusy o připojení založené na doménových jménech.
Konfigurace DNS v Ubuntu 24.04
Ubuntu 24.04 se silně opírá o systemd-resolved pro správu DNS. Stub listener na 127.0.0.53 zpracovává dotazy DNS pro systém.
Řešení problémů DNS v Ubuntu 24.04
Pokud se setkáte se selháním rozlišování názvů v Ubuntu 24.04, zkontrolujte, zda je systemd-resolved spuštěna:
sudo systemctl status systemd-resolved
Ověřte konfiguraci DNS pomocí resolvectl:
resolvectl status
Zobrazí informace o nameserverech a konfiguraci DNS pro každé síťové rozhraní.
Konfigurace Netplan v Ubuntu 24.04
Ubuntu 24.04 používá Netplan pro konfiguraci sítě. Název souboru a nastavení rendereru závisí na tom, zda používáte verzi Server nebo Desktop.
Nejprve identifikujte svůj konfigurační soubor:
ls /etc/netplan/
Upravte nalezený soubor (často 50-cloud-init.yaml or 00-installer-config.yaml):
sudo nano /etc/netplan/YOUR_FILE_NAME.yaml
Ověřte nastavení DNS. Poznámka: Servery obvykle používají networkd, zatímco instalace Desktop používají NetworkManager. Zkontrolujte název rozhraní (např. eth0 or ens3) pomocí ip addr před úpravou.
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: yes
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
Aplikujte konfiguraci:

sudo netplan apply
Problémy se Stub Listenerem
Některé aplikace mohou být v konfliktu se stub listenerem systemd-resolved na portu 53. Pokud potřebujete zakázat stub listener:
sudo mkdir -p /etc/systemd/resolved.conf.d/
Vytvořte konfigurační soubor:
echo -e "[Resolve]\nDNSStubListener=no" | sudo tee /etc/systemd/resolved.conf.d/noresolved.conf
Restartujte systemd-resolved:
sudo systemctl restart systemd-resolved.service
Další tipy pro řešení problémů
Pokud chyba přetrvává, použijte tyto nástroje k izolaci problému. Musíte určit, zda pochází z vaší síťové připojení, samotného serveru DNS nebo z lokálního konfliktu souborů.
Ověřte dostupnost serveru DNS
Měli byste otestovat, zda váš systém dosáhne konkrétních serverů DNS uvedených v konfiguraci. Použijte ping příkaz následovaný IP adresou vašeho primárního nameserveru:
ping -c 4 <your_dns_server_ip>
Pokud se to nezdaří, máte problém se síťovým připojením.
Zkontrolujte soubor /etc/hosts
Soubor /etc/hosts může přepsat vyhledávání DNS. Nesprávné položky zde mohou způsobit selhání rozlišení:
sudo nano /etc/hosts
Ověřte, že obsahuje minimálně:
127.0.0.1 localhost
127.0.0.1 váš-název-hostitele
Použijte dig pro diagnostiku DNS
Příkaz dig pomáhá diagnostikovat problémy s DNS:
dig google.com
Zobrazuje podrobné informace o dotazu DNS, včetně toho, který nameserver odpověděl a jak dlouho dotaz trval.

Zkontrolujte konfiguraci síťového rozhraní
Ověřte, že vaše síťová rozhraní jsou správně nakonfigurována:
ip addr show
Ujistěte se, že vaše primární síťové rozhraní má přiřazenou IP adresu.
Prevence budoucích problémů s DNS
Oprava okamžité chyby obnoví přístup, ale potřebujete odolnou konfiguraci, aby se problém neopakoval. Tyto postupy vnesou redundanci do vaší síťové konfigurace, aby váš systém zvládl menší výpadky připojení bez ztráty rozlišení názvů.
Spolehlivost sítě závisí na kvalitě hardwaru. Naše Cloudzy Linux VPS běží na vysokofrekvenčních procesorech AMD Ryzen 9 a připojeních 40 Gbps. Tato surová rychlost minimalizuje latenci a timeout, které často způsobují selhání rozlišení, což zajišťuje dostupnost vašich aplikací.
Použijte spolehlivé nameservery DNS
Měli byste nakonfigurovat více nameserverů prostřednictvím Netplanu nebo systemd-resolved místo přímé editace /etc/resolv.conf aby zůstala vaše nastavení trvalá i po restartu. Přidání sekundární IP adresy, jako 1.1.1.1 or 8.8.4.4 vytvoří redundanci, pokud váš primární poskytovatel selže.
Sledovat aktualizace systému
Konfiguraci DNS je možné změnit během aktualizací systému. Po aktualizaci distribuce Linux ověřte, že DNS funguje správně.
Zdokumentujte svou konfiguraci
Uchovávejte záznamy o konfiguraci DNS, zvlášť pokud používáte vlastní servery DNS. Usnadní vám to řešení problémů, když nastanou.
Vyhněte se pravidelným vyprazdňováním
Nemazejte mezipaměť DNS jako součást denního plánu. Tím odstraníte důležitá data a zpomalíte si procházení webu.
Cache vynulujte pouze v těchto dvou situacích:
- Změnili jste poskytovatele DNS (například přepnutí z ISP na Google DNS).
- Web s novým serverem jste se nedostali na stránky.
Závěr
Chyba dočasného selhání překladu názvu v systémech Linux obvykle vzniká kvůli problémům s připojením k internetu, chybám konfigurace DNS, omezením firewallu nebo poškození mezipaměti DNS. Postupným prácí skrz řešení v tomto průvodci můžete identifikovat a vyřešit konkrétní příčinu ovlivňující váš systém.
Uživatelé Ubuntu 22.04 a 24.04 musí upřednostnit systemd-resolved konfigurace. Protože tato služba spravuje všechny DNS požadavky, jediná chybná konfigurace blokuje aktualizace balíčků a externí připojení. Ověřte, že je služba aktivní a správně propojená. Stabilní nastavení DNS umožní vašemu Linux VPS provádět síťové úkoly bez přerušení.