Jak skonfigurować NTP do użytku w projekcie puli NTP na CentOS 7

wprowadzenie

dokładne utrzymywanie czasu ma kluczowe znaczenie dla prawie każdej usługi lub oprogramowania. Wiadomości e-mail, rejestratory, systemy zdarzeń i harmonogramy, mechanizmy uwierzytelniania użytkowników i usługi działające na platformach rozproszonych potrzebują dokładnych znaczników czasu do rejestrowania zdarzeń w porządku chronologicznym. Usługi te wykorzystują Network Time Protocol lub NTP, aby zsynchronizować zegar systemowy z zaufanym źródłem zewnętrznym. Źródłem tym może być zegar atomowy, Odbiornik GPS lub inny serwer czasu, który już korzysta z NTP.

to jest, gdzie projekt puli NTP wchodzi w grę. Jest to ogromny globalny klaster serwerów czasu, który zapewnia łatwy dostęp do znanego „dobrego czasu” dla dziesiątek milionów klientów na całym świecie. Jest to domyślny serwer czasu dla Ubuntu i większości innych głównych dystrybucji Linuksa, a także wielu urządzeń sieciowych i aplikacji.

w tym przewodniku skonfigurujesz NTP na swoim serwerze i skonfigurujesz go jako część projektu puli NTP, dzięki czemu zapewnia dokładny czas innym użytkownikom projektu puli NTP. Zapewnienie wolnych cykli procesora i niewykorzystanej przepustowości to idealny sposób na oddanie czegoś społeczności.

wymagana przepustowość jest stosunkowo niska i może być regulowana w zależności od ilości, jaką możesz podać i miejsca zamieszkania twojego serwera. Każdy klient wysyła tylko kilka pakietów UDP co 20 minut, więc większość serwerów otrzymuje tylko około tuzina pakietów NTP na sekundę, z skokami kilka razy dziennie do stu pakietów na sekundę. Przekłada się to na wykorzystanie przepustowości 10-15KB/s z skokami 50-120kb/s.

istnieją trzy podstawowe wymagania, które musisz spełnić przed przystąpieniem do projektu NTP Pool:

  1. Twój serwer musi mieć statyczny adres IP.
  2. Twój serwer musi mieć stałe i stabilne połączenie z Internetem.
  3. Twój adres IP w większości się nie zmienia lub zmienia się tylko rzadko (raz w roku lub krócej).

w przypadku większości serwerów opartych na chmurze pierwsze dwa wymagania są zwykle spełniane automatycznie. Trzeci wymóg podkreśla, że przystąpienie do projektu NTP Pool stanowi długoterminowe zaangażowanie. Oczywiście, jeśli twoje okoliczności się zmienią, możesz usunąć serwer z puli, ale zajmie to dużo czasu (głównie tygodnie, ale czasami miesiące, a nawet lata), zanim ruch całkowicie zniknie.

aby ukończyć ten samouczek, będziesz potrzebować:

  • jeden serwer Centos 7 z skonfigurowaną siecią IPv6. Jeśli chcesz skonfigurować sieć IPv6 Na kropli exising, możesz postępować zgodnie z tym samouczkiem.
  • użytkownik sudo Nie-root i Zapora sieciowa, którą można skonfigurować, postępując zgodnie z początkową konfiguracją serwera z samouczkiem CentOS 7 i sekcją „Konfigurowanie podstawowej zapory sieciowej” w dodatkowych zalecanych krokach dla nowych serwerów CentOS 7 samouczek.

Krok 1 — Instalacja NTP

pakiet NTP nie jest zainstalowany domyślnie, więc użyjesz menedżera pakietów, aby go zainstalować. Najpierw zaktualizuj Pakiety:

  • sudo yum update

następnie zainstaluj NTP:

  • sudo yum install ntp

po zakończeniu instalacji uruchom usługę i skonfiguruj ją tak, aby uruchamiała się automatycznie przy każdym uruchomieniu serwera:

  • sudo systemctl start ntpd
  • sudo systemctl enable ntpd

jeśli zapora sieciowa została skonfigurowana zgodnie z wymaganiami wstępnymi, należy zezwolić na ruch UDP dla usługi NTP, aby komunikować się z pulą NTP:

  • sudo firewall-cmd --permanent --add-service=ntp
  • sudo firewall-cmd --reload

