To jest pytanie kanoniczne dotyczące nadmiarowości geograficznej DNS.
Powszechnie wiadomo, że geograficznie nadmiarowe serwery DNS zlokalizowane w oddzielnych fizycznych lokalizacjach są wysoce pożądane przy świadczeniu odpornych usług internetowych. Jest to szczegółowo opisane w dokumencie BCP 16 , ale niektóre z najczęściej wymienianych powodów obejmują:
Ochrona przed katastrofami w centrach danych. Trzęsienia ziemi się zdarzają. Pożary mają miejsce w szafach i niszczą pobliskie serwery i sprzęt sieciowy. Wiele serwerów DNS nic ci nie da, jeśli problemy fizyczne w centrum danych powalą oba serwery DNS na raz, nawet jeśli nie są w tym samym rzędzie.
Ochrona przed problemami równorzędnymi. Wiele serwerów DNS nie zapobiegnie problemom, jeśli współużytkowany partner sieci nadrzędnej zrobi sobie drzemkę. Niezależnie od tego, czy problem związany z przesyłaniem danych całkowicie zabiera Cię do trybu offline, czy po prostu izoluje wszystkie serwery DNS od części bazy użytkowników, końcowy rezultat jest taki, że ludzie nie mogą uzyskać dostępu do Twojej domeny, nawet jeśli same usługi znajdują się w zupełnie innym centrum danych.
To wszystko dobrze i dobrze, ale czy nadmiarowe serwery DNS są naprawdę konieczne, jeśli korzystam z wszystkich moich usług z tego samego adresu IP? Nie rozumiem, w jaki sposób posiadanie drugiego serwera DNS przyniosłoby mi jakąkolwiek korzyść, gdyby i tak nikt nie był w stanie uzyskać dostępu do niczego.
Rozumiem, że jest to uważane za najlepszą praktykę, ale to naprawdę wydaje się bezcelowe!
źródło
Odpowiedzi:
Uwaga: Treść sporna, w obu odpowiedziach należy odnieść się do komentarzy. Znaleziono błędy i to pytanie wymaga przeglądu.
Na razie usuwam akceptację z tej odpowiedzi, dopóki stan tego kanonicznego pytania i odpowiedzi nie zostanie odpowiednio rozwiązany. (usunięcie tej odpowiedzi spowoduje także usunięcie załączonych komentarzy, co nie jest drogą do przejścia na IMO. prawdopodobnie po obszernej edycji zmieni ją w odpowiedź społeczności wiki).
Mógłbym zacytować tutaj RFC i używać terminów technicznych, ale jest to koncepcja, która jest pomijana przez wiele osób na obu końcach spektrum wiedzy i postaram się odpowiedzieć na to szerszej publiczności.
To może wydawać się bezcelowe ... ale tak naprawdę nie jest!
Serwery rekurencyjne są bardzo dobre w zapamiętywaniu, kiedy zdalne serwery nie odpowiadają na zapytanie, szczególnie gdy ponawiają próbę i nadal nie widzą odpowiedzi. Wielu wdraża buforowanie negatywne tych błędów komunikacji i tymczasowo umieszcza niereagujące serwery nazw w polu kar na czas nie dłuższy niż pięć minut. Ostatecznie okres „kary” wygasa i wznowią komunikację. Jeśli złe zapytanie nie powiedzie się ponownie, wracają do pudełka, w przeciwnym razie wracają do normy jak zwykle.
Oto gdzie napotykamy problem z pojedynczym serwerem nazw:
Krótko mówiąc, jeśli korzystasz z jednego serwera DNS (obejmuje to wielokrotne używanie tego samego adresu IP w różnych
NS
rekordach), tak się stanie. Stanie się to również o wiele bardziej, niż zdajesz sobie sprawę, ale problem będzie tak sporadyczny, że szanse na niepowodzenie 1) zostaną zgłoszone, 2) odtworzone i 3) związane z tym konkretnym problemem są bardzo zbliżone do zero. W zasadzie były zerowe, jeśli przyszedłeś do tego pytania i nie wiedziałeś, jak ten proces działa, ale na szczęście nie powinno tak być teraz!Czy to powinno ci przeszkadzać? To naprawdę nie jest moje miejsce do powiedzenia. Niektórym nie będzie w ogóle obchodził ten pięciominutowy problem z przerwami i nie jestem tu, aby cię o tym przekonać. Co ja jestem tutaj, aby przekonać się, że jesteś w rzeczywistości coś poświęcić tylko przez uruchomienie jednego serwera DNS, a wszystkich scenariuszach.
źródło
OP pyta:
Świetne pytanie!
Najlepszą odpowiedź zapewnia profesor Daniel J. Bernstein, dr Berkeley , który jest nie tylko światowej sławy badaczem, naukowcem i kryptologiem, ale napisał również bardzo popularny i dobrze przyjęty pakiet DNS znany jako DJBDNS ( ostatnio wydany w 2001 r. 02-11 , nadal popularne do dziś).
http://cr.yp.to/djbdns/third-party.html (2003-01-11)
Zwróć uwagę na tę krótką i zwięzłą część:
W związku z tym pierwotna odpowiedź na to pytanie nie może być bardziej błędna.
Tak, co jakiś czas zdarzają się krótkie tymczasowe przerwy w sieci trwające kilka sekund. Nie, brak rozwiązania nazwy podczas takiej awarii nie będzie buforowany przez żadną liczbę minut (w przeciwnym razie nawet najlepsza konfiguracja wysoce dostępnych autorytatywnych serwerów nazw na świecie nie pomoże).
Każde oprogramowanie, które swobodnie implementuje konserwatywne wytyczne do 5 minut od RFC 1998-03 do buforowania awarii, jest po prostu zepsute przez projekt, a posiadanie dodatkowego serwera nadmiarowego geograficznie nie zrobi szkody.
W rzeczywistości, jak na Jak długo limit czasu DNS jest buforowany? , w BIND
SERVFAIL
warunek tradycyjnie NIE był buforowany przed 2014 r., a od 2015 r. jest buforowany domyślnie tylko przez 1 sekundę , czyli mniej niż to, co zajęłoby przeciętnemu użytkownikowi osiągnięcie limitu czasu resolvera i ponowne naciśnięcie tego przycisku Odśwież .(I nawet zanim przejdziemy do powyższego punktu, czy próba rozwiązania powinna być buforowana, potrzeba więcej niż kilku odrzuconych pakietów, nawet zanim pierwszy SERVFAIL wystąpi w pierwszej kolejności.)
Co więcej, programiści BIND wdrożyli nawet pułap dla tej funkcji, wynoszący tylko 30s, co nawet jako pułap (np. Maksymalna wartość, jaką funkcja kiedykolwiek zaakceptuje), jest już 10 razy niższe niż sugestia 5min (300s) z RFC, zapewniając, że nawet najbardziej dobrzy administratorzy (użytkownicy gałek ocznych) nie będą mogli strzelać swoim użytkownikom w stopę.
Ponadto istnieje wiele powodów, dla których możesz nie chcieć uruchamiać usługi DNS innej firmy - przeczytaj całość
djbdns/third-party.html
dla wszystkich szczegółów , a wynajęcie małego dodatkowego serwera tylko do samodzielnego administrowania DNS nie jest uzasadnione, gdy nie jest konieczne istnieje inne niż BCP 16 takie przedsięwzięcie.W moim osobistym „anegdotycznym” doświadczeniu z posiadaniem i zakładaniem nazw domen od co najmniej 2002 roku, mogę z całą pewnością i uczciwie powiedzieć, że w sumie faktycznie miałem znaczny czas przestoju w moich różnych domenach z powodu profesjonalnego zarządzania zewnętrzne serwery moich rejestratorów i dostawców hostingu , które jeden dostawca na raz i przez lata wszystkie miały swoje incydenty, były niedostępne, niepotrzebnie sprowadzały moje domeny, w tym samym czasie, kiedy mój własny adres IP (gdzie HTTP i SMTP dla danej domeny były hostowane) był w pełni osiągalny w przeciwnym razie. Należy pamiętać, że te awarie miały miejsce z wieloma niezależnymi, szanowanymi i profesjonalnie zarządzanymi dostawcami i nie są bynajmniej odosobnionymi incydentami i zdarzają się co roku, a jako usługa strony trzeciej,są całkowicie poza twoją kontrolą ; tak się składa, że niewiele osób mówi o tym długoterminowo.
W skrócie:
DNS geograficznie nadmiarowy wcale NIE jest konieczny w przypadku małych witryn.
Jeśli używasz wszystkich swoich usług z tego samego adresu IP , dodanie drugiego DNS najprawdopodobniej spowoduje dodatkowy punkt awarii i będzie niekorzystne dla ciągłej dostępności Twojej domeny. W „mądrości” od zawsze mając to zrobić w każdej możliwej sytuacji jest bardzo popularny mit, rzeczywiście; ROZLICZONY.
Oczywiście rada byłaby zupełnie inna, gdyby niektóre usługi domeny, takie jak Internet (HTTP / HTTPS), poczta (SMTP / IMAP) lub głos / tekst (SIP / XMPP), były już obsługiwane przez strony trzecie dostawcy, w którym to przypadku wyeliminowanie własnego adresu IP jako pojedynczego punktu awarii byłoby rzeczywiście bardzo rozsądnym podejściem, a nadmiarowość geograficzna byłaby rzeczywiście bardzo przydatna.
Podobnie, jeśli masz szczególnie popularną witrynę z milionami odwiedzających i świadomie potrzebujesz dodatkowej elastyczności i ochrony nadmiarowego geograficznie DNS zgodnie z BCP 16, to… Prawdopodobnie nie używasz jednego serwera / witryny dla sieci / poczty / głos / tekst już teraz, więc to pytanie i odpowiedź oczywiście nie mają zastosowania. Powodzenia!
źródło