Jak długo trwa propagacja rekordów DNS?

68

To jest kanoniczne pytanie dotyczące propagacji DNS

Jak długo trwa rozpowszechnianie różnych typów rekordów?
Czy niektóre rozmnażają się szybciej niż inne?
Dlaczego propagacja rekordów DNS zajmuje trochę czasu i jak działa?

Społeczność
źródło
1
Uwaga: historycznie istniała znacząca i znacząca różnica w czasie potrzebnym na aktualizację różnego rodzaju rejestrów (w zależności od tego, kto je prowadził i tak dalej). Dziś już tak nie jest.
Chris S
4
Kiedy ppl używa słowa „propaguj” dla DNS, wyraźnie pokazuje, że nie wie, czym jest DNS i jak działa. Miejmy nadzieję, że dokumentacja „rozprzestrzeni się” wystarczająco szybko (kciuki).
poige
3
@tonygil Proszę zobaczyć komentarz Poige. Nie ma czegoś takiego jak propagacja dns. Ponadto dostawcy usług internetowych nie kontrolują serwerów głównych. Jeśli serwery DNS tych dostawców usług internetowych buforują dłużej niż TTL rekordu, naruszają RFC. Wydaje się, że masz kilka nieporozumień dotyczących działania DNS; ale naruszenia RFC zwykle psują sposób, w jaki powinno działać. Nie ma to nic wspólnego z USA ani Europą.
Chris S
1
@tonygil: „Cyberpolicja”, aby „zmusić” ich do aktualizacji, to wszyscy sysadmini, administratorzy sieci itp. wywierający presję społeczną na złych aktorów. Internet działa, ponieważ wszyscy zgadzamy się, że powinien. Najlepszy interes naszych użytkowników, sieci itp. Leży w oczywistym „najlepszym interesie” Internetu. re: „użytkownicy nie są technogurus” - jest to strona dla profesjonalnych administratorów systemów, a nie użytkowników końcowych. Szczerze mówiąc, oczekuję, że sysadmins będą swego rodzaju „technoguru” (używającym twojej terminologii). Administratorzy systemów , z zawodu, powinni troszczyć się, jak działa ten materiał.
Evan Anderson
@EvanAnderson Całkowicie zgadzam się, że presja powoduje zmiany. z drugiej strony rzeczywistość jest taka, że ​​leniwi lub niekompetentni sysadmini są tam w hordach. a im bardziej odejdziesz od nas i Europy, tym częściej się pojawią. twoje oczekiwania są w porządku 4 USA, ale nie są one wykonalne w większości części prawdziwego świata, gdzie nieprzygotowani sysadmini są regułą. więc, chociaż oczekujesz, że wszystko będzie dobrze, powinieneś poradzić sobie ze światem rzeczywistym, gdzie NIE są. w każdym razie, powiedziałeś mi, że zrobiłeś swój. zgadzamy się nie zgadzać.
Tony Gil

Odpowiedzi:

71

„Propagacja DNS” sama w sobie nie jest prawdziwym zjawiskiem. Jest to raczej efekt działania funkcji buforowania określonej w protokole DNS. Mówienie, że zmiany „propagują” między serwerami DNS, jest wygodnym fałszem, który łatwiej jest wyjaśnić użytkownikom nietechnicznym niż opisywanie wszystkich szczegółów protokołu DNS. Jednak tak naprawdę nie działa protokół.

Rekurencyjne serwery DNS wykonują zapytania w imieniu klientów. Rekurencyjne serwery DNS, zwykle obsługiwane przez dostawców usług internetowych lub działy IT, są używane przez komputery klienckie do rozpoznawania nazw zasobów internetowych. Rekurencyjne serwery DNS buforują wyniki zapytań, które wykonują w celu poprawy wydajności. Na zapytania dotyczące już buforowanych informacji można odpowiedzieć bez dodatkowych zapytań. Czas buforowania wyniku w sekundach powinien być oparty na konfigurowalnej wartości zwanej Time To Live (TTL). Ta wartość jest określana przez autorytatywny serwer DNS dla rekordu, którego dotyczy zapytanie.

