Jak zmienić DNS dla strony internetowej bez zakłóceń usługi?

13

Chciałbym zmienić DNS naszej strony internetowej bez żadnych zakłóceń usług

Adres IP serwera pozostaje taki sam.
Zazwyczaj aktualizacja całego Internetu zajmuje 24–48 godzin.
Czy możliwe jest równoległe działanie obu DNS?

Ważna uwaga JamesRyana:

Pamiętaj, że niektóre serwery DNS i tak nie przestrzegają niskich TTL i pamięci podręcznej. Spodziewaj się nakładania.

^ to właśnie jest dość problem.


Tło:

Zmieniłem DNS naszej witryny na innego dostawcę (bluehost, który wydaje się być uszkodzony i dość często wyświetla stronę z reklamami zamiast naszej witryny), więc po ~ 2 godzinach wróciłem do starego oryginalnego DNS.

Adres IP serwera pozostał taki sam, więc miałem nadzieję, że nie wystąpią żadne zakłócenia usługi, ponieważ oba serwery DNS pokazują ten sam serwer.

Teraz 24 godziny później 30% Internetu nadal korzysta z uszkodzonego / niewłaściwego dostawcy (bluehost), o którym nie ma odniesienia w whois. (dotyczy Pingdom + kilku użytkowników informuje, że nie mogą nas odwiedzić)

Lupo
źródło

Odpowiedzi:

18

Właściwy sposób to zrobić:

  1. Zmień strefę TTL na minimum - w większości przypadków jest to 300 sekund (5 minut). Nie zmieniaj żadnych zapisów na tym etapie.
  2. Poczekaj 48 godzin.
  3. Dokonaj zmiany. Rozpowszechnienie zmian zajmie tylko 5 minut.
  4. Przywróć TTL do standardowych 48 godzin.

Ta procedura dotyczy wszystkich zmian, nie tylko zmian NS. Jeśli musisz zmienić adres IP rekordu A, będzie on działał dokładnie tak samo. Chociaż może to nie być absolutnie konieczne i teoretycznie możesz uruchomić dwa serwery nazw w tym czasie, to zły pomysł. Nigdy nie wiadomo, czy nie będziesz musiał wprowadzać zmian awaryjnych w ciągu tych 48 godzin.

skrobul
źródło
6
Pamiętaj, że niektóre serwery DNS i tak nie przestrzegają niskich TTL i pamięci podręcznej. Spodziewaj się nakładania.
JamesRyan
> Pamiętaj, że niektóre serwery DNS i tak nie przestrzegają niskich TTL i pamięci podręcznej. <- Myślę, że jest to dość poważny problem i jest odpowiedzialny za zakłócenia usługi!
Lupo,
6
Nie w tym przypadku, o ile oba serwery działają przez 4-dniowe okno przełączania.
David Schwartz,
1
Nie jest jasne, czy ta odpowiedź dotyczy sytuacji, w której serwery nazw pozostają takie same, ale zmienia się adres IP serwera WWW. I na pewno nie dotyczy tego, jak skrócić czas przestoju do kilku sekund. Zadam nowe pytanie.
Buttle Butkus
3

Jeśli zmieniasz dostawcę DNS (serwery nazw wyświetlane w whois), to tak, możesz uruchomić je równolegle. Patrząc na moją domenę, TTL używany przez serwery GTLD (te, które mówią innym użytkownikom Internetu, którzy prowadzą mój DNS) wynosi 48 godzin. O ile mi wiadomo, nie można tego zmienić.

Zwykle wystarczy, aby rejestrator domeny zmienił wpisy serwera nazw, upewniając się, że nowy dostawca jest już skonfigurowany, a stary dostawca utrzymuje wpisy przez co najmniej 48 godzin.

Jak wspomniano w drugiej odpowiedzi, jeśli tylko zmieniasz własne rekordy, możesz wcześniej zmniejszyć TTL w rekordzie, aby uzyskać niemal natychmiastową zamianę, chociaż niektóre złe serwery DNS nadal będą buforować dłużej.

