DNS w Linuxie - Popraw prywatność i szybkość sieci!

Bruno Krupa .

22 lipca 2026

Ilustracja przedstawia proces tłumaczenia nazwy domeny na adres IP, kluczowy dla ustawień DNS.

Dobre ustawienia dns potrafią rozwiązać problemy, które z zewnątrz wyglądają jak awaria internetu: strony otwierają się wolno, niektóre domeny nie odpowiadają, a VPN miesza ruch z siecią domową. W tym tekście pokazuję, czym naprawdę są te ustawienia, gdzie najlepiej je zmienić, jak zrobić to na Linuxie i jak sprawdzić, czy konfiguracja faktycznie działa. Skupiam się na praktyce, bo w sieciach komputerowych właśnie szczegóły decydują o tym, czy wszystko działa płynnie, czy tylko „na oko”.

Najważniejsze rzeczy o DNS, zanim zmienisz cokolwiek w konfiguracji

  • DNS tłumaczy nazwy domen na adresy IP, więc odpowiada za to, czy w ogóle trafisz do właściwej usługi.
  • Najpierw decyduj, gdzie zmienić resolver: na urządzeniu, na routerze albo w profilu VPN.
  • Na Linuxie najczęściej robisz to przez NetworkManager lub systemd-resolved, a nie przez ręczną edycję `/etc/resolv.conf`.
  • Po zmianie zawsze sprawdź aktywny serwer poleceniem `resolvectl status` albo `resolvectl query`.
  • Jeśli problem dotyczy tylko jednej sieci lub domeny firmowej, zwykły globalny DNS może nie wystarczyć.

Czym są serwery DNS i kiedy ich ustawienia naprawdę mają znaczenie

DNS to warstwa, która tłumaczy nazwę domeny na adres IP. Przeglądarka nie „zna” adresu strony, dopóki nie zapyta resolvera, a ten nie wskaże właściwego hosta. Jeśli resolver działa wolno, jest przeciążony albo źle skonfigurowany, użytkownik widzi opóźnienia, błędy ładowania albo losowe problemy z częścią serwisów, mimo że samo łącze nadal działa.

W praktyce DNS zmieniam wtedy, gdy chcę ograniczyć wpływ wadliwego resolvera operatora, poprawić spójność działania przy VPN albo ustawić bardziej przewidywalne zachowanie dla całej sieci. Trzeba jednak zachować realizm: DNS przyspiesza tylko etap rozwiązywania nazw. Nie naprawi słabego Wi-Fi, złej trasy routingu, problemów z MTU ani niestabilnego łącza.

To też dobry moment, żeby odróżnić „działa internet” od „działa rozwiązywanie nazw”. Serwis może odpowiadać pod adresem IP, a mimo to być niedostępny po nazwie domenowej. W takich sytuacjach DNS jest pierwszym miejscem, które sprawdzam, bo właśnie tam zwykle kryje się problem. Gdy już wiesz, co zmieniasz, pozostaje ważniejsze pytanie: gdzie to zrobić, żeby efekt objął dokładnie ten ruch, który ma objąć.

Gdzie najlepiej zmienić DNS w domu i w firmie

Ja zwykle zaczynam od miejsca, w którym problem faktycznie się ujawnia. To ważniejsze niż sam wybór konkretnego adresu serwera, bo zła warstwa konfiguracji daje tylko pozorne wrażenie poprawy. W praktyce masz trzy sensowne poziomy: pojedyncze urządzenie, router albo profil VPN.

Miejsce zmiany Co obejmuje Kiedy ma sens Ograniczenia
Urządzenie Jedną maszynę, laptop, serwer lub telefon Problem występuje tylko na jednym sprzęcie albo chcesz zrobić szybki test Inne urządzenia nadal korzystają ze starej konfiguracji
Router Całą sieć domową lub biurową Wszystkie urządzenia mają te same objawy albo chcesz ujednolicić DNS w domu Trzeba odświeżyć dzierżawy DHCP, a część klientów długo trzyma cache
VPN lub profil sieciowy Ruch dla konkretnego tunelu, domeny lub zakresu adresów Sieć firmowa, split tunneling, zasoby wewnętrzne Łatwo o konflikt z innym profilem i wyciek DNS poza tunel

