Jak skonfigurować DNS w Ubuntu: Kompletny przewodnik po Netplan i NetworkManager

1. Wstęp: Dlaczego konfiguracja DNS ma znaczenie w Ubuntu

DNS (Domain Name System) to mechanizm, który zamienia nazwy domen na adresy IP.
Za każdym razem, gdy otwieramy stronę internetową, system operacyjny w tle zapytuje serwer DNS.

Korzystając z Ubuntu, możesz napotkać następujące problemy:

  • Strony internetowe wydają się „trochę wolne”
  • Wydajność niższa niż w innych urządzeniach w tej samej sieci
  • Sporadyczna niemożność dostępu do wewnętrznych stron LAN

Te objawy często wynikają nie z „jakości sieci”, lecz z wolnego rozwiązywania nazw DNS.

W Ubuntu, nawet w wersji 22.04 i nowszych, istnieje kilka sposobów konfiguracji DNS. To często myli początkujących. Dwa główne sposoby to:

  • Netplan (powszechny w środowiskach serwerowych bez GUI)
  • NetworkManager (obsługuje operacje GUI na pulpicie)

Ponieważ konfiguracja różni się w zależności od tego, który z nich jest aktywny, artykuły o DNS dla Ubuntu muszą zaczynać się od „wykrycia środowiska”, a następnie „poprowadzenia użytkownika do właściwej metody”.

DNS nie jest tylko „małą częścią ustawień”, lecz punktem wejścia do całego systemu sieciowego w Ubuntu.

Na przykład samo przełączenie na Google Public DNS (8.8.8.8) lub Cloudflare (1.1.1.1) może zauważalnie przyspieszyć przeglądanie stron.
Jest to szczególnie prawdziwe w środowiskach VPS, chmurowych lub zagranicznych sieci.

W kolejnych sekcjach wyraźnie rozdzielimy:

  • Jak skonfigurować DNS przy użyciu GUI
  • Jak skonfigurować DNS za pomocą Netplan
  • Jak zweryfikować ustawienia DNS

Najpierw określmy, którego środowiska używa Twój system.

2. Ubuntu oferuje dwie główne metody konfiguracji DNS

W Ubuntu metoda konfiguracji DNS zmienia się w zależności od używanego systemu zarządzania siecią.
Jeśli to rozróżnienie zostanie pominięte, zmiany DNS mogą nie zostać zastosowane lub mogą wrócić po ponownym uruchomieniu.

Poniżej podsumowujemy fakt, że Ubuntu posiada dwa niezależne systemy konfiguracji DNS.

