Resolver DNS

Protokoły i standardy
Serwer odbierający zapytania DNS od klientów i pobierający odpowiedzi przez odpytywanie serwerów autorytatywnych.
← Wróć do słownika

Czym jest resolver DNS?

Resolver DNS, nazywany również resolverem rekurencyjnym lub rekurencyjnym serwerem DNS, to serwer, który odbiera zapytania DNS od urządzeń klienckich i wyszukuje adres IP nazwy domeny. Resolver działa jako pośrednik między klientem a hierarchią DNS, wykonując rekursję przez serwery root, TLD i serwery autorytatywne.

Jak działają resolvery DNS

Proces rozwiązywania

Po wpisaniu w przeglądarce „example.com”:

1. Client → Resolver: "What's the IP for example.com?"

2. Resolver checks cache

→ Cache hit: Return cached result

→ Cache miss: Begin recursion

3. Resolver → Root Server: "Where's .com?"

Root → Resolver: "Ask these .com nameservers"

4. Resolver → .com TLD: "Where's example.com?"

.com → Resolver: "Ask these nameservers"

5. Resolver → Authoritative NS: "What's example.com's IP?"

Auth NS → Resolver: "203.0.113.50"

6. Resolver → Client: "203.0.113.50"

(Also caches result based on TTL)

Zapytania rekurencyjne a iteracyjne

Zapytanie rekurencyjne (klient → resolver):
Client: "Give me the final answer for example.com"

Resolver: "Here's the IP: 203.0.113.50"

(Resolver does all the work)

Zapytanie iteracyjne (resolver → serwery nazw):
Resolver: "What's example.com?"

Root: "I don't know, ask .com servers"

Resolver: "What's example.com?"

.com: "I don't know, ask ns1.example.com"

Resolver: "What's example.com?"

ns1: "203.0.113.50"

Typy resolverów

Resolver stub

Wbudowany w systemy operacyjne i aplikacje:

Przykłady: klient DNS systemu operacyjnego, biblioteki DNS aplikacji

Resolver rekurencyjny

W pełni funkcjonalny serwer wykonujący kompletne rozwiązywanie:

Przykłady: DNS operatora, Google (8.8.8.8), Cloudflare (1.1.1.1)

Resolver przekazujący

Przekazuje zapytania do innego resolvera zamiast wykonywać rekursję:

Client → Corporate Resolver (forwarding) → ISP Resolver (recursive) → Internet

Popularne publiczne resolvery

DostawcaIPv4IPv6Funkcje
Cloudflare1.1.1.1, 1.0.0.12606:4700:4700::1111Szybki, nastawiony na prywatność, bez logowania
Google8.8.8.8, 8.8.4.42001:4860:4860::8888Niezawodny, globalny anycast
Quad99.9.9.92620:fe::feFiltrowanie bezpieczeństwa, blokowanie zagrożeń
OpenDNS208.67.222.2222620:119:35::35Filtrowanie treści, ochrona przed phishingiem

Zmiana resolvera

Windows:
Control Panel → Network → Adapter Settings

→ Properties → IPv4 → Use these DNS servers:

Preferred: 1.1.1.1

Alternate: 8.8.8.8

macOS:
System Preferences → Network → Advanced → DNS

→ Add: 1.1.1.1, 8.8.8.8

Linux (/etc/resolv.conf):
nameserver 1.1.1.1

nameserver 8.8.8.8

Funkcje resolvera

Cache

Resolver przechowuje odpowiedzi DNS zgodnie z TTL:

First query: example.com

→ Full recursion (50ms)

→ Cached for 300s (TTL)

Subsequent queries: example.com

→ Cache hit (1ms)

→ Served until TTL expires

Statystyki cache często pokazują współczynnik trafień powyżej 80–90%.

Cache negatywny

Resolver przechowuje także odpowiedzi negatywne (NXDOMAIN):

Query: nonexistent.example.com

Response: NXDOMAIN

Cached: Based on SOA minimum TTL

Zapobiega to powtarzaniu zapytań o nieistniejące domeny.

Minimalizacja zapytań

Nowoczesne resolvery ograniczają ujawnianie informacji:

Tradycyjnie:
Query to .com: "What's www.blog.example.com?"

→ Exposes full subdomain structure

Minimalizacja zapytań (RFC 7816):
Query to .com: "What's example.com?"

Query to example.com NS: "What's blog.example.com?"

Query to blog.example.com NS: "What's www.blog.example.com?"

→ Reveals only necessary information at each level

Walidacja DNSSEC

Resolver świadomy bezpieczeństwa weryfikuje podpisy DNSSEC:

Query: example.com (DNSSEC-signed)

→ Resolver validates signatures

→ Returns AD (Authentic Data) flag if valid

→ Returns SERVFAIL if signatures invalid

Funkcje bezpieczeństwa resolvera

DNS przez HTTPS (DoH)

Szyfruje zapytania DNS przez HTTPS:

Traditional DNS:

Client → Resolver (UDP port 53, plaintext)

DNS over HTTPS:

Client → Resolver (TCP port 443, encrypted)