Jeśli objaw dotyczy tylko mojego laptopa, zmieniam DNS lokalnie. Jeśli kilka urządzeń w domu ma ten sam problem, idę w stronę routera. A gdy wchodzi w grę praca zdalna albo zasoby firmowe, lepiej nie mieszać wszystkiego w jeden globalny resolver, tylko ustawić DNS bliżej konkretnego tunelu. To prowadzi już prosto do praktyki na Linuxie.

Jak zmienić DNS w Linuxie bez walki z `/etc/resolv.conf`

Na laptopach i desktopach z NetworkManagerem to najwygodniejsza droga. Najpierw sprawdzam aktywne połączenie, potem ustawiam własne serwery DNS i wyłączam pobieranie DNS z DHCP, bo inaczej automatyczna konfiguracja potrafi nadpisać mój wybór. Jeśli zmieniasz tylko jedną sieć Wi-Fi, dotyczy to konkretnego profilu, nie całego systemu.

Przez NetworkManager

nmcli con show --active
nmcli con mod "NAZWA_POŁĄCZENIA" ipv4.ignore-auto-dns yes ipv4.dns "1.1.1.1 1.0.0.1"
nmcli con mod "NAZWA_POŁĄCZENIA" ipv6.ignore-auto-dns yes ipv6.dns "2606:4700:4700::1111 2606:4700:4700::1001"
nmcli con down "NAZWA_POŁĄCZENIA" && nmcli con up "NAZWA_POŁĄCZENIA"

W praktyce to działa najlepiej wtedy, gdy chcesz mieć oddzielne konfiguracje dla domu, biura i VPN. Ja lubię tę metodę, bo jest powtarzalna, a po restarcie nie znika. Jeśli nie korzystasz z IPv6, możesz pominąć drugi blok, ale nie zostawiaj połowy konfiguracji przypadkiem. W sieciach mieszanych niedopatrzenie przy IPv6 bywa źródłem bardziej podstępnych problemów niż sam IPv4.

Przeczytaj również: Jak sprawdzić IP w Linuxie - lokalny i publiczny adres

Przez systemd-resolved

Na systemach, gdzie resolverem zarządza systemd-resolved, nie edytuję `/etc/resolv.conf` na ślepo. Często to tylko plik sterowany przez usługę, a ręczna zmiana zniknie po restarcie albo odświeżeniu połączenia. Bezpieczniej użyć własnego pliku konfiguracyjnego dla resolvera i zrestartować usługę.

[Resolve]
DNS=1.1.1.1 1.0.0.1
FallbackDNS=9.9.9.9 149.112.112.112
sudo systemctl restart systemd-resolved

Po stronie systemd-resolved ważne jest jeszcze jedno: lokalny stub DNS na adresie `127.0.0.53` jest normalny. To nie jest zewnętrzny serwer, tylko lokalny pośrednik, który przekazuje zapytania dalej. Jeśli widzisz taki adres w konfiguracji, nie oznacza to automatycznie błędu.

Na serwerach bez GUI, ale z NetworkManagerem, można też pracować na profilu po stronie pliku konfiguracyjnego, a potem wykonać `nmcli con reload`. Traktuję to jednak jako plan B. Gdy mam wybór, wolę zmieniać profil przez `nmcli`, bo łatwiej wtedy utrzymać spójność i szybciej odtworzyć ustawienia po awarii.

Po takiej zmianie nie zakładam, że wszystko już działa. Najpierw to sprawdzam, najlepiej na poziomie konkretnego interfejsu i konkretnej domeny.

Jak sprawdzić, czy nowy DNS rzeczywiście działa