Netplan (konfiguracja w formacie YAML)

  • Powszechny w środowiskach serwerowych
  • Standardowy od Ubuntu 18.04 i późniejszych wersji LTS
  • Pliki konfiguracyjne znajdują się w /etc/netplan/*.yaml
  • Działa we współpracy z systemd‑resolved

W środowiskach VPS lub fizycznych serwerach bez GUI Netplan jest prawie zawsze używany.
Środowiska chmurowe, takie jak AWS, Vultr, ConoHa czy Oracle Cloud, również zazwyczaj korzystają z tej metody.

NetworkManager (GUI)

  • Powszechny w środowiskach komputerów stacjonarnych (Ubuntu Desktop)
  • Umożliwia konfigurację DNS w ustawieniach IPv4 / IPv6
  • Łatwy do zrozumienia dzięki konfiguracji graficznej

Jeśli używasz Ubuntu Desktop, najprawdopodobniej jest to właśnie ta metoda.
Jest idealna, gdy chcesz po prostu „zmienić DNS, bo przeglądarka działa wolno”.

Jak sprawdzić, której metody używasz

Najprostszy sposób to sprawdzenie, czy w katalogu /etc/netplan/ znajdują się pliki.

ls /etc/netplan/

Jeśli pliki YAML są obecne, najprawdopodobniej używany jest Netplan.
Jeśli katalog jest pusty lub korzystasz z GUI, sprawdź ustawienia NetworkManager.

3. Konfiguracja DNS za pomocą Netplan (dla serwerów)

Netplan używa plików YAML do definiowania ustawień sieciowych.
W środowiskach Ubuntu Server lub VPS bez GUI jest to prawie zawsze metoda konfiguracji.

Ta sekcja koncentruje się na minimalnych, praktycznych krokach potrzebnych do ustawienia DNS na określoną wartość.

Otwórz plik konfiguracyjny Netplan

Pliki konfiguracyjne Netplan są przechowywane w /etc/netplan/.
Rzeczywista nazwa pliku zależy od środowiska (np. 00-installer-config.yaml).

Najpierw sprawdź listę plików:

ls /etc/netplan/

Po zidentyfikowaniu nazwy pliku otwórz go w edytorze, np. nano. Przykład:

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

Jak dodać wpisy DNS do YAML (przykład)

Poniżej przykład określający zarówno Google DNS, jak i Cloudflare DNS.

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

Uwaga: ens33 różni się w zależności od Twojej karty sieciowej.
Sprawdź ją poleceniem ip a lub ip link.

Zastosuj konfigurację

Zastosuj zmiany od razu używając:

sudo netplan apply

Jeśli pojawią się błędy, najczęstszą przyczyną jest wcięcie w YAML.
Sprawdź odstępy i hierarchię — tabulacje nie mogą być używane.

Czy DHCP i ręczne DNS mogą współistnieć?

Tak, możesz uzyskać adres IP za pomocą DHCP, jednocześnie ręcznie określając DNS.

Przykład:

dhcp4: true
nameservers:
  addresses: [9.9.9.9]

Ta konfiguracja ustawia „IP = automatyczne, DNS = ręczne”.

4. Używanie NetworkManager (GUI) do konfiguracji DNS w Ubuntu Desktop

Jeśli używasz Ubuntu na potrzeby komputera stacjonarnego, możesz zmienić DNS bez użycia terminala.
Ta metoda oparta na GUI jest najszybsza, gdy po prostu chcesz „przyspieszyć przeglądarkę” lub „przejść na publiczny DNS”.

Jak otworzyć okno ustawień

  1. Kliknij ikonę sieci w prawym górnym rogu
  2. Otwórz „Ustawienia” lub „Ustawienia sieci”
  3. Wybierz aktywne połączenie (przewodowe / Wi‑Fi)
  4. Przejdź do zakładki „IPv4”

Tutaj znajdziesz pole wprowadzania DNS.
W zależności od wersji Ubuntu, sformułowanie może się nieco różnić, ale możesz wprowadzić adresy DNS oddzielone przecinkami.

Przykładowe dane wejściowe (określenie DNS przez IPv4)

Przykład: użycie Google DNS i Cloudflare DNS

8.8.8.8, 1.1.1.1

Po wprowadzeniu wartości kliknij „Zastosuj” lub „Zapisz”. Zaleca się rozłączenie i ponowne połączenie z siecią, aby upewnić się, że ustawienia zostały zastosowane.

Jeśli używasz IPv6

Zakładka „IPv6” ma podobne pole wprowadzania DNS.
W sieciach dual‑stack ustawienie DNS zarówno dla IPv4, jak i IPv6 może być ważne dla stabilności.

Łączenie DHCP i ręcznego DNS

Możesz również skonfigurować GUI tak, aby używało automatycznego przydzielania IP, jednocześnie ręcznie określając DNS.
Jest to przydatne, gdy nie chcesz ręcznie przydzielać stałego IP w każdej sieci Wi‑Fi, z której korzystasz, np. w domu lub w biurze.

5. Jak potwierdzić, że ustawienia DNS zostały zastosowane

Konfiguracja DNS nie jest zakończona, dopóki nie zweryfikujesz, że nowe ustawienia zostały faktycznie zastosowane.
Ubuntu oferuje trzy niezawodne metody sprawdzenia statusu DNS.

Użyj polecenia dig

dig google.com

W wyjściu poszukaj linii oznaczonej „SERVER: 〜”. Pokazuje ona który serwer DNS aktualnie używa Twój system.

Przykład (fragment):

;; SERVER: 8.8.8.8#53(8.8.8.8)

Sprawdź, czy wyświetla 8.8.8.8 (Google) lub 1.1.1.1 (Cloudflare) itp.

resolvectl status

Ta metoda jest dokładna przy użyciu systemd-resolved.

resolvectl status

Wyświetla ona serwer nazw aktualnie używany przez każdy interfejs sieciowy.
Na serwerach z wieloma interfejsami jest to bardziej niezawodne niż dig.

Dlaczego nie należy bezpośrednio edytować /etc/resolv.conf

cat /etc/resolv.conf

Ten plik pokazuje ostateczne wartości DNS aktualnie używane.
Jednak plik jest automatycznie generowany przez systemd-resolved, co oznacza:
Zostanie nadpisany, więc edytowanie tego pliku jest nieprawidłowe.

6. Popularne opcje DNS (przydatne dla początkujących)

Nie „tworzysz” własnych adresów serwerów DNS.
W większości przypadków wybierasz spośród powszechnie dostępnych publicznych usług DNS.

Jeśli chcesz bezpieczne, stabilne opcje, wybierz z poniższej listy:

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

Zaleca się określenie dwóch serwerów DNS dla redundancji.
Jeśli jeden stanie się niedostępny, system automatycznie zapyta drugi.

Jeśli używasz wewnętrznego DNS (np. korporacyjnego AD), musisz podać wewnętrzny serwer DNS zamiast publicznego DNS.
Wewnętrzna rozdzielczość nazw często ma pierwszeństwo przed wydajnością zewnętrznego DNS.

7. DNS często staje się wąskim gardłem sieci

Choć DNS wydaje się prostym elementem konfiguracji, ma znaczący wpływ na postrzeganą wydajność sieci.
Problemy z DNS są szczególnie zauważalne w następujących sytuacjach:

  • Pierwszy krok ładowania strony internetowej wydaje się wyjątkowo wolny
  • Ping jest szybki, ale przeglądanie sieci jest ospałe
  • Frameworki SPA (React / Vue) mają wolne początkowe ładowanie

Te przypadki często zachowują się w ten sposób: „Po kilkukrotnym załadowaniu tego samego adresu URL staje się szybki, ale bardzo pierwsze połączenie jest dziwnie wolne.”
Dzieje się tak, ponieważ DNS jest początkowym punktem wejścia.

Szczególnie na VPS‑ach lub w międzynarodowych regionach (np. us-east / eu-west) publiczny DNS może przewyższyć domyślny DNS twojego dostawcy internetu.

DNS jest elementem bardzo wrażliwym na opóźnienia sieciowe.
Bez względu na system operacyjny, strojenie DNS jest jedną z pierwszych optymalizacji, które powinni wykonać inżynierowie web.

FAQ

P1: Edytowałem /etc/resolv.conf, ale po restarcie zostaje przywrócony. Dlaczego?
→ systemd‑resolved w Ubuntu automatycznie generuje /etc/resolv.conf.
Ten plik nie jest przeznaczony do ręcznej edycji.
Użyj Netplan lub NetworkManager zamiast tego.

P2: Nie jestem pewien, czy używam Netplan, czy NetworkManager. Jak to sprawdzić?
→ Najpierw sprawdź:

ls /etc/netplan/

Jeśli istnieją pliki YAML, prawdopodobnie używany jest Netplan.
Jeśli korzystasz z interfejsu graficznego, bardziej prawdopodobny jest NetworkManager.

P3: Czy mogę automatycznie uzyskać adres IP przez DHCP i jednocześnie ustawić DNS ręcznie?
→ Tak.
Zarówno Netplan, jak i NetworkManager pozwalają na „IP = AUTO, DNS = manual.”

P4: Czy zmiana DNS zawsze przyspieszy przeglądanie internetu?
→ Nie zawsze.
DNS wpływa tylko na początkowe wyszukiwanie nazwy.
Często przyspiesza pierwsze załadowanie, ale wolne obrazy, CDN‑y lub API w innych miejscach mogą nadal powodować niską wydajność.

P5: Czy te same kroki mają zastosowanie do Ubuntu w WSL2?
→ Nie do końca.
WSL2 automatycznie regeneruje resolv.conf, co wymaga dodatkowych ustawień, takich jak:
generateResolvConf=false
WSL ma własne metody konfiguracji DNS.

年収訴求