Konfigurowanie serwera czasu NTP opartego na LINUX

Podsumowanie: Ten artykuł zawiera przewodnik krok po kroku, jak skonfigurować LINUX, aby działał jako autorytatywny serwer czasu przy użyciu protokołu NTP (Network Time Protocol).

Synchronizacja czasu komputera jest bardzo ważna w nowoczesnych sieciach komputerowych, dokładność i synchronizacja czasu ma kluczowe znaczenie w wielu aplikacjach, szczególnie w transakcjach czasochłonnych. Wyobraź sobie, że kupujesz miejsce w samolocie tylko na lotnisku, że bilet został sprzedany dwa razy, ponieważ został kupiony później na komputerze, który miał wolniejszy zegar!

Nowoczesne komputery mają zegarów wewnętrznych zwane chipy zegar czasu rzeczywistego (RTC), które zapewniają informacje o czasie i dacie. Układy te są bateryjnie tak, że nawet w czasie przerwy w dostawie prądu, mogą utrzymać czas, ale komputery nie są przeznaczone do doskonałe zegary. Ich konstrukcja została zoptymalizowana do masowej produkcji i niski koszt, a nie utrzymywanie dokładny czas.

Dla wielu zastosowań, to może być bardzo odpowiednie, choć dość często maszyny potrzebują czasu do synchronizacji z innymi tych komputerów w sieci, a gdy komputery nie są zsynchronizowane ze sobą, mogą pojawić się problemy, takie jak udostępnianie plików w sieci lub w pewnych warunkach nawet oszustwa!

Network Time Protocol (NTP) to protokół internetowy używany do przesyłania dokładnego czasu, dostarczający informacje o czasie, dzięki czemu można uzyskać dokładny czas. Ponieważ NTP był pierwotnie napisany dla LINUX, wiele systemów operacyjnych opartych na LINUX ma już zainstalowaną wersję NTP. Jednak kod źródłowy można pobrać bezpłatnie ze strony internetowej NTP (ntp.org) najnowszą wersją jest v 4.2.4.

NTP (wersja 4) może utrzymywać czasu przez Internet publicznego w ciągu milisekund 10 (1 / 100th sekundy) i może wykonywać jeszcze lepiej nad sieciami LAN z dokładnością 200 mikrosekund (1 / 5000th sekundy) w idealnych warunkach.

NTP działa w ramach pakietu TCP / IP i opiera się na UDP, mniej skomplikowana forma NTP istnieje nazywa Simple Network Time Protocol (SNTP), która nie wymaga przechowywania informacji o poprzednich komunikatach, potrzebnych NTP. Jest on stosowany w niektórych urządzeniach i aplikacjach gdzie wymagana jest wysoka dokładność synchronizacji nie jest tak ważne.

Program tła NTP jest skonfigurowany z plikiem 'ntp.conf'. może to zawierać listę publicznych odwołań do serwera NTP, które mogą być używane do synchronizowania czasu. Serwery czasu NTP są określane za pomocą komendy "serwer", dowolne znaki po symbolu "#" są komentarzami:

Przykład
server time-a.nist.gov # Publiczny serwer NTP: Maryland
Po skonfigurowaniu, NTP można kontrolować za pomocą poleceń "ntpd start" "ntpd stop" "ntpq -p" (wyświetla stan)

NTP może również uwierzytelniać zasoby czasu Uwaga: Zdecydowanie zaleca skonfigurowanie serwera czasu ze źródłem sprzętowym, a nie z Internetu, w którym nie ma uwierzytelnienia. Kody uwierzytelniające są określone w pliku "ntp.keys".

Dostępne są specjalistyczne serwery NTP, które mogą odbierać transmisje z programów GPS lub krajowych transmisji czasu odniesienia. Są one stosunkowo tanie, a sygnał jest uwierzytelniany, zapewniając bezpieczne odniesienie do czasu.

Uwierzytelnianie NTP został opracowany, aby zapobiec złośliwym manipulowanie synchronizacji systemu tak jak firewalle zostały opracowane w celu ochrony sieci przed atakiem, ale jak w każdym systemie bezpieczeństwa działa tylko wtedy, gdy jest ona wykorzystywana.

Ten post został napisany przez

Richard N Williams

Richard N Williams jest autorem techniczny i specjalista w branży Server i synchronizacji czasu NTP. Richard N Williams na Google+