Po zmianie nie zgaduję, tylko weryfikuję, skąd system bierze odpowiedzi. `resolvectl status` pokazuje aktywne serwery per interfejs, a `resolvectl query example.org` pozwala szybko przetestować samo rozwiązywanie nazw. Jeśli używasz systemd-resolved, możesz też wyczyścić cache, żeby nie patrzeć na stary wynik zapisany wcześniej.

resolvectl status
resolvectl query example.org
resolvectl flush-caches

Wynik `status` czytam zawsze uważnie. Interesuje mnie przede wszystkim to, który interfejs ma przypisany DNS, czy nie pojawił się stary serwer z DHCP oraz czy ruch dla domen firmowych idzie przez właściwy link. Jeśli połączenie VPN działa, ale zapytania nadal wychodzą przez sieć domową, problem jest zwykle w routingu DNS, a nie w samym adresie resolvera.

Gdy test pokazuje stare odpowiedzi, a wszystko wygląda dobrze na papierze, winny bywa cache albo zbyt powolne odświeżenie dzierżawy DHCP. Wtedy odłączam i ponownie podłączam interfejs, a w razie potrzeby robię pełne przeładowanie profilu. Ta prosta czynność często oszczędza więcej czasu niż dłubanie w kolejnych plikach konfiguracyjnych.

Jeśli wynik wygląda dziwnie, najczęściej nie chodzi już o sam DNS, tylko o jeden z kilku klasycznych błędów konfiguracji.

Najczęstsze błędy przy zmianie DNS

  • Edytowanie złego pliku. Na systemach z NetworkManagerem albo systemd-resolved ręczna zmiana `/etc/resolv.conf` bywa nietrwała, bo usługę ktoś nadpisuje przy kolejnym odświeżeniu połączenia.
  • Zmiana tylko IPv4. Jeśli IPv6 nadal wskazuje stary resolver, część ruchu może iść inną drogą, niż zakładasz.
  • Pozostawienie automatycznego DNS z DHCP. Bez `ignore-auto-dns yes` ręcznie wpisane serwery mogą zostać wypchnięte przez konfigurację z routera lub operatora.
  • Brak odnowienia dzierżawy po zmianie na routerze. Klient może trzymać stare ustawienia, dopóki nie rozłączy się z siecią albo nie odświeży DHCP.
  • Oczekiwanie, że DNS naprawi routing. Jeśli problemem jest MTU, firewall, captive portal albo zła trasa, sama zmiana resolvera niewiele da.
  • Ignorowanie cache przeglądarki i systemu. Stary wynik potrafi utrzymywać się dłużej, niż się wydaje, więc test trzeba robić po odświeżeniu połączenia.

Największy błąd, jaki widzę, to mieszanie poziomów. Ktoś zmienia DNS na laptopie, a potem oczekuje poprawy na całej sieci. Albo odwrotnie: ustawia resolver w routerze, ale testuje tylko jedno urządzenie, które i tak ma własny profil VPN. Gdy podejdziesz do tego warstwowo, diagnostyka jest dużo prostsza. A skoro temat dotyczy też bezpieczeństwa, warto zamknąć go kilkoma dodatkowymi ustawieniami, które naprawdę robią różnicę.

Co warto ustawić obok samego DNS, jeśli zależy ci na bezpieczeństwie i porządku

Jeśli DNS ma być nie tylko szybki, ale też rozsądnie poukładany, patrzę na trzy rzeczy: szyfrowanie, weryfikację i routing per interfejs. DNSSEC pomaga wykrywać fałszywe odpowiedzi, ale nie szyfruje ruchu. DoT i DoH szyfrują zapytania do resolvera, ale ich obsługa zależy od dystrybucji, wersji NetworkManagera i tego, czy twój stos sieciowy faktycznie wspiera taki backend. Nie zakładam tego z góry.

W środowisku firmowym bardzo przydają się domeny routujące. Domeny zaczynające się od `~`, na przykład `~firma.local`, nie służą do dopisywania nazwy hosta, tylko do wskazania, przez który interfejs ma iść zapytanie. To ważne przy VPN i split tunnelingu, bo pozwala utrzymać ruch do zasobów wewnętrznych poza publicznym DNS-em.

