Jak działa propagacja DNS po zmianie rekordów? Ile trwa i jak ją przyspieszyć?
Zmieniłeś rekord A, żeby wskazać domenę na nowy serwer i czekasz. Twój kolega w Warszawie widzi nową stronę, klient z Londynu nadal trafia na starą. Support hostingu mówi, że wszystko jest w porządku. Co się dzieje?
To propagacja DNS, jeden z najczęściej źle rozumianych aspektów zarządzania domeną. Nie jest to ani błąd, ani anomalia. To normalne zachowanie globalnie rozproszonego systemu DNS, w którym informacja o zmianie rekordu rozchodzi się stopniowo, nie natychmiastowo. Ten poradnik wyjaśnia, jak propagacja przebiega, dlaczego trwa, tyle ile trwa i jak ją przyspieszyć lub zminimalizować jej wpływ na użytkowników.
Czym jest propagacja DNS?
Propagacja DNS (ang. DNS propagation) to proces, w którym nowe lub zmienione rekordy DNS rozchodzą się przez globalny system serwerów DNS tak, żeby każdy serwer DNS na świecie zwracał aktualne wartości dla Twojej domeny.
Zrozumienie propagacji wymaga rozróżnienia dwóch poziomów serwerów DNS:
- Autorytatywny serwer DNS — serwer, który przechowuje oryginalną strefę DNS Twojej domeny. Gdy zmieniasz rekord w panelu hostingu, zmiana następuje tu natychmiast. Ten serwer zawsze zwraca aktualną wartość.
- Rekurencyjny serwer DNS — serwer używany przez użytkowników końcowych do rozwiązywania nazw domen (np. serwery DNS Twojego ISP, Google 8.8.8.8, Cloudflare 1.1.1.1). Te serwery buforują odpowiedzi przez czas określony przez TTL i przez ten czas mogą zwracać stare wartości.
Propagacja DNS to nic innego jak czekanie, aż TTL cashowanych rekordów wygaśnie na wszystkich rekurencyjnych serwerach DNS na świecie i te serwery pobiorą nowe wartości z autorytatywnego serwera.
Dlaczego propagacja trwa tak długo?
Na czas propagacji wpływają trzy czynniki:
Wartość TTL rekordu przed zmianą
To najważniejszy czynnik. Jeśli rekord A Twojej domeny miał TTL 86400 sekund (24 godziny) i właśnie go zmieniłeś, serwery DNS, które pobrały wartość godzinę temu, będą ją serwować z cache przez kolejne 23 godziny niezależnie od tego, że na serwerze autorytatywnym jest już nowa wartość. Serwery, które zapytają teraz, po raz pierwszy zobaczą nowy TTL (np. 3600 sekund), ale te, które mają wartość w cache z poprzednim TTL, muszą poczekać na jego wygaśnięcie.
Zachowanie konkretnych serwerów DNS
Większość rekurencyjnych serwerów DNS respektuje TTL zgodnie ze standardem. Ale niektóre serwery, szczególnie starsze implementacje u mniejszych dostawców internetu, mogą ignorować TTL lub stosować minimalne TTL niezależnie od wartości w rekordzie. Te serwery mogą trzymać stare wartości znacznie dłużej niż wynikałoby z TTL.
Kaskadowe buforowanie
Gdy rekurencyjny serwer DNS pobiera odpowiedź od autorytatywnego serwera, buforuje ją z pełnym TTL. Ale kolejny rekurencyjny serwer, który pyta pierwszy o odpowiedź (czyli nie o autorytatywny serwer bezpośrednio), może otrzymać wartość TTL już częściowo skonsumowaną i ją też zapamiętać. Efekt kaskadowy sprawia, że w praktyce propagacja jest niejednorodna geograficznie.
Ile trwa propagacja DNS w praktyce?
Czas propagacji zależy bezpośrednio od TTL rekordu przed zmianą:
- TTL 300 sekund (5 minut) — propagacja w ciągu 5–15 minut dla większości świata. Nieliczne serwery z agresywnym buforowaniem mogą trzymać starą wartość dłużej.
- TTL 3600 sekund (1 godzina) — propagacja w ciągu 1–2 godzin dla większości świata. Do 4 godzin dla serwerów z niestandardowym zachowaniem cache.
- TTL 86400 sekund (24 godziny) — propagacja może trwać do 24–48 godzin. W praktyce większość serwerów w popularnych lokalizacjach pobiera nową wartość szybciej, ale pełna propagacja wymaga czasu.
Powszechne przekonanie, że propagacja DNS zawsze trwa 48 godzin, pochodzi z czasów, gdy TTL 86400 był powszechnym standardem. Przy TTL 3600 lub niższym propagacja jest znacznie szybsza.
Jak przyspieszyć propagację DNS?
Obniż TTL z wyprzedzeniem — jedyna skuteczna metoda
Jedyną metodą znaczącego przyspieszenia propagacji jest obniżenie TTL rekordu przed planowaną zmianą. Obniż TTL do 300 sekund co najmniej 24–48 godzin przed zmianą (tyle czasu potrzeba, żeby stary, wysoki TTL wygasł z cache wszystkich serwerów). Po tej operacji zmiana rekordu A propaguje się w ciągu kilku minut.
Zmień DNS na Cloudflare
Cloudflare oferuje funkcję „DNS Propagation Override" przez swoje Page Rules i API i jest znany z jednych z najkrótszych czasów propagacji w branży. Używając Cloudflare jako autorytatywnego serwera DNS, zyskujesz też możliwość tymczasowego ustawienia TTL na 2 minuty (minimum Cloudflare) bez dodatkowych kosztów.
Wyczyść lokalny cache DNS
Jeśli chcesz zobaczyć nową wartość na swoim komputerze natychmiast po zmianie, wyczyść lokalny cache DNS (polecenia opisane w artykule o TTL). Pamiętaj to nie przyspiesza propagacji dla innych użytkowników, tylko dla Ciebie.
Użyj innego resolwera do testowania
Jeśli Twój ISP ma serwer DNS z długim cache, możesz tymczasowo zmienić serwer DNS na komputerze na Google (8.8.8.8) lub Cloudflare (1.1.1.1), gdyż te serwery mają krótsze czasy TTL i szybciej pobierają nowe wartości.
Jak monitorować propagację DNS?
Kilka narzędzi do sprawdzania stanu propagacji z różnych lokalizacji na świecie:
- dnschecker.org — sprawdza wartość wybranego rekordu DNS z kilkudziesięciu lokalizacji jednocześnie. Widać mapę i listę serwerów z ich aktualną odpowiedzią — część zielona (nowa wartość), część czerwona (stara wartość) przez cały czas propagacji.
- whatsmydns.net — analogiczne narzędzie z przejrzystym interfejsem.
- mxtoolbox.com → DNS Lookup — sprawdza konkretne rekordy z lokalizacji MXToolbox.
- dig @8.8.8.8 twojadomena.pl A — sprawdza wartość rekordu A przez serwer Google DNS, z pominięciem lokalnego cache.
Monitorowanie propagacji jest szczególnie ważne przy migracji na nowy hosting stron WWW, wiesz dokładnie, kiedy większość użytkowników zaczęła widzieć nową wersję strony i kiedy możesz wyłączyć stary serwer bez ryzyka.
Propagacja a zmiana nameserwerów
Zmiana nameserwerów domeny (rekordy NS) rządzi się nieco innymi zasadami niż zmiana rekordów w strefie DNS. Rekordy NS domeny są przechowywane nie tylko w strefie DNS domeny, ale też w strefie TLD (np. .pl zarządzanej przez NASK) — jako tzw. glue records. Zmiana nameserwerów wymaga aktualizacji u rejestratora, który przekazuje zmianę do rejestru TLD.
Propagacja zmiany nameserwerów trwa zazwyczaj dłużej niż propagacja zmiany rekordu A , TTL rekordów NS i glue records u rejestru TLD jest zazwyczaj wysoki (24–48 godzin). Po zmianie NS nowe serwery muszą mieć wszystkie rekordy DNS Twojej domeny skonfigurowane i gotowe, zanim zmiana się spropaguje, w przeciwnym razie strona i poczta staną się niedostępne.
Przy korzystaniu z darmowej migracji, dostawca przeprowadza przez całą sekwencję: najpierw przeniesienie plików i bazy danych, potem zmianę DNS, z odpowiednim planowaniem TTL i nameserwerów. Przed migracją warto mieć aktualną kopię zapasową całej instalacji.
Propagacja a dostępność strony podczas migracji
Podczas propagacji DNS po zmianie rekordu A część użytkowników trafia na stary serwer, część na nowy. Dla zwykłej strony informacyjnej to często akceptowalne. Różne wersje strony przez kilka godzin nie są tragedią. Dla sklepów WooCommerce i aplikacji webowych to poważny problem: użytkownik zaczął zakupy na starym serwerze, zamówienie jest w starej bazie, a po przełączeniu DNS kontynuuje na nowym, gdzie tego zamówienia nie ma.
Rozwiązania dla krytycznych migracji:
- Utrzymuj oba serwery (stary i nowy) aktywne przez cały czas propagacji.
- Tymczasowo wyłącz nowe zamówienia w sklepie lub dodaj informację o planowanej przerwie technicznej.
- Przeprowadzaj migrację w nocy lub w weekend — gdy ruch jest najniższy.
- Maksymalnie obniż TTL przed migracją, żeby skrócić czas propagacji do minimum.
Dobrze zaplanowana migracja z pomocą profesjonalnej opieki WordPress uwzględnia te scenariusze i minimalizuje ryzyko przestoju lub niespójności danych.
Podsumowanie
Propagacja DNS to naturalny efekt buforowania w globalnym systemie DNS. Nie błąd, nie awaria. Jej czas zależy przede wszystkim od TTL rekordów przed zmianą. Jedynym skutecznym sposobem przyspieszenia propagacji jest wcześniejsze obniżenie TTL. Sprawia, że po zmianie rekordu nowe wartości rozchodzą się w minutach, a nie godzinach. Monitoruj stan propagacji przez narzędzia online i planuj migracje z uwzględnieniem czasu okna propagacyjnego — szczególnie dla sklepów i aplikacji wymagających spójności sesji.