Anycast DNS

Bezpieczeństwo i zagrożenia
Metoda adresowania i routingu, w której zapytania DNS są kierowane do najbliższego lub najlepiej działającego serwera.
← Wróć do słownika

Czym jest DNS anycast?

DNS anycast to metoda routingu sieciowego, w której wiele serwerów DNS w różnych lokalizacjach geograficznych współdzieli ten sam adres IP. Gdy użytkownik wysyła zapytanie do serwera DNS przez anycast, sieć automatycznie kieruje je do najbliższego lub najlepiej działającego serwera, skracając czas odpowiedzi oraz zapewniając wbudowaną redundancję i ochronę przed DDoS.

Jak działa anycast

Tradycyjny unicast a anycast

Unicast (tradycyjny):
User Query → Specific Server IP → Fixed Location

London User → 203.0.113.1 → New York Server (high latency)

Anycast:
User Query → Shared IP → Nearest Server

London User → 203.0.113.1 → London Server (low latency)

Tokyo User → 203.0.113.1 → Tokyo Server (low latency)

Sydney User → 203.0.113.1 → Sydney Server (low latency)

Mechanizm routingu

1. Wiele serwerów, jeden adres IP: wszystkie serwery anycast ogłaszają ten sam adres IP

2. Routing BGP: Border Gateway Protocol kieruje ruch do „najbliższego” serwera

3. Bliskość sieciowa: określana na podstawie metryk BGP (przeskoków, opóźnienia i zasad sieciowych)

4. Automatyczne przełączanie awaryjne: po awarii jednego serwera ruch jest kierowany do kolejnego najbliższego

Korzyści z DNS anycast

1. Mniejsze opóźnienia

Rozmieszczenie geograficzne skraca czas zapytań DNS:

Lokalizacja użytkownikaOpóźnienie unicastOpóźnienie anycastPoprawa
New York10ms5ms50% szybciej
London120ms8ms93% szybciej
Tokyo180ms12ms93% szybciej
Sydney220ms15ms93% szybciej
Wpływ w praktyce:
DNS Resolution Time:

Unicast: 150ms (distant server)

Anycast: 10ms (local server)

Savings: 140ms per query

For a page with 20 DNS lookups:

Total savings: 2,800ms (2.8 seconds!)

2. Wbudowana redundancja

Wiele punktów obecności (PoP) zapewnia automatyczne przełączanie awaryjne:

Normal Operation:

London Server → Online → Serving traffic

Paris Server → Online → Serving traffic

Frankfurt Server → Online → Serving traffic

Server Failure:

London Server → OFFLINE

Paris Server → Online → Absorbs London traffic automatically

Frankfurt Server → Online → Absorbs London traffic automatically

3. Ograniczanie DDoS

Rozproszona infrastruktura absorbuje ataki:

Pojedynczy serwer (unicast):
Attack: 100 Gbps DDoS → Single Server → Overwhelmed → Service Down
Sieć anycast:
Attack: 100 Gbps DDoS → Distributed across 20 servers

Each server receives: ~5 Gbps

Result: Attack absorbed, service continues

4. Lepsza wydajność

Anycast skraca czas rozwiązywania zapytań DNS:

# Query time comparison

dig @8.8.8.8 example.com # Google's anycast DNS

# Query time: 12 msec

dig @single-server.dns.com example.com # Unicast DNS

# Query time: 145 msec

Architektura DNS anycast

Struktura sieci

[Global Anycast IP: 203.0.113.1]

|

┌─────────────────────┼──────────────────────┐

| | |

[US West PoP] [Europe PoP] [Asia PoP]

- Los Angeles - London - Tokyo

- San Francisco - Frankfurt - Singapore

- Seattle - Amsterdam - Hong Kong

Konfiguracja serwera

Każda lokalizacja anycast:

Ogłaszanie BGP

Example BGP Configuration:

IP Block: 203.0.113.0/24

London PoP announces: 203.0.113.1 via AS64500

New York PoP announces: 203.0.113.1 via AS64500

Tokyo PoP announces: 203.0.113.1 via AS64500

Internet routers select nearest announcement based on BGP metrics.

Popularni dostawcy DNS anycast

Publiczne resolvery

DostawcaIPv4IPv6PoP
Cloudflare1.1.1.12606:4700:4700::1111300+
Google8.8.8.82001:4860:4860::8888100+
Quad99.9.9.92620:fe::fe150+
OpenDNS208.67.222.2222620:119:35::3525+

Dostawcy autorytatywnego DNS

Cloudflare DNS: AWS Route 53: NS1: Dyn (Oracle):

Konfigurowanie DNS anycast

Dla autorytatywnego DNS

1. Wybierz dostawcę:

Wybierz usługę hostingu DNS anycast:

# Cloudflare example

Name Servers:

ns1.cloudflare.com (anycast)

ns2.cloudflare.com (anycast)

2. Zaktualizuj rejestratora:

