Vyhledávání na webu

Jak nastavit trvalé DNS Nameservery v Ubuntu a Debianu


/etc/resolv.conf je hlavní konfigurační soubor pro knihovnu překladače názvů DNS. Překladač je sada funkcí v knihovně C, které poskytují přístup k Internet Domain Name System (DNS). Funkce jsou nakonfigurovány tak, aby kontrolovaly položky v souboru /etc/hosts nebo na několika jmenných serverech DNS nebo aby používaly hostitelskou databázi Network Information Service (NIS ).

Na moderních systémech Linux, které používají systemd (správce systému a služeb), jsou služby DNS nebo překládání názvů poskytovány místním aplikacím prostřednictvím systemd-resolvedslužba. Ve výchozím nastavení má tato služba čtyři různé režimy pro zpracování překladu názvů domén a ve výchozím režimu provozu používá soubor se zakázaným inzerováním DNS systemd (/run/systemd/resolve/stub-resolv.conf).

Soubor se zakázaným inzerováním DNS obsahuje jako jediný server DNS místní stub 127.0.0.53 a je přesměrován na soubor /etc/resolv.conf, který byl použit k přidání jmenné servery používané systémem.

Pokud na /etc/resolv.conf spustíte následující příkaz ls, uvidíte, že tento soubor je symbolickým odkazem na /run/systemd/resolve/stub-resolv.conf< soubor.

ls -l /etc/resolv.conf

lrwxrwxrwx 1 root root 39 Feb 15  2019 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf

Bohužel, protože soubor /etc/resolv.conf je nepřímo spravován službou systemd-resolved a v některých případech i síťovou službou (pomocí initscriptů< nebo NetworkManager), žádné změny provedené uživatelem nelze uložit trvale nebo trvat jen chvíli.

V tomto článku si ukážeme, jak nainstalovat a používat program resolvconf k nastavení trvalých jmenných serverů DNS v souboru /etc/resolv.conf pod Debian a Ubuntu distribuce Linuxu.

Proč byste chtěli upravit soubor /etc/resolv.conf?

Hlavním důvodem může být to, že nastavení DNS systému je nesprávně nakonfigurováno nebo dáváte přednost použití konkrétních jmenných serverů nebo svých vlastních. Následující příkaz cat zobrazuje výchozí jmenný server v souboru /etc/resolv.conf v mém systému Ubuntu.

cat /etc/resolv.conf

V tomto případě, když se místní aplikace, jako je správce balíčků APT, pokusí o přístup k FQDN (Plně kvalifikovaným názvům domén) v místní síti, výsledkem je „ Dočasná chyba v rozlišení názvů” jak je znázorněno na dalším snímku obrazovky.

Totéž se stane, když spustíte příkaz ping.

ping google.com

Když se tedy uživatel pokusí ručně nastavit jmenné servery, změny netrvají dlouho nebo jsou po restartu odvolány. Chcete-li tento problém vyřešit, můžete nainstalovat a použít nástroj reolvconf, který provede změny natrvalo.

Chcete-li nainstalovat balíček resolvconf, jak je uvedeno v další části, musíte nejprve ručně nastavit následující jmenné servery v souboru /etc/resolv.conf, abyste získali přístup FQDM serverů úložiště Ubuntu na internetu.

nameserver 8.8.4.4
nameserver 8.8.8.8

Přečtěte si také: Jak nastavit místní DNS pomocí souboru /etc/hosts v systému Linux

Instalace resolvconf v Ubuntu a Debianu

Nejprve aktualizujte balíčky systémového softwaru a poté nainstalujte resolvconf z oficiálních repozitářů spuštěním následujících příkazů.

sudo apt update
sudo apt install resolvconf

Po dokončení instalace resolvconf spustí systemd automatické spuštění a povolení služby resolvconf.service. Chcete-li zkontrolovat, zda je v provozu, vydá následující příkaz.

sudo systemctl status resolvconf.service

Pokud se služba z nějakého důvodu nespustí a nepovolí automaticky, můžete ji spustit a povolit následovně.

sudo systemctl start resolvconf.service
sudo systemctl enable resolvconf.service
sudo systemctl status resolvconf.service

Nastavte trvalé DNS Nameservery v Ubuntu a Debianu

Dále otevřete konfigurační soubor /etc/resolvconf/resolv.conf.d/head.

sudo nano /etc/resolvconf/resolv.conf.d/head

a přidejte do něj následující řádky:

nameserver 8.8.8.8 
nameserver 8.8.4.4

Uložte změny a restartujte resolvconf.service a systemd-resolved nebo restartujte systém.

sudo systemctl restart resolvconf.service
sudo systemctl restart systemd-resolved.service

Nyní, když zkontrolujete soubor /etc/resolv.conf, položky jmenného serveru by tam měly být uloženy trvale. Od nynějška nebudete čelit žádným problémům týkajícím se překladu jmen ve vašem systému.

Doufám, že vám tento rychlý článek pomohl při nastavení trvalých jmenných serverů DNS ve vašich systémech Ubuntu a Debian. Pokud máte nějaké dotazy nebo návrhy, podělte se o ně s námi v sekci komentářů níže.