~/sieci cat dns-anycast-czy-warto-stosowac.md
DNS Anycast – jak działa i czy warto go stosować dla swojej domeny
DNS Anycast: jak jeden adres IP obsługuje serwery na całym świecie, co realnie daje szybkości i odporności na awarie i DDoS oraz kiedy warto go stosować.

~ xad tldr dns-anycast-czy-warto-stos…
- W DNS Anycast ten sam adres IP serwera nazw jest ogłaszany przez BGP z wielu lokalizacji, a zapytanie trafia do najbliższej z punktu widzenia routingu.
- Największe korzyści to odporność na awarie pojedynczych węzłów i na ataki DDoS oraz niskie opóźnienia dla użytkowników z różnych krajów.
- Anycast przyspiesza tylko rozwiązywanie nazwy domeny, nie działanie samej strony – za to odpowiada hosting i CDN.
- Dla większości stron warto: anycastowy DNS jest standardem u dobrych dostawców, często w darmowych planach.
- Własny anycast wymaga numeru AS, własnej puli adresów i sesji BGP w wielu lokalizacjach – to rozwiązanie dla operatorów i dużych firm.
$ tree --spis-tresci
DNS Anycast to sposób działania serwerów nazw, w którym ten sam adres IP jest ogłaszany jednocześnie z wielu lokalizacji na świecie, a każde zapytanie trafia do najbliższej z nich. Czy warto go stosować? W większości przypadków tak – ale głównie dla odporności na awarie i ataki DDoS, a nie dla „magicznego” przyspieszenia strony, które często obiecują reklamy hostingu.
Poniżej wyjaśniam, jak anycast działa na poziomie routingu, co realnie daje, gdzie są jego ograniczenia i jak sprawdzić, czy Twoja domena już z niego korzysta.
Jak działa DNS Anycast
W klasycznym modelu (unicast) adres IP wskazuje jeden konkretny serwer. Jeśli serwer nazw Twojej domeny stoi w Warszawie, zapytania z Sydney muszą przelecieć przez pół świata, a gdy ten serwer padnie, odpowiada tylko drugi z listy.
W anycaście operator uruchamia wiele kopii tego samego serwera DNS w różnych centrach danych i każda z nich ogłasza ten sam prefiks IP przez protokół BGP. Routery w internecie widzą kilka tras do tego samego adresu i wybierają najlepszą według własnych reguł – zwykle najkrótszą ścieżkę w sensie sieciowym. W efekcie:
- Użytkownik w Polsce odpytuje adres serwera nazw, np.
198.51.100.53. - Jego operator kieruje pakiet do najbliższej instancji ogłaszającej ten adres, np. we Frankfurcie lub w Warszawie.
- Ta instancja odpowiada z identycznymi danymi strefy co pozostałe.
- Jeśli węzeł we Frankfurcie przestanie działać i wycofa trasę BGP, kolejne zapytania same trafią do następnej najbliższej lokalizacji.
DNS świetnie nadaje się do anycastu, bo zapytania są krótkie i bezstanowe – zwykle jeden pakiet UDP w każdą stronę. Nawet jeśli w trakcie trasa się zmieni, kolejne zapytanie po prostu trafi gdzie indziej. Na anycaście opierają się serwery główne DNS (13 nazw od A do M obsługiwanych przez ponad tysiąc instancji na świecie), serwery domen najwyższego poziomu i publiczne resolwery, takie jak 1.1.1.1 czy 8.8.8.8.
Jeśli potrzebujesz przypomnienia, jak przebiega samo rozwiązywanie nazwy od resolvera do serwera autorytatywnego, zajrzyj do artykułu jak działa serwer DNS.
Najbliższy, czyli który?
„Najbliższy” w anycaście oznacza najbliższy według routingu BGP, a nie według mapy. Operator może kierować ruch przez punkt wymiany ruchu w innym kraju, więc użytkownik z Gdańska czasem trafi do Sztokholmu, a nie do Warszawy. Przy dobrze rozbudowanej sieci dostawcy DNS różnice opóźnień są i tak niewielkie.
Unicast, anycast i GeoDNS – porównanie
| Cecha | Unicast | Anycast | GeoDNS |
|---|---|---|---|
| Adres IP | Jeden adres = jeden serwer | Jeden adres = wiele serwerów | Różne odpowiedzi dla różnych regionów |
| Wybór lokalizacji | Brak | Routing BGP | Serwer DNS na podstawie adresu resolvera lub klienta |
| Przełączenie po awarii | Klient musi spróbować innego serwera | Automatyczne po wycofaniu trasy | Zależy od kontroli stanu i TTL |
| Odporność na DDoS | Niska | Wysoka – atak rozkłada się na węzły | Zależy od infrastruktury |
| Typowe zastosowanie | Mały, lokalny serwer DNS | Serwery nazw domen, resolwery publiczne | Kierowanie ruchu do najbliższego serwera WWW |
Anycast i GeoDNS często występują razem: serwery nazw działają w anycaście, a odpowiedzi mogą zależeć od regionu użytkownika.
Co realnie daje DNS Anycast
Odporność na awarie
To najważniejsza zaleta. Awaria całego centrum danych, łącza czy pojedynczego serwera nie wyłącza rozwiązywania nazw – trasy z niedziałającego węzła znikają, a ruch przejmują pozostałe. W unicaście odporność zapewnia tylko to, że domena ma kilka serwerów nazw, a resolver po timeoucie próbuje następnego, co trwa.
Ochrona przed DDoS
Atak wolumetryczny na serwery DNS rozkłada się na wszystkie lokalizacje anycastowe, bo każdy botnet „widzi” najbliższy sobie węzeł. Zamiast jednego przeciążonego serwera masz dziesiątki lub setki węzłów, z których każdy obsługuje część ruchu. Jeśli atak przeciąży jeden region, reszta świata nadal ma działający DNS. Więcej o samych atakach w artykule ataki DDoS i jak im zapobiegać.
Niższe opóźnienia
Zapytanie do serwera oddalonego o kilka milisekund zamiast o sto czy dwieście daje zauważalną różnicę przy pierwszym rozwiązaniu nazwy. Ma to znaczenie dla serwisów z odwiedzającymi z wielu kontynentów, aplikacji wykonujących wiele zapytań do różnych subdomen i rekordów z krótkim TTL.
Ograniczenia, o których mówi się rzadziej
- Pamięć podręczna resolverów. Większość zapytań użytkowników trafia do resolvera operatora lub publicznego, który trzyma odpowiedź przez czas TTL. Twój serwer autorytatywny jest odpytywany stosunkowo rzadko, więc zysk z anycastu dotyczy tylko części wizyt.
- DNS to mały fragment czasu ładowania. Rozwiązanie nazwy trwa zwykle kilka–kilkadziesiąt milisekund. Na szybkość strony dużo bardziej wpływa serwer, rozmiar zasobów, cache i CDN. Gdzie naprawdę tracisz czas, pokaże pomiar, np. w WebPageTest.
- Anycast DNS nie przyspiesza samej strony. Jeśli serwer WWW stoi w jednym miejscu, użytkownik z innego kontynentu nadal pobiera z niego treści. Rozproszenie treści zapewnia dopiero CDN, który zresztą sam często korzysta z anycastu.
- Trudniejsza diagnostyka. Różni użytkownicy trafiają do różnych instancji, więc błąd w jednym węźle (np. nieaktualna strefa) widzi tylko część świata.
- Routing nie zawsze jest optymalny. Decyzje BGP zależą od polityk operatorów; czasem ruch płynie do dalszego węzła niż by się chciało.
Jak sprawdzić, czy Twój DNS działa w anycaście
Najpierw sprawdź, jakie serwery nazw obsługują Twoją domenę:
dig NS xad.pl +short
Następnie możesz odpytać serwer o identyfikator instancji. Wiele serwerów obsługuje opcję NSID albo zapytania klasy CHAOS:
dig +nsid @ns1.example.net example.com
dig @1.1.1.1 id.server CH TXT +short
Jeśli serwer zwraca nazwę węzła (np. kod lotniska najbliższego centrum danych), a z innego kraju – przez VPN lub zdalny serwer – dostajesz inną nazwę przy tym samym adresie IP, masz do czynienia z anycastem. Pomocne są też narzędzia typu looking glass operatorów i porównanie wyników traceroute z różnych lokalizacji.
Jak uruchomić DNS Anycast dla swojej domeny
Dla zdecydowanej większości firm i właścicieli stron rozwiązanie jest proste: przenieś strefę DNS do dostawcy, który ma sieć anycastową. Robią to m.in. Cloudflare (także w darmowym planie), Amazon Route 53, Google Cloud DNS, Azure DNS oraz wielu rejestratorów i firm hostingowych, również w Polsce. Zmiana sprowadza się do:
- Założenia strefy u nowego dostawcy i skopiowania wszystkich rekordów (A, AAAA, CNAME, MX, TXT, SRV).
- Obniżenia TTL rekordów u starego dostawcy dzień–dwa przed migracją.
- Zmiany serwerów nazw w panelu rejestratora domeny.
- Sprawdzenia, czy domena rozwiązuje się poprawnie z kilku resolverów, a po ustabilizowaniu – przywrócenia normalnego TTL.
Jak przy okazji zabezpieczyć strefę (DNSSEC, rekordy CAA, 2FA na koncie), opisuję na przykładzie Cloudflare w artykule jak zabezpieczyć DNS.
Wskazówka: Przy krytycznych usługach rozważ dwóch niezależnych dostawców DNS (np. podstawowy i zapasowy z synchronizacją strefy). Anycast chroni przed awarią pojedynczego węzła, ale nie przed globalną awarią czy błędem konfiguracji u jednego dostawcy.
Własny anycast – kiedy ma sens
Budowa własnego anycastu wymaga numeru systemu autonomicznego (AS), własnej puli adresów (co najmniej prefiks /24 w IPv4 i /48 w IPv6, bo mniejsze nie są przyjmowane w globalnym routingu), serwerów w kilku lokalizacjach z sesjami BGP do operatorów oraz mechanizmu wycofywania tras, gdy usługa przestaje działać. Zasady eksploatacji takich usług opisuje dokument RFC 4786. To projekt dla operatorów, dostawców hostingu i dużych firm – nie dla pojedynczej strony.
Czy warto stosować DNS Anycast – krótka odpowiedź
Tak, jeśli możesz go mieć bez dodatkowego wysiłku, a zwykle możesz: dobrzy dostawcy DNS oferują anycast w standardzie. Największy zysk to odporność na awarie i DDoS, mniejszy – szybsze rozwiązywanie nazw dla odwiedzających z różnych krajów. Nie oczekuj natomiast, że sam anycastowy DNS wyraźnie przyspieszy Twoją stronę – do tego potrzebujesz szybkiego serwera, optymalizacji i CDN.
~ man faq
Najczęściej zadawane pytania
Co to jest DNS Anycast?
DNS Anycast to sposób udostępniania serwerów DNS, w którym wiele serwerów w różnych miejscach świata używa tego samego adresu IP. Routing internetowy (BGP) kieruje każde zapytanie do najbliższej, najlepiej osiągalnej instancji.
Czy DNS Anycast przyspiesza stronę internetową?
Skraca tylko czas rozwiązywania nazwy domeny, i to głównie przy pierwszym zapytaniu, zanim odpowiedź trafi do pamięci podręcznej resolvera. Na ogólny czas ładowania strony ma zwykle niewielki wpływ, większy przy odwiedzających z wielu krajów.
Czym różni się anycast od unicastu?
W unicaście jeden adres IP należy do jednego serwera. W anycaście ten sam adres jest ogłaszany przez wiele serwerów w różnych lokalizacjach, a sieć sama wybiera najbliższy.
Czy anycast chroni przed atakami DDoS?
Tak, w dużym stopniu. Ruch ataku rozkłada się na wszystkie lokalizacje, a przeciążenie jednego węzła nie wyłącza pozostałych. Nie zastępuje to jednak dedykowanej ochrony przed DDoS dla samej strony i serwera.
Jak sprawdzić, czy mój dostawca DNS używa anycastu?
Najprościej w dokumentacji dostawcy. Technicznie możesz porównać trasy do serwera nazw z różnych miejsc (traceroute, narzędzia typu looking glass) albo odpytać serwer o identyfikator instancji, np. poleceniem dig z opcją +nsid.
Ten artykuł jest częścią tematu
$ whoami
Założyciel i redaktor XAD.pl. Pisze o sieciach, bezpieczeństwie IT, administracji systemami Windows i Linux oraz o sprzęcie, który sprawia ludziom problemy na co dzień.