aby uzyskać więcej informacji na temat FirewallD, zobacz Jak skonfigurować zaporę przy użyciu FirewallD na CentOS 7.

NTP jest teraz zainstalowany, ale jest skonfigurowany do korzystania z domyślnych serwerów czasu puli NTP. Pozwala wybrać kilka konkretnych serwerów czasu zamiast.

Krok 2-Wybór odpowiedniego serwera Upstream

projekt puli NTP prosi operatorów, którzy chcą dołączyć do puli, aby wybrać dobre serwery czasu lokalnego sieci zamiast używać domyślnych serwerów pool.ntp.org. Zapewnia to, że projekt puli NTP pozostaje niezawodny, szybki i zdrowy. Wybierając źródło czasu, będziesz chciał stabilnego połączenia sieciowego bez utraty pakietów i jak najmniej skoków między serwerami.

wielopoziomowy i hierarchiczny protokół NTP oddziela zaangażowane strony na serwery główne, serwery drugorzędne i klientów. Podstawowe serwery nazywane są warstwą 1 i są podłączone bezpośrednio do źródła czasu, które nazywa się warstwą 0. Źródłem tym może być zegar atomowy, Odbiornik GPS lub system nawigacji radiowej. Drugorzędne serwery w łańcuchu nazywane są warstwą 2, warstwą 3 i tak dalej.

każdy serwer jest również klientem. Klient warstwy 2 otrzymuje czas z serwera warstwy 1 i dostarcza czas do serwerów warstwy 3 lub innych klientów. Aby członkowie projektu NTP Pool działały poprawnie, Demon NTP potrzebuje co najmniej trzech skonfigurowanych serwerów. Projekt zaleca minimum cztery i nie więcej niż siedem źródeł.

projekt NTP Pool zawiera listę serwerów czasu publicznego Stratum 1 i Startum 2. Listy wyznaczają serwery czasu NTP dostępne do publicznego dostępu pod określonymi ograniczeniami. Znajdziesz trzy rodzaje:

  • OpenAccess: ten serwer czasu jest otwarty dla każdego klienta zgodnego z zaleceniami użycia puli NTP.
  • RestrictedAccess: ten serwer czasu ma pewne ograniczenia dostępu oprócz zaleceń dotyczących korzystania z puli NTP.
  • : Ten serwer czasu jest zamknięty lub wymaga wcześniejszego uzgodnienia.

Ostrzeżenie: nie używaj serwerów, które nie są wymienione jako OpenAccess, chyba że otrzymałeś na to zgodę.

odwiedź listę serwerów czasu warstwy 1. Zobaczysz listę w następujący sposób:

Serwery warstwy 1

Sortuj listę według kolumny kodu ISO i znajdź jeden lub dwa serwery, które są geograficznie blisko centrum danych serwera. Gdy w kolumnie zasady dostępu serwera znajduje się informacja o OpenAccess, można z niej korzystać bez problemu. Jeśli jest napisane „RestrictedAccess”, Kliknij, aby otworzyć wpis i przeczytać instrukcje podane w polu AccessDetails. Często przekonasz się, że NotificationMessage jest ustawiony na tak, co oznacza, że musisz stworzyć nieformalną wiadomość e-mail skierowaną na adres podany w ServerContact, informując operatora serwera o chęci korzystania z tego serwera czasu jako źródła czasu dla członka projektu NTP Pool.

po zidentyfikowaniu serwerów, których chcesz użyć, Kliknij łącze dla każdego serwera w kolumnie ISO i skopiuj jego nazwę hosta lub adres IP. Adresy te zostaną użyte w Kroku 3.

następnie wybierz trzy lub cztery serwery z listy warstwy 2, wykonując ten sam proces.

Po wybraniu serwerów czasu nadszedł czas, aby skonfigurować klienta NTP, aby z nich korzystać.

Krok 3-Konfigurowanie NTP, aby dołączyć do puli

aby użyć serwera z pulą NTP i skonfigurować nowe serwery czasu, musisz wprowadzić pewne modyfikacje do konfiguracji demona NTP. Aby to zrobić, Edytuj plik /etc/ntp.conf :

  • sudo vi /etc/ntp.conf

najpierw upewnij się, że plik driftfile jest skonfigurowany. Plik driftfile przechowuje przesunięcie częstotliwości między zegarem systemowym pracującym z jego nominalną częstotliwością, a częstotliwością wymaganą do pozostania w synchronizacji z właściwym czasem. Pomaga osiągnąć stabilny i dokładny czas. Powinieneś znaleźć to w górnej części pliku konfiguracyjnego na domyślnej instalacji:

/etc / NTP.conf
# For more information about this file, see the man pages# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).driftfile /var/lib/ntp/drift...

następnie usuń domyślne wpisy źródła czasu z konfiguracji. Szukasz wszystkich linii, które są ze wzoru server 0.centos.pool.ntp.org iburst. Jeśli używasz konfiguracji domyślnej, Usuń podświetlone linie, jak pokazano w poniższym przykładzie:

/etc/NTP.conf
...# Use public servers from the pool.ntp.org project.# Please consider joining the pool (http://www.pool.ntp.org/join.html).server 0.centos.pool.ntp.org iburstserver 1.centos.pool.ntp.org iburstserver 2.centos.pool.ntp.org iburstserver 3.centos.pool.ntp.org iburst

Zastąp usunięte linie ręcznie wybranymi serwerami wybranymi w poprzednim kroku.

/etc/NTP.conf
...server ntp_server_hostname_1 iburstserver ntp_server_hostname_2 iburstserver ntp_server_hostname_3 iburstserver ntp_server_hostname_4 iburstserver ntp_server_hostname_5 iburst...

używamy opcji iburst dla każdego serwera, zgodnie z zaleceniami puli NTP. W ten sposób, jeśli serwer jest nieosiągalny, spowoduje to wysłanie serii ośmiu pakietów zamiast zwykłego jednego pakietu. Korzystanie z opcji burst w projekcie puli NTP jest uważane za nadużycie, ponieważ wyśle te osiem pakietów co przedział ankiety, podczas gdy iburst wysyła osiem pakietów tylko za pierwszym razem.

następnie upewnij się, że domyślna konfiguracja nie zezwala na zapytania zarządzania. Jeśli tego nie zrobisz, twój serwer może być używany do ataków odbiciowych NTP lub może być podatny na zapytania ntpq i ntpdc, które próbują zmodyfikować stan serwera. Sprawdź, czy opcja noquery została dodana do domyślnych linii restrict. Upewnij się również, że dodasz opcje kod i limited, ponieważ ograniczają zbyt chętnie prosząc klientów i wymuszają ograniczenie stawek.

/etc/NTP.conf
...# Permit time synchronization with our time source, but do not# permit the source to query or modify the service on this system.restrict default nomodify notrap nopeer noquery kod limited# Permit all access over the loopback interface. This could# be tightened as well, but to do so would effect some of# the administrative functions.restrict 127.0.0.1restrict ::1

więcej informacji na temat innych opcji znajdziesz w oficjalnej dokumentacji.

Twój plik konfiguracyjny demona NTP powinien teraz wyglądać następująco, chociaż plik może mieć dodatkowe komentarze, które można bezpiecznie zignorować:

/etc/NTP.conf
driftfile /var/lib/ntp/ntp.driftrestrict default nomodify notrap nopeer noquery kod limitedrestrict 127.0.0.1restrict ::1server ntp_server_hostname_1 iburstserver ntp_server_hostname_2 iburstserver ntp_server_hostname_3 iburstserver ntp_server_hostname_4 iburstserver ntp_server_hostname_5 iburst

Zapisz plik i zamknij Edytor.

Teraz uruchom ponownie usługę NTP i pozwól serwerowi czasu zsynchronizować swój zegar z serwerami upstream.

  • sudo systemctl restart ntpd

po kilku minutach sprawdź stan swojego serwera czasu za pomocą polecenia ntpq :

  • ntpq -p

wyjście powinno wyglądać podobnie do tego:

Output
remote refid st t when poll reach delay offset jitter============================================================================== mizbeaver.udel. .INIT. 16 u - 64 0 0.000 0.000 0.000 montpelier.ilan .GPS. 1 u 25 64 7 55.190 2.121 130.492+nist1-lnk.binar .ACTS. 1 u 28 64 7 52.728 23.860 3.247*ntp.okstate.edu .GPS. 1 u 31 64 7 19.708 -8.344 6.853+ntp.colby.edu .GPS. 1 u 34 64 7 51.518 -5.914 6.669