Zostawiam też sensowną hierarchię priorytetów. Jednego resolvera traktuję jako główny, a fallback jako zapas na wypadek awarii. To prostsze niż układanie kilku równorzędnych źródeł, które potem konkurują ze sobą i dają nieprzewidywalne wyniki. W `resolvectl status` czy NetworkManagerze od razu widać, czy konfiguracja jest uporządkowana, czy już zaczyna się chaos.

Gdybym miał zostawić jedną praktyczną regułę, brzmiałaby tak: zmieniaj DNS najbliżej miejsca, w którym ma działać, i od razu go weryfikuj. Na Linuxie najczęściej najczystszy efekt daje NetworkManager albo systemd-resolved, a ręczne grzebanie w `resolv.conf` zostawiam tylko wtedy, gdy dokładnie wiem, kto ten plik nadpisuje.

Jeśli po poprawnej konfiguracji nadal widzisz błędy, problem zwykle leży już nie w DNS, tylko w trasowaniu, filtracji ruchu, VPN albo wygasłym cache. To dobry moment, żeby spojrzeć szerzej na całą ścieżkę pakietu, a nie tylko na sam resolver.

FAQ - Najczęstsze pytania

DNS (Domain Name System) tłumaczy nazwy stron na adresy IP. Dobre ustawienia DNS przyspieszają wczytywanie stron, poprawiają stabilność połączenia i mogą rozwiązać problemy z dostępem do niektórych usług, które wyglądają jak awaria internetu.
To zależy od problemu. Możesz zmienić DNS na pojedynczym urządzeniu (laptop, telefon), na routerze (dla całej sieci) lub w profilu VPN (dla konkretnego tunelu). Wybierz miejsce najbliższe problemowi.
Na Linuxie najczęściej używa się NetworkManagera lub systemd-resolved. Unikaj ręcznej edycji `/etc/resolv.conf`, ponieważ zmiany mogą zostać nadpisane. Skorzystaj z poleceń `nmcli` lub konfiguracji `systemd-resolved`.
Po zmianie użyj poleceń takich jak `resolvectl status` (aby zobaczyć aktywne serwery) i `resolvectl query [domena]` (aby przetestować rozwiązywanie nazw). Pamiętaj o wyczyszczeniu cache przeglądarki i systemu.
Częste błędy to edytowanie złego pliku, zmiana tylko IPv4 (ignorując IPv6), pozostawienie automatycznego DNS z DHCP, brak odnowienia dzierżawy DHCP czy ignorowanie cache. Zawsze weryfikuj zmiany i testuj po ich wprowadzeniu.
Oceń artykuł

Średnia: 0.0 / 5 · 0 ocen

Tagi

ustawienia dns zmiana dns linux konfiguracja dns w systemie linux
Autor Bruno Krupa
Bruno Krupa
Nazywam się Bruno Krupa i od 7 lat zajmuję się systemami Linux, bezpieczeństwem oraz oprogramowaniem. Moje zainteresowanie tymi tematami zaczęło się od chęci zrozumienia, jak działają technologie, które nas otaczają. Fascynuje mnie możliwość eksploracji i rozwiązywania problemów, które napotykają użytkownicy w codziennym korzystaniu z systemów operacyjnych. W moich tekstach staram się wyjaśniać złożone zagadnienia w przystępny sposób, dbając o to, aby informacje były aktualne, rzetelne i łatwe do zrozumienia. Piszę o różnych aspektach związanych z Linuxem, od podstawowych konfiguracji po bardziej zaawansowane techniki zabezpieczeń. Zawsze dokładam starań, aby moje źródła były wiarygodne, a przedstawiane treści uporządkowane i zrozumiałe dla każdego, niezależnie od poziomu zaawansowania. Wierzę, że dobrze zorganizowana wiedza może pomóc innym w lepszym zrozumieniu technologii i jej zastosowań w codziennym życiu.
Komentarze (0)
Dodaj komentarz