Lokalne czy publiczne serwery NTP?

11

W przypadku stosunkowo dużej sieci (tysiące hostów) - jakie są argumenty za i przeciw zarządzaniu lokalnie zarządzanymi (pulą) serwerami NTP (być może okresowo ustawianymi przez jakiś publiczny serwer NTP) i posiadanie wszystkich innych hostów w sieci że (pula) serwerów (serwerów) NTP w porównaniu z tym, że wszystkie hosty po prostu bezpośrednio korzystają z publicznych serwerów NTP, powiedzmy za pośrednictwem ntp.pool.org?

Oprócz zalet i wad, jaka jest dzisiaj typowa najlepsza praktyka?

BeeOnRope
źródło
pytanie o pracę domową? Wygląda na to, że administrator sieci dla sieci z tysiącami hostów już używałby NTP.
JamesBarnett 13.01.11
2
Pytanie nie dotyczy tego, czy użyć NTP, ale czy stanąć w obronie własnego NTP, czy publicznego.
Ian Varley,
Hah, już dawno nie miałem pracy domowej :) Nie jestem osobiście administratorem sieci z tysiącami hostów - ale pojawiło się pytanie i jestem zainteresowany istniejącymi najlepszymi praktykami.
BeeOnRope

Odpowiedzi:

12

Najlepszą praktyką jest uruchomienie własnej puli serwerów NTP skonfigurowanych do synchronizacji z publicznymi serwerami NTP. W przypadku, gdy Twoja organizacja miała utracić dostęp do Internetu, nie chciałbyś, aby Twoje zegary ulegały przekrzywieniu. Ponadto niegrzeczne jest ustawianie tysięcy hostów na serwery publiczne, gdy można (i należy) obsługiwać serwer lustrzany.

Wreszcie, jeśli masz wymagania dotyczące bezpieczeństwa, powinieneś obsługiwać własne niezależne hosty NTP. Do działania tych systemów wymagany jest specjalny sprzęt.

EDYCJA: Ponieważ była dyskusja na ten temat, oto trochę sprzętu:

Wygląda na to, że każdy sprzęt obsługujący PPS działa na nowoczesnym NTTP . Obejmuje to niektóre jednostki GPS, chociaż wydaje się to rzadkie, przynajmniej tak rzadkie, jak w dzisiejszych czasach szeregowe jednostki GPS. Istnieją jednak urządzenia sprzętowe sprzedawane specjalnie do tej funkcji, w tym jeden produkt o nazwie TSync-PCIe. Według strony producenta:

TSync-PCIe oferuje kilka konfiguracji zsynchronizowanego pakietu czytnika / generatora kodu czasowego, oferując elastyczność i łatwą integrację precyzyjnego taktowania z wbudowaną aplikacją komputerową. Wybierz synchronizację z IRIG (i innymi podobnymi kodami czasowymi), GPS (odbiorniki wewnętrzne lub zewnętrzne) lub Precise Time Protocol (PTP / IEEE-1588v2). - Link do strony: http://i564f.6o.to

ewindisch
źródło
1
+1 za wzmiankę o zegarze sprzętowym. W sieci są wskazówki, jak podłączyć taniego Garmin 18 LVC do komputera z systemem Linux, aby stworzyć własne źródło Stratum 0.
Chris S
Chociaż wszystkie te instrukcje wydają się obejmować własne hakowanie sprzętu w celu zbudowania interfejsu.
Phil Hollenback,
@Phil, ludzie szukający taniego źródła 0 warstwy GPS prawdopodobnie są skłonni do trochę hakowania sprzętu. Jeśli chcesz czegoś łatwego, rozłóż na to gotówkę jak wszyscy inni.
Chris S
Tak, po prostu wydaje się dość proste zadanie, aby uzyskać kod czasowy z urządzenia GPS, więc naiwnie zakładam, że byłoby to proste połączenie.
Phil Hollenback,
8

Nawet w małej sieci korzystam z lokalnej usługi NTP, która sama aktualizuje się z zewnętrznej. Jednym z powodów jest czysto historyczny, sięgający czasów, kiedy jedynym połączeniem z Internetem było połączenie modemowe. Po drugie, jeśli z jakiegokolwiek powodu usługa NTP jest zła, wolałbym, aby wszystkie komputery były nadal spójne, co jest bardziej prawdopodobne, jeśli wszystkie są aktualizowane z jednego źródła.