Dostawcy: Cloudflare (https://cloudflare-dns.com/dns-query), Google

DNS przez TLS (DoT)

Szyfruje zapytania DNS przez TLS:

Client → Resolver (TCP port 853, encrypted)
Korzyść: Operatorzy internetu nie mogą zobaczyć ani modyfikować zapytań DNS

Filtrowanie malware/phishingu

Niektóre resolvery blokują znane złośliwe domeny:

Quad9 (9.9.9.9): Blokuje domeny związane z malware i phishingiem Cloudflare for Families: Blokuje malware (1.1.1.2) albo malware i treści dla dorosłych (1.1.1.3)

Ograniczanie częstotliwości

Chroni przed atakami amplifikacji DNS:

If source IP sends > threshold queries/second:

→ Temporarily rate limit or block

Sprawdzanie używanego resolvera

Windows:
ipconfig /all | findstr "DNS Servers"
macOS/Linux:
cat /etc/resolv.conf
Narzędzia online: browserleaks.com/dns pokazuje, którego resolvera używa przeglądarka Test rozwiązywania:
dig example.com

# Look at "SERVER:" in output

Wydajność resolvera

Znaczenie opóźnienia

Czas odpowiedzi resolvera wpływa na wydajność stron:

ResolverŚrednie opóźnienieWpływ
Lokalny operator10–30 msSzybko, ale zmiennie
Cloudflare10–20 msStabilnie szybko (anycast)
Google20–40 msNiezawodnie, globalnie
Powolny resolver100–200 msZauważalne opóźnienie ładowania

Routing anycast

Najwięksi resolverzy używają anycastu, aby ograniczyć opóźnienia:

1.1.1.1 anycast IP

→ Routed to nearest Cloudflare datacenter

→ New York query → New York datacenter

→ London query → London datacenter

→ Result: Global low-latency resolution

Pomiar wydajności resolvera

Za pomocą Namebench (test automatyczny):
# Tests multiple resolvers with your actual query patterns

namebench

Test ręczny:
# Test Cloudflare

time dig @1.1.1.1 example.com

# Test Google

time dig @8.8.8.8 example.com

# Test ISP (current)

time dig example.com

Typowe problemy z resolverem

Zatrucie DNS

Atakujący wstrzykują fałszywe rekordy do cache resolvera:

Ograniczanie ryzyka:

Przejęcie resolvera

Operatorzy lub malware przekierowują zapytania DNS:

Objaw: Wyszukiwanie pokazuje reklamy operatora, występują nieoczekiwane przekierowania Rozwiązanie:

Nieaktualny cache

Resolver przechowuje nieaktualne rekordy:

Objaw: Zmiany DNS nie są widoczne Rozwiązanie:

Blokowanie resolvera

Niektóre sieci blokują zewnętrzne resolvery:

Objaw: Nie można połączyć się z 8.8.8.8 ani 1.1.1.1 Rozwiązanie:

Konfigurowanie lokalnego resolvera

Za pomocą Unbound

# Install Unbound (Linux)

sudo apt install unbound

# Basic config (/etc/unbound/unbound.conf)

server:

interface: 127.0.0.1

do-ip4: yes

do-udp: yes

do-tcp: yes

# Enable DNSSEC

auto-trust-anchor-file: "/var/lib/unbound/root.key"

# Privacy (query minimization)

qname-minimisation: yes

# Start service

sudo systemctl start unbound

sudo systemctl enable unbound

Za pomocą Pi-hole

Sieciowy resolver DNS blokujący reklamy:

# Install Pi-hole

curl -sSL https://install.pi-hole.net | bash

# Configure devices to use Pi-hole as resolver

# Set router DHCP to provide Pi-hole IP as DNS

Najlepsze praktyki

1. Używaj renomowanych publicznych resolverów: Cloudflare, Google lub Quad9 dla niezawodności

2. Włącz DoH/DoT: Szyfruj zapytania dla prywatności i bezpieczeństwa

3. Uwzględniaj funkcje resolvera: Wybieraj według potrzeb prywatności, szybkości lub bezpieczeństwa

4. Monitoruj wydajność resolvera: Okresowo testuj opóźnienia

5. Miej zapasowe resolvery: Skonfiguruj dodatkowy DNS dla redundancji

6. Używaj resolverów walidujących DNSSEC: Chroń przed zatruciem cache

7. Poznaj polityki resolvera: Niektóre filtrują treści, inne logują zapytania

8. Testuj po zmianach: Sprawdzaj poprawność rozwiązywania DNS

9. Dokumentuj wybór resolvera: Zapisz przyczynę wyboru konkretnego resolvera

10. Ostrożnie aktualizuj resolv.conf: Błędna konfiguracja całkowicie przerywa działanie DNS

Resolver a autorytatywny serwer nazw

CechaResolverAutorytatywny NS
RolaOdpowiada na zapytania klientówPrzechowuje rzeczywiste rekordy DNS
RekursjaTak, odpytuje inne serweryNie, odpowiada tylko dla własnych stref
CacheTak, przechowuje odpowiedziNie (dane autorytatywne)
Używany przezKlientów, użytkowników końcowychResolvery podczas rekursji
Przykłady8.8.8.8, 1.1.1.1ns1.example.com

Resolvery DNS są siłą roboczą systemu DNS. Wybór szybkiego, bezpiecznego i szanującego prywatność resolvera istotnie wpływa na wygodę przeglądania oraz bezpieczeństwo w internecie.

Wykorzystaj tę wiedzę w praktyce

Użyj API DomScan, aby sprawdzić dostępność domen, ich kondycję i więcej.