Jak nastavit DNS v Ubuntu: Kompletní průvodce pro Netplan a NetworkManager

1. Úvod: Proč je konfigurace DNS v Ubuntu důležitá

DNS (Domain Name System) je mechanismus, který převádí názvy domén na IP adresy.
Pokaždé, když otevřeme webovou stránku, operační systém v pozadí dotazuje DNS server.

Při používání Ubuntu můžete narazit na:

  • Webové stránky se zdají „trochu pomalé“
  • Výkon pomalejší než u ostatních zařízení ve stejné síti
  • Občasná neschopnost přistupovat k interním LAN webům

Tyto příznaky jsou překvapivě často způsobeny ne „kvalitou sítě“, ale pomalým rozlišením DNS.

V Ubuntu, i ve verzi 22.04 a novějších, existuje několik způsobů, jak nastavit DNS. To často mate začátečníky. Hlavní dvě metody jsou:

  • Netplan (běžný pro serverová prostředí bez GUI)
  • NetworkManager (podporuje operace přes desktopové GUI)

Protože se konfigurace liší podle toho, který je aktivní, články o DNS pro Ubuntu musí začínat „detekcí prostředí“ a poté „vedením uživatele k správné metodě“.

DNS není jen „malou částí nastavení“, ale vstupním bodem pro celý síťový systém v Ubuntu.

Například pouhé přepnutí na Google Public DNS (8.8.8.8) nebo Cloudflare (1.1.1.1) může znatelně urychlit prohlížení webu. To platí zejména ve VPS, cloudových nebo zahraničních síťových prostředích.

V následujících sekcích jasně oddělíme:

  • Jak nastavit DNS pomocí GUI
  • Jak nastavit DNS pomocí Netplan
  • Jak ověřit nastavení DNS

Nejprve zjistíme, jaké prostředí váš systém používá.

2. Ubuntu poskytuje dva hlavní způsoby konfigurace DNS

V Ubuntu se metoda konfigurace DNS mění podle použitého systému správy sítě. Pokud se tento rozdíl ignoruje, změny DNS se nemusí projevit nebo se po restartu vrátí.

Zde shrnujeme fakt, že Ubuntu má dva nezávislé systémy konfigurace DNS.

