DNS (Domain Name System) to rozproszony system, który tłumaczy czytelne dla człowieka nazwy domen, takie jak example.com, na adresy IP (np. 93.184.216.34 albo 2606:2800:220:1:248:1893:25c8:1946 w IPv6), które są zrozumiałe dla komputerów i routerów. Mówiąc obrazowo, to książka telefoniczna internetu: Ty pamiętasz nazwę, a DNS podaje numer. Bez niego musiałbyś wkuwać adresy IP każdej strony, którą odwiedzasz, a powodzenia z zapamiętaniem IPv6.
Jak to działa
Gdy wpisujesz adres w przeglądarce, Twój komputer odpytuje resolver (zwykle u dostawcy internetu lub publiczny, jak 1.1.1.1 Cloudflare czy 8.8.8.8 Google). Resolver, jeśli nie ma odpowiedzi w cache, pyta kolejno: serwery root, potem serwery domeny najwyższego poziomu (TLD, np. .pl), aż w końcu trafia do serwera autorytatywnego, który zna prawdziwy adres. Cała ta wędrówka trwa zwykle milisekundy.
Odpowiedzi DNS to rekordy różnych typów: A (adres IPv4), AAAA (IPv6), CNAME (alias na inną nazwę), MX (gdzie iść z pocztą), TXT (np. weryfikacje, SPF) czy NS (które serwery odpowiadają za domenę). Każdy rekord ma TTL, czyli czas, na jaki można go trzymać w cache.
Przykład z praktyki
Najszybciej sprawdzisz rekordy narzędziem dig. Komenda dig example.com A zwróci adres IPv4, a dig example.com MX pokaże serwery pocztowe. Na Windowsie masz nslookup example.com. Gdy strona „nie działa”, a ping na IP przechodzi, problem często leży właśnie w DNS, nie w samym serwerze.
Częste błędy i mity
Najpopularniejszy mit brzmi: „zmieniłem rekord, a stara wersja dalej się ładuje, więc DNS jest zepsuty”. Nie jest, to TTL i cache, po prostu poczekaj na propagację (czasem do 24-48 h, choć zwykle szybciej). Pamiętaj też, że klasyczny DNS leci otwartym tekstem przez UDP na porcie 53, więc każdy po drodze widzi, co odpytujesz, dlatego powstały DoH (DNS over HTTPS) i DoT (DNS over TLS). Drugi klasyk: literówka w rekordzie CNAME albo zapomniana kropka na końcu nazwy, która potrafi rozłożyć całą domenę.
Pojęcia powiązane: adres IP, TTL, resolver, rekord A i CNAME, DNSSEC, DoH, hosting i rejestrator domen, propagacja DNS.