Nie ma jednej odpowiedzi na wszystkie zadawane pytania, ponieważ DNS jest protokołem rozproszonym. Zachowanie DNS zależy od konfiguracji autorytatywnego serwera DNS dla danego rekordu, konfiguracji rekurencyjnych serwerów DNS wykonujących zapytania w imieniu komputerów klienckich oraz wbudowanej funkcji buforowania DNS w systemach operacyjnych komputerów klienckich.

Dobrą praktyką jest określenie wartości TTL wystarczająco krótkiej, aby uwzględnić codzienne zmiany w rekordach DNS neecssary, ale wystarczająco długiej, aby stworzyć „wygraną” w buforowaniu (tj. Nie tak krótkim, aby zbyt szybko się zestarzała pamięć podręczna, aby zapewnić jakąkolwiek poprawę wydajności). Stosowanie zrównoważonej strategii z wartościami TTL zapewnia „wygraną” dla wszystkich. Zmniejsza zarówno obciążenie, jak i wykorzystanie pasma dla autorytatywnych serwerów DNS dla danej domeny, serwerów głównych i serwerów TLD. Zmniejsza to wykorzystanie przepustowości w górę dla operatora rekurencyjnego serwera DNS. Powoduje to szybsze odpowiedzi na zapytania dla komputerów klienckich.

Ponieważ TTL rekordu DNS jest ustawiony, mniejsze obciążenie i wykorzystanie przepustowości na autorytatywnych serwerach DNS wzrośnie, ponieważ rekurencyjne serwery DNS nie będą w stanie buforować wyniku przez długi czas. Ponieważ TTL rekordu jest wyższe, zmiany w rekordach nie będą szybko „działać”, ponieważ komputery klienckie będą nadal otrzymywać wyniki buforowane przechowywane na swoich rekurencyjnych serwerach DNS. Ustawienie optymalnego czasu wygaśnięcia sprowadza się do zachowania równowagi między wykorzystaniem a zdolnością do szybkiej zmiany zapisów i zobaczenia tych zmian odzwierciedlonych na klientach.

Warto zauważyć, że niektórzy dostawcy usług internetowych nadużywają i ignorują wartości TTL określone przez autorytatywne serwery DNS (zastępując własne zastąpienie administracyjne, co stanowi naruszenie RFC). Z technicznego punktu widzenia nie można nic z tym zrobić. Jeśli operatorzy niewłaściwych serwerów DNS mogą zlokalizować skargi do swoich systemów, administratorzy mogą zaowocować wdrożeniem najlepszych praktyk (prawdopodobnie co oznacza zdrowy rozsądek dla każdego inżyniera sieci znającego DNS). Ten szczególny rodzaj nadużycia nie stanowi problemu technicznego.

Jeśli wszyscy „przestrzegają zasad”, zmiany w rekordach DNS mogą „zadziałać” bardzo szybko. W przypadku zmiany adresu IP przypisanego do rekordu „A”, na przykład, nastąpi wykładnicze wycofanie wartości TTL, prowadzące do czasu zmiany. TTL może rozpocząć się na przykład w ciągu 1 dnia i zostać skrócony do 12 godzin w okresie 24 godzin, a następnie do 6 godzin w okresie 12 godzin, 3 godzin w ciągu 6 godzin itp., Aż do odpowiednio krótkiego okresu. Po wycofaniu TTL rekord można zmienić i przywrócić TTL do pożądanej wartości w codziennych operacjach. (Nie jest konieczne stosowanie wykładniczego wycofywania, jednak ta strategia minimalizuje czas, w którym rekord będzie miał niskie TTL i zmniejsza obciążenie autorytatywnego serwera DNS).

Po utworzeniu rekordu DNS dzienniki zmian powinny być monitorowane pod kątem prób uzyskania dostępu w wyniku starego rekordu DNS. W przykładzie zmiany rekordu „A” w odniesieniu do nowego adresu IP serwer powinien pozostać obecny przy starym adresie IP, aby obsługiwać próby dostępu wynikające z komputerów klienckich nadal korzystających ze starego rekordu „A”. Gdy próby dostępu oparte na starym rekordzie osiągną akceptowalnie niski poziom, stary adres IP może zostać wycofany. Jeśli żądania związane ze starym rekordem nie zmniejszają się szybko, możliwe jest, że (jak opisano powyżej) rekurencyjny serwer DNS ignoruje autorytatywny czas wygaśnięcia. Znanie źródłowego adresu IP próby dostępu nie zapewnia jednak bezpośrednich informacji na temat rekurencyjnego serwera DNS odpowiedzialnego za dostarczenie starego rekordu.

