Vyhledávání na webu

Jak vyřešit problém "Dočasné selhání při překladu názvů".


Někdy, když se pokusíte pingnout na webovou stránku, aktualizovat systém nebo provést jakoukoli úlohu, která vyžaduje aktivní připojení k internetu, může se na vašem terminálu zobrazit chybová zpráva „dočasné selhání při překladu názvů“.

Když se například pokusíte pingnout na web, můžete narazit na zobrazenou chybu:

tecmint@ubuntu:~$ ping google.com
ping: linux-console.net: Temporary failure in name resolution

Toto je obvykle chyba překladu názvů a ukazuje, že váš server DNS nedokáže přeložit názvy domén na jejich příslušné IP adresy. To může představovat vážnou výzvu, protože nebudete moci aktualizovat, upgradovat nebo dokonce instalovat žádné softwarové balíčky na váš systém Linux.

V tomto článku se podíváme na některé příčiny chyby „dočasné selhání při rozlišení názvů“ a na řešení tohoto problému.

1. Chybějící nebo nesprávně nakonfigurovaný soubor resolv.conf

Soubor /etc/resolv.conf je konfiguračním souborem resolveru v systémech Linux. Obsahuje položky DNS, které pomáhají vašemu systému Linux překládat názvy domén na adresy IP.

Pokud tento soubor není přítomen nebo existuje, ale stále máte chybu rozlišení názvu, vytvořte nebo otevřete soubor /etc/resolv.conf v textovém editoru s právy root.

sudo nano /etc/resolv.conf
OR
sudo vim /etc/resolv.conf

Dále přidejte veřejné servery DNS společnosti Google s klíčovým slovem nameserver následovaným IP adresou serveru DNS.

nameserver 8.8.8.8
nameserver 8.8.4.4

Uložte změny a restartujte službu systemd-resolved, jak je znázorněno.

sudo systemctl restart systemd-resolved.service

Je také rozumné zkontrolovat stav resolveru a zajistit, že je aktivní a běží podle očekávání:

sudo systemctl status systemd-resolved.service

Pak zkuste pingnout na jakýkoli web a problém by měl být vyřešen.

ping google.com

Po potvrzení připojení k síti nezapomeňte upravit soubor /etc/resolv.conf, abyste zabránili jeho přepsání nástroji pro správu sítě.

Chcete-li to provést, můžete vytvořit symbolický odkaz na /dev/null:

sudo ln -sf /dev/null /etc/resolv.conf

Poznámka: Některé distribuce Linuxu, zejména ty, které používají NetworkManager, mohou automaticky spravovat soubor /etc/resolv.conf. Pokud tomu tak je, ruční úprava souboru nemusí mít trvalý účinek.

Místo toho možná budete muset nakonfigurovat nastavení DNS prostřednictvím příslušného nástroje pro správu sítě nebo konfiguračních souborů pro vaši konkrétní distribuci. Doporučenou metodu konfigurace DNS v takových případech najdete v dokumentaci nebo zdrojích podpory vaší distribuce.

2. Omezení brány firewall

Pokud pro vás první řešení nefungovalo, mohla by vám v úspěšném provádění dotazů DNS bránit omezení brány firewall. Zkontrolujte bránu firewall a ověřte, zda je otevřený port 53 (používaný pro DNS – Domain Name Resolution) a port 43 (používaný pro vyhledávání whois). Pokud jsou porty zablokovány, otevřete je následovně:

Otevřete porty DNS na bráně UFW Firewall

V distribucích založených na Debianu musíte otevřít porty 53 a 43 na firewallu UFW spuštěním následujících příkazů:

sudo ufw allow 53/tcp
sudo ufw allow 43/tcp
sudo ufw reload

Otevřete porty DNS na FirewallD Firewall

V distribucích založených na RHEL musíte otevřít porty 53 a 43 na bráně firewall spuštěním níže uvedených příkazů.

sudo firewall-cmd --add-port=53/tcp --permanent
sudo firewall-cmd --add-port=43/tcp --permanent
sudo firewall-cmd --reload

Doufáme, že nyní máte představu o chybě „dočasné selhání v rozlišení názvů“ a o tom, jak ji můžete opravit v několika jednoduchých krocích. Jako vždy si vaší zpětné vazby velmi vážíme.