John Gardeniers
źródło
Tak to wygląda, imho. Chociaż posiadanie „właściwego” czasu jest zdecydowanie dobrą rzeczą, w rzeczywistości może być ważniejsze, aby urządzenia w sieci LAN miały spójny czas między nimi, nawet jeśli jest inny niż właściwy czas. Rzeczy takie jak uwierzytelnianie Kerberos zawiedzie, jeśli czas nie jest zsynchronizowany między serwerami i klientami, a spójny czas może być ważny dla takich rzeczy, jak monitorowanie dziennika, zapisy CCTV (np. Kamera i PVR dodadzą znacznik czasu) itp.
Rob Moir
7

Najlepsza praktyka, skonfiguruj 2 (lub więcej) hostów NTP w swojej lokalizacji, obejrzyj je. Niech zsynchronizują je z co najmniej 4 (najlepiej do 8) zewnętrznymi serwerami od 0.pool.ntp.org do 3.pool.ntp.org. Jeśli używasz więcej niż 4, powinieneś dostosować częstotliwość odpytywania członków puli.

Oto zmodyfikowana wersja mojego pliku ntp.conf:

server 0.us.pool.ntp.org minpoll 8 maxpoll 14
server 1.us.pool.ntp.org minpoll 8 maxpoll 14
server 2.us.pool.ntp.org minpoll 8 maxpoll 14
server 3.us.pool.ntp.org minpoll 8 maxpoll 14

peer ntp2.example.com

driftfile /var/db/drift.ntp
logfile /var/log/ntp.log
logconfig +sysall +syncall

Możesz pominąć argumenty minpoll i maxpoll, dodaję je, więc jestem nieco lżejszy na tych serwerach. Wartości wynoszą 2 ^ n sekund, gdzie n jest argumentem; wartości te są wyższe niż wartości domyślne (6 i 10), ponieważ już sonduję 12 różnych serwerów między moimi trzema hostami NTP.

Jeśli bardzo zależy Ci na dokładności, możesz również dodać:

server tick.usno.navy.mil prefer minpoll 10 maxpoll 16

Spowoduje to sondowanie zegara atomowego marynarki wojennej. Zwróć uwagę na wysokie czasy odpytywania, ponieważ są one dość mocno obciążone i poprosiły ludzi, aby odpoczywali na swoim serwerze (w rzeczywistości klaster z 3 węzłami).

Chris S.
źródło
Co się stanie, jeśli zewnętrzne serwery NTP nie będą zsynchronizowane?
Warren Dew
1. To się nie zdarza lub przynajmniej nie w skali, która ma znaczenie. 2. Zależy to od tego, co dokładnie jest „niezsynchronizowane” i od tego, ile. Jeśli pojedynczy serwer zewnętrzny jest daleko, nie będzie używany. Szanse na to, że wszystkie 4 zostaną zwariowane, są astronomicznie małe. Jeśli obawiasz się o dokładność, skorzystaj z klastra serwerów USNO, jego niski poziom jittera sprawi, że czas będzie lepszy.
Chris S,
3

Jak wspomnieli inni, w przypadku tysięcy hostów wewnętrznych najlepszym rozwiązaniem jest zapewnienie własnych serwerów czasu. Z powodów takich jak (jak już wspomniano):

  • struktura: skonfiguruj ustawienia czasu według własnego uznania; z maksymalnie 1 źródłami warstwy
  • solidność: skonfiguruj system NTTP tak, aby był niezawodny w razie potrzeby; korzystanie z własnych źródeł zegara (GPS) i / lub źródeł NTP o różnych trasach
  • uprzejmość: uprzejme wzięcie pod uwagę przy organizacji zewnętrznych źródeł czasu; mniejsze obciążenie dla nich
  • wydajność: ograniczenie zewnętrznego ruchu sieciowego NTP do kilku hostów (drobny problem)
  • bezpieczeństwo: ograniczenie zewnętrznego ruchu sieciowego NTP do kilku zahartowanych hostów

W zakresie najlepszych praktyk:

Od http://www.ntp.org/ntpfaq/NTP-s-config-adv.htm , tutaj jest zalecana struktura dla źródeł wyłącznie NTP.

 1a  1b     1c  1d     1e  1f      outside
. \ / ...... \ / ...... \ / ..............
   2a ---p--- 2b ---p--- 2c        inside
  /|\        /|\        /|\
 / | \      / | \      / | \
3a 3b 3c   3e 3f 3g   3h 3i 3j

Key: 1 = stratum-1, 2 = stratum-2, 3 = stratum-3, p = peer