Osobiście widziałem, jak zmiany „zaczynają obowiązywać” natychmiast, za kilka godzin, a w niektórych przypadkach z konkretnym uszkodzonym mózgiem ISP, po kilku dniach. Wykonanie wycofania TTL i pamiętanie o tym, jak ten proces działa, zwiększy twoje zmiany dla sukcesu, ale nigdy nie możesz być pewien, co jakiś dobry idiota może zrobić z ich rekurencyjnymi serwerami DNS.

Evan Anderson
źródło
9
To nie jest odpowiedź na temat „OpenDNS” - ​​to odpowiedź na temat DNS. Każdy rekurencyjny dostawca DNS może wdrożyć dowolne interfejsy, które chcą zezwalać na czyszczenie pamięci podręcznej itp. Mówimy o DNS - nie o interfejsach API dostawców. Jeśli chodzi o twoje edycje: stoję przy frazie „uszkodzenie mózgu” jako frazie od dawna używanej w kulturze hakerów i używam jej w tym kontekście (patrz Plik Jargon, „Hakerzy” Stevena Levy'ego itp.) . Jeśli chodzi o „idiotyczne”, myślę, że rozsądnie ustalono, że poza kodeksami prawnymi jest to potoczny termin określający działania o niekompetentnym charakterze. Ja też się przy tym trzymam.
Evan Anderson
11
@tonygil - OpenDNS nie jest DNS. To tylko usługa, którą ktoś oferuje. Co się stanie, jeśli FooDNS otworzy się jutro i ma nowy ekscytujący interfejs API do czyszczenia pamięci podręcznej? Czy moja odpowiedź również powinna to obejmować? Gdzie to się kończy? To przeradza się w szaleństwo. dotyczy: praw obywatelskich - nie jestem pracodawcą ani podmiotem rządowym, który odmawia praw obywatelskich członkowi klasy chronionej. Jasne - śmiało i sprawdź, czy możesz znaleźć kogoś, kto chce mnie oskarżyć. Mogą do mnie dotrzeć pocztą na PO Box 852, Troy, OH. (866) 569-9799, x801 przekazuje na mój telefon komórkowy 24x7. (To dobra praca detektywistyczna, patrząc na mój profil, BTW.)
Evan Anderson
1
Widzisz, powiedziałeś, że presja rówieśnicza przynosi zmiany. właśnie to zrobiłem. zwrócił uwagę na to, że nie zgadzam się z używaniem „idioty” i „uszkodzonego mózgu”, ponieważ są obraźliwe i uwłaczające. fakt, że ktoś używa go obficie (tj. hakerów), nie czyni tego słusznym. kkk obficie użył słowa n. proszę szanować tych z nas, którzy troszczą się o osoby niepełnosprawne umysłowo. Rozumiem, że używasz terminów metaforycznie w swoim kolorowym stylu, ale uwierz mi: są obraźliwe i niepotrzebne.
Tony Gil
Informacje o honorowaniu TTL: TTL to maksymalna wartość, która pozwala przechowywać rzeczy w pamięci podręcznej, resolver buforowania może porzucić dane przed nim. Więc mogą go obniżyć, jeśli chcą. Prawdą jest jednak, że nie powinni go zwiększać, co stanowi naruszenie protokołu. Ale dla osób stawiających 1 sekundę w TTL niektóre pamięci podręczne bronią się, po prostu nie honorując tego i zamykając się na około 5 minut.
Patrick Mevzek,
Rekurencyjne serwery DNS, zwykle obsługiwane przez dostawców usług internetowych lub działy IT, obecnie są ogromnymi flotami (chmura anycast) otwartych rekurencyjnych serwerów nazw, takich jak 1.1.1.1lub 8.8.8.8lub 9.9.9.9lub 80.80.80.80. Ważne jest, aby zrozumieć, że są one anycastowane: odpowiedź może ulec zmianie w zależności od źródłowego adresu IP, ponieważ trafi potencjalnie zupełnie inną instancję fizyczną ORAZ pamięć podręczna, którą mają, może być globalna dla wszystkich instancji, lub nie.
Patrick Mevzek