Co to jest DNS i jak działa? Proste wyjaśnienie dla każdego
Wpisujesz w przeglądarce adres strony internetowej i po chwili widzisz jej zawartość. Za tym pozornie prostym działaniem stoi globalny system, który działa tak sprawnie i szybko, że właściwie go nie zauważamy. Ten system to DNS (Domain Name System), czyli system nazw domenowych.
DNS jest fundamentem działania internetu. Zrozumienie, jak działa, pomaga rozwiązywać problemy z domeną, lepiej konfigurować hosting i świadomie zarządzać swoją obecnością w sieci. Ten poradnik tłumaczy DNS od podstaw bez zbędnego technicznego żargonu.
Po co w ogóle istnieje DNS?
Komputery, serwery i wszystkie inne urządzenia w internecie komunikują się ze sobą przez adresy IP ciągi cyfr w formacie 185.230.64.10 (IPv4) lub 2001:db8:ff00:42:8329 (IPv6). Problem w tym, że ludzie słabo zapamiętują ciągi liczb, a dobrze zapamiętują słowa.
DNS rozwiązuje ten problem, działając jak gigantyczna, rozproszona książka telefoniczna dla internetu. Zamiast pamiętać adres IP serwera, pamiętasz nazwę domeny np. cal.pl. DNS tłumaczy tę nazwę na adres IP w ułamku sekundy, niewidocznie dla użytkownika.
Analogia, która dobrze opisuje DNS: wyobraź sobie, że chcesz zadzwonić do znajomego. Nie pamiętasz jego numeru telefonu, ale znasz jego imię i nazwisko, więc szukasz go w książce telefonicznej. DNS to właśnie ta książka telefoniczna internetu, tylko że zamiast imion i nazwisk są w niej nazwy domen, a zamiast numerów telefonów adresy IP serwerów.
Jak przebiega zapytanie DNS krok po kroku?
Gdy wpisujesz adres strony w przeglądarce, uruchamia się sekwencja zdarzeń, która zwykle trwa mniej niż 100 milisekund:
Krok 1 — sprawdzenie lokalnego cache
Twój komputer najpierw sprawdza własną pamięć podręczną DNS (cache). Jeśli odwiedziłeś tę stronę niedawno, odpowiedź jest już zapisana lokalnie i zapytanie kończy się tutaj, bez kontaktowania z jakimkolwiek serwerem. To dlatego ponowne wejście na odwiedzoną stronę jest często szybsze niż pierwsze.
Krok 2 — zapytanie do serwera rekurencyjnego
Jeśli odpowiedzi nie ma w lokalnym cache, komputer wysyła zapytanie do rekurencyjnego serwera DNS, zazwyczaj dostarczonego przez dostawcę internetu (ISP) lub przez publiczne serwery jak Google (8.8.8.8) czy Cloudflare (1.1.1.1). Ten serwer przejmuje zadanie znalezienia adresu IP i robi to w Twoim imieniu.
Krok 3 — zapytanie do serwerów głównych (root servers)
Jeśli rekurencyjny serwer DNS nie ma odpowiedzi w swoim cache, pyta jeden z 13 klastrów root serwerów, fundamentu całego systemu DNS. Root serwery nie znają adresu IP szukanej strony, ale wiedzą, które serwery odpowiadają za konkretne rozszerzenie domeny (np. .pl, .com, .org).
Krok 4 — zapytanie do serwera TLD
Root serwer odsyła do serwera TLD (Top Level Domain), który jest odpowiedzialny za konkretne rozszerzenie. Dla domeny cal.pl będzie to serwer zarządzany przez NASK (rejestr polskich domen). Serwer TLD wie, które serwery nazw (nameservery) są autorytatywne dla konkretnej domeny.
Krok 5 — zapytanie do serwera autorytatywnego
Serwer rekurencyjny wysyła zapytanie do autorytatywnego serwera DNS, który faktycznie przechowuje rekordy DNS dla danej domeny. To właśnie tam właściciel domeny konfiguruje, na jaki adres IP ma wskazywać domena i jakie serwery pocztowe jej dotyczą. Ten serwer zwraca ostateczną odpowiedź.
Krok 6 — odpowiedź trafia do przeglądarki
Rekurencyjny serwer DNS zapisuje wynik w swoim cache (na czas określony przez TTL — o tym za chwilę) i przekazuje adres IP do Twojego komputera. Przeglądarka nawiązuje połączenie z serwerem pod tym adresem i ładuje stronę.
Co to jest TTL i dlaczego ma znaczenie?
TTL (Time To Live) to liczba sekund, przez którą wynik zapytania DNS może być przechowywany w cache. Każdy rekord DNS ma przypisaną wartość TTL — zazwyczaj od 300 sekund (5 minut) do 86 400 sekund (24 godziny).
TTL ma praktyczne konsekwencje, które warto rozumieć:
- Wysokie TTL (np. 86 400 sekund) — odpowiedzi są buforowane długo, co przyspiesza ładowanie strony dla powracających użytkowników i zmniejsza obciążenie serwerów DNS. Wadą jest to, że zmiany w rekordach DNS propagują się wolno, przez cały okres TTL stare rekordy mogą być serwowane z cache.
- Niskie TTL (np. 300 sekund) — zmiany rekordów wchodzą w życie szybko, co jest przydatne przed planowaną migracją serwera. Wadą jest większa liczba zapytań DNS i minimalnie dłuższy czas odpowiedzi.
Dobra praktyka przed migracją strony lub zmianą hostingu: obniż TTL do 300–600 sekund co najmniej 24–48 godzin przed planowaną zmianą. Dzięki temu po zmianie rekordu nowe ustawienia rozprzestrzenią się szybko, większość użytkowników zobaczy nową wersję strony w ciągu kilku minut, a nie godzin.
Propagacja DNS — co to znaczy, że DNS się „propaguje"?
Gdy zmieniasz rekord DNS (np. wskazujesz domenę na nowy serwer), zmiana nie dzieje się natychmiast na całym świecie. Rekurencyjne serwery DNS na całym świecie mają w cache stare wartości i będą je serwować aż do wygaśnięcia TTL. Rozchodzenie się nowych wartości przez system to właśnie propagacja DNS.
W praktyce propagacja trwa od kilku minut (przy niskim TTL) do 48 godzin (przy wysokim TTL i starym cache na serwerach ISP). W tym czasie część użytkowników może widzieć starą wersję strony, a część już nową. To normalne zachowanie systemu, nie błąd.
Możesz sprawdzić aktualny stan propagacji swoich rekordów DNS za pomocą narzędzi online takich jak whatsmydns.net lub dnschecker.org, które pokazują, jakie wartości udostępniają serwery DNS w różnych lokalizacjach na świecie.
Serwery nazw (nameservery), czyli gdzie przechowywane są Twoje rekordy?
Każda domena ma przypisane co najmniej dwa serwery nazw (nameservery, NS), które wskazują, gdzie przechowywane są jej rekordy DNS. Nameservery ustawia się u rejestratora domeny — firmy, u której domenę kupiłeś.
Gdy kupujesz domenę i hosting w jednym miejscu, nameservery zazwyczaj wskazują na serwery DNS dostawcy hostingu — i rekordy domeny możesz konfigurować bezpośrednio w jego panelu. Gdy domena jest u jednego dostawcy, a hosting u innego, musisz albo zmienić nameservery domeny na te hostingowe, albo ręcznie skonfigurować rekordy DNS u rejestratora.
Przy migracji strony na nowy hosting stron WWW zmiana nameserwerów lub rekordu A to jeden z pierwszych kroków. Jeśli korzystasz z darmowej migracji, dostawca hostingu przeprowadzi Cię przez cały proces, w tym przez prawidłową konfigurację DNS, eliminując ryzyko przestoju strony.
DNS a bezpieczeństwo
DNS, zaprojektowany w latach 80., nie był budowany z myślą o bezpieczeństwie. Przez lata wykryto wiele podatności — m.in. DNS cache poisoning (podszywanie się pod autorytatywne serwery i podstawianie fałszywych rekordów). Odpowiedzią na te zagrożenia jest DNSSEC — rozszerzenie DNS dodające podpisy kryptograficzne do rekordów, które pozwalają zweryfikować ich autentyczność.
Dla właścicieli stron równie ważne jest DNS over HTTPS (DoH) i DNS over TLS (DoT), protokoły szyfrujące zapytania DNS, które domyślnie są przesyłane otwartym tekstem. Korzystanie z publicznych serwerów DNS wspierających DoH (Cloudflare 1.1.1.1, Google 8.8.8.8) poprawia prywatność użytkowników.
Bezpieczeństwo DNS jest też ważne z perspektywy właściciela domeny: nieautoryzowana zmiana nameserwerów lub rekordów DNS to jeden ze sposobów przejęcia strony internetowej. Bezpieczny hosting z dwuskładnikowym uwierzytelnianiem w panelu zarządzania domeną i monitorowaniem zmian DNS chroni przed tego typu atakami.
DNS a CDN i wydajność
Sieci dostarczania treści (CDN) intensywnie wykorzystują DNS do kierowania użytkowników do najbliższego geograficznie węzła serwera. Gdy korzystasz z CDN, serwer autorytatywny może zwrócić różne adresy IP dla tego samego zapytania DNS w zależności od lokalizacji użytkownika. Użytkownik z Warszawy trafi na węzeł w Europie, użytkownik z Nowego Jorku na węzeł w USA. To tzw. Anycast DNS, który leży u podstaw globalnej wydajności sieci CDN.
Dla hostingu WordPress właściwa konfiguracja DNS z niskim TTL przed migracjami i wskazaniem na serwery CDN dla zasobów statycznych przekłada się na szybsze ładowanie strony dla użytkowników z całego świata.
Podsumowanie
DNS to niewidoczna infrastruktura, bez której internet w dzisiejszej formie nie mógłby istnieć. Działa tak sprawnie, że jego obecność zauważamy dopiero wtedy, gdy coś się psuje, gdy strona nie ładuje się po zmianie hostingu, gdy poczta nie dochodzi po ustawieniu nowej domeny, gdy propagacja trwa dłużej, niż się spodziewaliśmy.
Rozumienie podstaw DNS pozwala podejmować świadome decyzje przy konfiguracji domeny, migracji serwera i rozwiązywaniu problemów z dostępnością strony.