USD Matt
źródło
> oraz że stary dostawca utrzymuje swoje wpisy przez co najmniej 48 godzin. <- Myślę, że to właśnie zrobiłem źle.
Lupo,
3

Po pierwsze, wyjaśnijmy naszą terminologię, ponieważ nie jest jeszcze jasne, o co pytasz.

Konfiguracja hostingu składa się z trzech części:

  1. Rejestrator
  2. Host serwera nazw
  3. Hosting serwera

Nierzadko wszystkie trzy są dostarczane przez tę samą firmę, ale nie jest to wymagane. Często zdarza się, że nie ma oddzielnej opłaty za 2., gdy kupiłeś 1. od tej samej firmy, co powoduje zamieszanie.

Rejestrator jest odpowiedzialny za poinformowanie opiekunów domeny nadrzędnej, że domena istnieje i jakie są jej serwery nazw.

Serwery nazw są odpowiedzialne za mapowanie twojej domeny i subdomen na adresy IP (i wszystkie inne rzeczy, które serwery nazw mogą zrobić).

Serwer to część, którą prawdopodobnie znasz, i na której kończą się żądania i wiadomości e-mail.

Kiedy masz pewność, który zmieniłeś lub chcesz zmienić, czy możesz zmodyfikować pytanie, aby było bardziej jasne?


Zakładam, że zmieniasz hosting serwera nazw. Aby to zrobić, musisz:

  1. Znajdź nowego hosta serwera nazw i skonfiguruj z nim wszystkie rekordy, które masz na bieżącym serwerze nazw.
  2. Skontaktuj się ze swoim rejestratorem i poproś go o zmianę autorytatywnych serwerów nazw na nowe, które właśnie skonfigurowałeś. Ten krok zajmie trochę czasu, ponieważ mogą nie zrobić tego natychmiast, a zaangażowane TTL często trwają 48 godzin.
  3. Gdy wszystkie nowe żądania DNS dotrą do nowych serwerów nazw, wyłącz stare.
Ladadadada
źródło
dziękuję Ladadadada, zrobiłem dokładnie to, obie konfiguracje DNS miały te same rekordy A na tym samym serwerze (i miałem nadzieję, że nie spowodują żadnych zakłóceń usługi) - niemniej wydaje się, że stary (bluehost) nie używał już konfiguracji, ponieważ informacje whois zostały już pokazane nowemu serwerowi.
Lupo,
1
Ach, to niefortunna i zła forma z Bluehost. Nie powinni usuwać twoich danych z ich serwerów nazw, gdy tylko zmienią delegację. Powinny one nadal odpowiadać przez co najmniej 48 godzin.
Ladadadada,
3

A) Jeśli prowadzisz witrynę w usłudze hostingu współdzielonego - w miarę możliwości manipuluj DNS TTL

B) Jeśli korzystasz z własnych serwerów - w celu minimalnego przestoju użyj serwera proxy na serwerze źródłowym i ekstraktorze adresów IP (forwarded_for header) w miejscu docelowym (aby początkowy adres IP mógł być taki sam), przenieś swoje pliki po aktualizacji rekordów DNS i poczekaj, aż ruch zostanie zatrzymaj na serwerze źródłowym

GioMac
źródło
Twoja odpowiedź wydaje się zawierać ukryte klejnoty, ale tylko ludzie, którzy już wiedzą, o czym mówisz, mogą zrozumieć to, co powiedziałeś. Chciałbym dodać kilka linków do twojego postu, ale nie wiem na pewno, czy są poprawne. Miałeś na myśli X-Forwarded-For? en.wikipedia.org/wiki/X-Forwarded-For I dla ekstraktora IP masz na myśli to: github.com/jonrohan/ip-extractor
Buttle Butkus
1
tak, X-Forwarded-For for extractor, powinien to być moduł serwerów WWW, który może to zrobić, w przypadku apache httpd: mod_extract_forwarded, mod_realip, mod_realip2 itp. moduł ten przetłumaczy wszystkie informacje na moduły o niższym priorytecie, takie jak php itp. .
GioMac
IPExtractor nie ma nic wspólnego z serwisem internetowym
GioMac 15.01.2013