Netplan (konfigurace založená na YAML)

  • Běžný v serverových prostředích
  • Standardizován v Ubuntu 18.04 a novějších LTS verzích
  • Konfigurační soubory jsou v /etc/netplan/*.yaml
  • Spolupracuje se systemd‑resolved

V VPS nebo fyzických serverových prostředích bez GUI se Netplan používá téměř vždy. Cloudová prostředí jako AWS, Vultr, ConoHa nebo Oracle Cloud také typicky používají tuto metodu.

NetworkManager (GUI)

  • Běžný v desktopových PC prostředích (Ubuntu Desktop)
  • Umožňuje nastavení DNS přes nastavení IPv4 / IPv6
  • Snadno pochopitelné díky konfiguraci přes GUI

Pokud používáte Ubuntu Desktop, je to pravděpodobně tato metoda. Je ideální, když chcete „jen změnit DNS, protože prohlížeč je pomalý“.

Jak zjistit, kterou metodu používáte

Nejjednodušší způsob je zkontrolovat, zda v /etc/netplan/ existují soubory.

ls /etc/netplan/

Pokud jsou přítomny YAML soubory, pravděpodobně se používá Netplan. Pokud je adresář prázdný nebo používáte GUI, zkontrolujte nastavení NetworkManageru.

3. Konfigurace DNS pomocí Netplan (pro servery)

Netplan používá YAML soubory k definování síťových nastavení. V Ubuntu Server nebo VPS prostředích bez GUI je to téměř vždy metoda konfigurace.

Tato sekce se zaměřuje na minimální praktické kroky potřebné k nastavení DNS na konkrétní hodnotu.

Otevření konfiguračního souboru Netplan

Konfigurační soubory Netplan jsou uloženy v /etc/netplan/. Skutečný název souboru se liší podle prostředí (např. 00-installer-config.yaml).

Nejprve zkontrolujte seznam souborů:

ls /etc/netplan/

Po identifikaci názvu souboru jej otevřete v editoru, např. nano. Příklad:

sudo nano /etc/netplan/00-installer-config.yaml

Jak přidat DNS záznamy do YAML (příklad)

Níže je příklad, který uvádí jak Google DNS, tak Cloudflare DNS.

network:
  version: 2
  ethernets:
    ens33:
      dhcp4: true
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]

Poznámka: ens33 se liší podle vašeho síťového rozhraní. Zkontrolujte pomocí ip a nebo ip link.

Použití konfigurace

Apply changes immediately using:

sudo netplan apply

If errors appear, YAML indentation is the most common cause.
Verify spacing and hierarchy—tabs cannot be used.

Can DHCP and Manual DNS Coexist?

Yes, you can obtain an IP via DHCP while manually specifying DNS.

Example:

dhcp4: true
nameservers:
  addresses: [9.9.9.9]

This configuration sets “IP = automatic, DNS = manual.”

4. Použití NetworkManageru (GUI) pro konfiguraci DNS na Ubuntu Desktop

If you are using Ubuntu for desktop purposes, you can change DNS without using the terminal.
This GUI-based method is the quickest when you simply want to “speed up the browser” or “switch to a public DNS.”

How to Open the Settings Window

  1. Click the network icon at the top right
  2. Open “Settings” or “Network Settings”
  3. Select the active connection (Wired / Wi‑Fi)
  4. Go to the “IPv4” tab

You will find a DNS input field here.
Depending on the Ubuntu version, the wording may differ slightly, but you can enter DNS addresses separated by commas.

Example Input (Specify DNS via IPv4)

Example: Using Google DNS and Cloudflare DNS

8.8.8.8, 1.1.1.1

After entering the values, click “Apply” or “Save.” It is recommended to disconnect and reconnect the network to ensure settings are applied.

If You Are Using IPv6

The “IPv6” tab has a similar DNS input field.
On dual-stack networks, setting both IPv4 and IPv6 DNS may be important for stability.

Combining DHCP and Manual DNS

You can also set up the GUI to use automatic IP assignment while manually specifying DNS.
This is useful when you don’t want to manually assign a fixed IP on every Wi‑Fi network you use, such as at home or in the office.

5. How to Confirm That DNS Settings Are Applied

DNS configuration is not complete until you verify that the new settings are actually applied.
Ubuntu offers three reliable methods to check DNS status.

Use the dig Command

dig google.com

Within the output, look for a line labeled “SERVER: 〜”.
This shows which DNS server your system is currently using.

Example (excerpt):

;; SERVER: 8.8.8.8#53(8.8.8.8)

Verify that it shows 8.8.8.8 (Google) or 1.1.1.1 (Cloudflare), etc.

resolvectl status

This method is accurate when using systemd-resolved.

resolvectl status

This displays the nameserver currently used by each NIC.
On multi-NIC servers, this is more reliable than dig.

Why You Should Not Edit /etc/resolv.conf Directly

cat /etc/resolv.conf

This file shows the final DNS values currently in use.
However, the file is automatically generated by systemd-resolved, meaning:
It will be overwritten, so editing this file is incorrect.

6. Běžné možnosti DNS (užitečné pro začátečníky)

You do not “create” DNS server addresses yourself.
In most cases, you choose from widely available public DNS services.

If you want safe, stable options, choose from the list below:

ProviderDNS Address
Google Public DNS8.8.8.8 / 8.8.4.4
Cloudflare1.1.1.1
Quad99.9.9.9
OpenDNS208.67.222.222 / 208.67.220.220

Specifying two DNS servers is recommended for redundancy.
If one becomes unavailable, the system automatically queries the other.

If you use internal DNS (such as corporate AD), you must specify the internal DNS server instead of public DNS.
Internal name resolution often takes priority over external DNS performance.

7. DNS se často stává úzkým hrdlem sítě

While DNS appears to be a simple configuration item, it has significant impact on perceived network performance.
DNS issues are especially noticeable in scenarios such as:

  • The first step of loading a webpage feels unusually slow
  • Ping is fast but web browsing feels sluggish
  • SPA frameworks (React / Vue) have a slow initial load

Tyto případy se často chovají takto: „Po načtení stejné URL několikrát se stránka načte rychle, ale první přístup je podivně pomalý.“
K tomu dochází, protože DNS je počáteční vstupní bod.

Zvláště na VPS nebo v mezinárodních regionech (např. us-east / eu-west) může veřejný DNS překonat výchozí DNS vašeho ISP.

DNS je bod, který je vysoce citlivý na síťovou latenci.
Bez ohledu na operační systém je ladění DNS jednou z prvních optimalizací, které by weboví inženýři měli provést.

FAQ

Q1: Upravil jsem /etc/resolv.conf, ale po restartu se obnoví. Proč?
→ systemd-resolved v Ubuntu automaticky generuje /etc/resolv.conf.
Tento soubor není určen k ruční úpravě.
Místo toho použijte Netplan nebo NetworkManager.

Q2: Nejsem si jistý, jestli používám Netplan nebo NetworkManager. Jak to zjistit?
→ Nejprve zkontrolujte:

ls /etc/netplan/

Pokud existují soubory YAML, pravděpodobně se používá Netplan.
Pokud používáte grafické rozhraní, je pravděpodobnější NetworkManager.

Q3: Můžu automaticky získat IP přes DHCP a zároveň nastavit DNS ručně?
→ Ano.
Jak Netplan, tak NetworkManager umožňují „IP = AUTO, DNS = manual“.

Q4: Změna DNS vždy zrychlí prohlížení webu?
→ Ne vždy.
DNS ovlivňuje jen počáteční vyhledání jména.
Často zrychlí první načtení, ale pomalé obrázky, CDN nebo API jinde mohou stále způsobovat pomalý výkon.

Q5: Platí stejné kroky pro Ubuntu na WSL2?
→ Ne zcela.
WSL2 automaticky regeneruje resolv.conf, což vyžaduje další nastavení, například:
generateResolvConf=false
WSL má své vlastní metody konfigurace DNS.