zdalna kolumna informuje o nazwie hosta serwerów, z których korzysta Demon NTP, a Kolumna refid informuje o źródle, z którego korzystają serwery. Tak więc w przypadku serwerów warstwy 1 pole refid powinno pokazywać GPS, PPS, ACTS lub PTB, a serwery warstwy 2 i wyższe pokażą adres IP serwera macierzystego. Kolumna st pokazuje warstwę, a opóźnienie, przesunięcie i jitter informują o jakości źródła czasu. Niższe wartości są lepsze dla tych trzech pól.

Twój serwer czasu jest teraz w stanie służyć czasu do publicznej wiadomości. Możesz to sprawdzić, wywołując ntpdate z innego hosta:

  • ntpdate -q your_server_ip

wyjście powinno wyglądać podobnie do tego i mówi, że dostosował serwer czasu i przesunięcie:

Output
server your_server_ip, stratum 2, offset 0.001172, delay 0.16428 2 Mar 23:06:44 ntpdate: adjust time server your_server_ip offset 0.001172 sec

jesteś teraz gotowy, aby zarejestrować serwer NTP w projekcie puli NTP, aby inni mogli z niego korzystać.

Krok 4-Dodawanie serwera do puli NTP

aby dodać serwer, aby inni mogli z niego korzystać, odwiedź manage.ntppool.org i załóż konto. Otrzymasz e-mail z puli NTP [email protected] żądanie weryfikacji konta. Potwierdź swoje konto, postępując zgodnie z instrukcjami w wiadomości e-mail, a następnie zaloguj się do manage.ntppool.org.

po zalogowaniu zobaczysz prosty interfejs do dodawania serwerów:

Dodaj serwer

wprowadź adres IP serwera i kliknij Wyślij.

następny ekran poprosi Cię o sprawdzenie, czy zidentyfikował region twojego serwera. Jeśli twój serwer znajduje się w innym regionie, niż się spodziewasz, użyj pola komentarza, aby dać mu znać.

ekran weryfikacji

jeśli jesteś zadowolony, potwierdź wpis klikając Tak, to jest mój serwer, dodaj go!

Twój serwer jest teraz częścią projektu NTP Pool. Odwiedź http://www.pool.ntp.org/scores/your_server_ip, aby zobaczyć informacje system Monitorowania puli NTP zebrał o Twoim serwerze. Sprawdza serwer kilka razy na godzinę i wyświetla dane przesunięcia, alog z wynikiem systemu. Tak długo, jak Twój serwer utrzymuje dobry czas i jest osiągalny, wynik wzrośnie, aż osiągnie 20 punktów. Tylko serwery z wynikiem wyższym niż 10 są używane w Puli.

Rozwiązywanie problemów z łącznością

jeśli masz problemy z synchronizacją serwera, możesz mieć zaporę pakietów, która upuszcza Pakiety wychodzące na port 123. Zobacz, jak skonfigurować zaporę za pomocą FirewallD na CentOS 7, aby dowiedzieć się, jak sprawdzić stan zapory.

jeśli stacja monitorująca projektu NTP Pool nie może dotrzeć do serwera NTP, a wynik serwera spada lub nie możesz użyć serwera do synchronizacji innego zegara, możesz mieć zaporę pakietową na miejscu, upuszczając ruch przychodzący na porcie 123. Sprawdź stan zapory.

jeśli masz pewność, że nie masz zapory sieciowej lub otworzyłeś port 123 dla ruchu przychodzącego i wychodzącego, Twój dostawca serwera lub inny dostawca transportu może upuszczać pakiety po drodze. Jeśli nie masz wiedzy, aby rozwiązać te problemy na własną rękę, najlepiej zwrócić się do społeczności i sięgnąć po pomoc. Forum projektów Basen NTP jest dobrym miejscem, aby rozpocząć. Możesz również dołączyć do listy mailingowej lub wysłać Emaill do operatora projektu NTP Pool. Upewnij się, że możesz wyświetlić wszystkie kroki, które już próbowałeś rozwiązać problem, zanim poprosisz o pomoc.

wniosek

w tym samouczku pomyślnie skonfigurowałeś własny serwer czasu i uczyniłeś go członkiem projektu NTP Pool, służąc czas społeczności. Aby pozostać w kontakcie ze społecznością czasu. dołącz do NTP Pool Projects forum lub listy mailingowej. Pamiętaj, aby monitorować wynik serwera i dokonywać niezbędnych korekt.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

Previous post Arnold Palmer Invitational Past Winners
Next post National Right to Work Foundation prawo do pracy STANY: Floryda