Skieruj domenę na serwery nazw anycast:

example.com.    NS    ns1.cloudflare.com.

example.com. NS ns2.cloudflare.com.

3. Skonfiguruj rekordy DNS:

Dodaj rekordy DNS u dostawcy:

example.com.    A     203.0.113.50

www A 203.0.113.50

mail MX mail.example.com.

Dla rekurencyjnego DNS

Przełącz się na resolvery anycast: Linux/Mac (/etc/resolv.conf):
nameserver 1.1.1.1

nameserver 1.0.0.1

Windows (ustawienia sieci):
Preferred DNS:  1.1.1.1

Alternate DNS: 1.0.0.1

Konfiguracja routera:

Ustaw serwery DNS na poziomie routera, aby zastosować je w całej sieci.

Anycast a inne architektury DNS

Anycast a unicast

FunkcjaAnycastUnicast
RoutingNajbliższy serwerKonkretny serwer
OpóźnienieNiskie (lokalne)Zmiennie (zależne od odległości)
RedundancjaWbudowanaWymaga dodatkowych adresów IP
Ochrona DDoSRozproszona absorpcjaPodatny pojedynczy punkt
ZłożonośćWiększa (routing BGP)Prosty (routing bezpośredni)

Anycast a GeoDNS

FunkcjaAnycastGeoDNS
Warstwa routinguSieć (BGP)Aplikacja (DNS)
Przełączanie awaryjneAutomatyczneSkonfigurowane
SzczegółowośćBliskość sieciowaRegiony geograficzne
Adres IPTen sam adres globalnieRóżne adresy IP w regionach
ZastosowanieGlobalna wydajnośćRegionalne dostarczanie treści

Porównanie wydajności

Czas rozwiązywania zapytań DNS

Test: 1000 DNS queries from various global locations

Unicast DNS (single server in US):

Average: 145ms

Min: 12ms (US queries)

Max: 340ms (Asia/Australia queries)

Anycast DNS (20 global PoPs):

Average: 18ms

Min: 5ms

Max: 45ms

Performance Improvement: 87% faster average response

Testy w praktyce

# Test anycast DNS performance

for location in us-east eu-west asia-pacific; do

dig @1.1.1.1 example.com | grep "Query time"

done

# Results:

# US East: Query time: 8 msec

# EU West: Query time: 11 msec

# Asia Pacific: Query time: 14 msec

# Compare to unicast:

dig @unicast-server.com example.com | grep "Query time"

# Query time: 167 msec (from Asia)

Ograniczenia anycast

1. Wymóg protokołu bezstanowego

Anycast najlepiej działa z bezstanowymi protokołami, takimi jak DNS:

Nie nadaje się do:

2. Asymetria routingu

Ruch może podążać różnymi ścieżkami:

Query:    User → Nearest anycast server → Response

Next Query: User → Different server (if routing changes)

3. Czas konwergencji BGP

Podczas awarii aktualizacje routingu BGP wymagają czasu:

Server Failure → BGP update propagation (30-120 seconds)

During convergence: Some queries may fail

After convergence: Traffic rerouted automatically

Monitorowanie DNS anycast

Kluczowe metryki

Czas odpowiedzi według lokalizacji:
# Monitor from multiple locations

curl "https://api.monitoring-service.com/dns/check?domain=example.com&locations=all"

Dostępność według PoP: Rozkład ruchu:
PoP Statistics:

US East: 35% of queries

EU West: 28% of queries

Asia: 22% of queries

Other: 15% of queries

Kontrole kondycji

# Verify anycast is working

dig +short @anycast-server.com example.com

# Test from multiple locations

for server in probe1 probe2 probe3; do

ssh $server "dig @anycast-ip example.com +short"

done

# Should see responses from geographically appropriate servers

Dobre praktyki

1. Używaj anycast dla autorytatywnego DNS

Przełącz się na hosting DNS anycast, aby uzyskać:

2. Połącz z GeoDNS

Połącz anycast (infrastrukturę) z GeoDNS (aplikacją):

Anycast → Fast routing to nearest DNS server

GeoDNS → Return geographically appropriate IP addresses

3. Monitoruj wszystkie PoP

Skonfiguruj monitoring dla każdej lokalizacji anycast:

4. Planuj konwergencję BGP

Podczas incydentów oczekuj aktualizacji routingu trwających 30-120 sekund:

5. Testuj scenariusze przełączania awaryjnego

Regularnie sprawdzaj, jak sieć anycast obsługuje awarie:

# Simulate PoP failure

# Verify traffic reroutes automatically

# Measure convergence time

# Check user impact

DNS anycast jest niezbędny dla nowoczesnej, wydajnej infrastruktury internetowej. Zapewnia szybkie rozwiązywanie DNS, automatyczną redundancję i wbudowaną ochronę DDoS witrynom oraz aplikacjom obsługującym odbiorców na całym świecie.

Wykorzystaj tę wiedzę w praktyce

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