Dodatkowe informacje na temat konfigurowania serwera NTP można znaleźć na stronie http://www.pool.ntp.org/join/configuration.html . Przykładami są:

  • Skonfiguruj około 5 serwerów
  • Użyj standardowego ntpd
  • Nie używaj sterownika zegara LOCAL
  • używaj źródeł czasu NTP, które są najbliżej Ciebie geograficznie / sieci i mają niskie liczby warstw
Lars Nordin
źródło
Zwróć uwagę na komentarz po tym wpisie w FAQ, że niepożądane jest posiadanie serwerów warstwy 3 w zależności od jednego serwera warstwy 2. Zamiast dokładnie przestrzegać powyższego diagramu, powinny być linie z każdego serwera warstwy 3 do każdego serwera warstwy 2.
Paul Gear
1

Myślę, że większość dużych sieci korzysta z niewielkiej puli dedykowanych wewnętrznych serwerów NTTP. Ruch NTTP jest dość niewielki, więc prawdopodobnie nie potrzebujesz wielu serwerów do obsługi dużej organizacji.

Podobnie jak w przypadku wszystkich usług sieciowych, zaletą prowadzenia własnych serwerów NTTP jest to, że masz większą kontrolę i możesz podejmować więcej decyzji. Na przykład, jeśli stracisz połączenie sieciowe ze światem zewnętrznym, twoje maszyny będą mogły nadal komunikować się z twoim wewnętrznym serwerem NTTP i nie musisz się martwić, że wszystkie będą musiały ponownie połączyć się z serwerami zewnętrznymi.

Jeśli masz tysiące serwerów, powinieneś również rozważyć uruchomienie własnego dedykowanego serwera czasu, na przykład z urządzenia GPS lub dedykowanego zegara atomowego . Nie jestem pewien, ile to kosztuje w dzisiejszych czasach, ale nie może być drogie w porównaniu z tysiącami systemów, które już obsługujesz. Masz wtedy dokładną usługę czasu całkowicie niezależną od twojego połączenia ze światem zewnętrznym.

Inną kwestią do rozważenia jest to, że prowadzenie własnych serwerów NTTP jest bardziej grzeczne. W ten sposób masz tylko kilka maszyn wysyłających żądania zewnętrzne w przeciwieństwie do tysięcy. Jestem pewien, że administratorzy publicznie dostępnych serwerów NTTP doceniliby to. Ponadto nieznacznie (bardzo nieznacznie) zmniejszy ruch w sieci zewnętrznej, co prawdopodobnie jest dobrą rzeczą.

Również jeśli posiadasz własne serwery NTTP, możesz trochę zaostrzyć zaporę ogniową, ponieważ tylko kilka komputerów łączy się na zewnątrz na porcie 123 zamiast wielu maszyn. To może być przydatne.

Program ntp jest łatwy w konfiguracji, a po uruchomieniu wymaga bardzo niewielkiej konserwacji. Każda firma, z którą kiedykolwiek byłem zaangażowany, skonfigurowała własne serwery NTTP i to działało dobrze.

Phil Hollenback
źródło
0

Najlepszą praktyką w takim przypadku byłoby uruchomienie własnego serwera NTP - lub w razie potrzeby puli - i pobranie geograficzne z najbliższej puli NTP. Zmniejsza to obciążenie, które muszą ponosić publiczne serwery NTP, ale nadal zapewnia wysoką dokładność. Jeśli potrzebujesz jeszcze większej dokładności, możesz pobrać z serwerów Stratum 1, ale spowoduje to zwiększenie obciążenia, które musi ponieść pula, więc powinieneś to zrobić tylko wtedy, gdy chcesz wesprzeć serwer w puli.

Scrivener
źródło
0

Dobrym powodem do uruchomienia własnego serwera (serwerów) NTP w dużej sieci jest upewnienie się, że wszystkie twoje maszyny zgadzają się na właściwy czas. Posiadanie wielu systemów z własnymi ustawieniami dla zewnętrznych serwerów czasu (lub wszystkie używające różnych członków pool.ntp.org) może prowadzić do niewielkich różnic w czasie w systemach, co może prowadzić do problemów.

Innym dobrym powodem jest to, że posiadanie własnego (-ych) serwera (-ów) NTP oznacza, że ​​zsynchronizowany czas pozostanie dostępny dla kilku (monitorowanych!) Serwerów, gdy łącze zewnętrzne ulegnie awarii lub zostanie nasycone ruchem.

Cała moja opinia jako timegeek.

Koos van den Hout
źródło