NTP (ang. Network Time Protocol) to protokół służący do precyzyjnej synchronizacji czasu na różnych urządzeniach (komputerach) podłączonych do tej samej sieci. Jest on zaimplementowany w większości współczesnych systemów operacyjnych i przy zastosowaniu standardowego sprzętu komputerowego klasy PC, precyzja może wynosić kilka milisekund. Stosowanie wielu źródeł czasu jednocześnie znacząco poprawia precyzje synchronizacji, dostarczając wielopoziomową redundancję oraz pozwala wychwytywać i eliminować dostawców fałszywego czasu.
NTPd sprawdzenie stanu i uruchomienie
Ntpd jest demonem (programem działającym w tle) synchronizyjącym na bierząco czas komputera z wybranymi serwerami czasu NTP. Aby sprawdzić czy na naszym komputerze ntpd jest uruchomiony wydajemy polecenie:
service ntpd status
lub w przypadku starszych dystrybucji:
/etc/init.d/ntpd status
Aby włączyć lub wyłączyć ntpd w powyższych poleceniach zastępujemy „status
” przez „start
” lub „stop
” (włączenie lub wyłączenie ntpd możemy zrobić tylko jako root
lub poprzez su
).
Natomiast jeśli chcemy aby ntpd
był uruchamiany podczas każdego startu systemu to wydajemy (znów jako root
, albo poprzez su
) polecenie:
chkconfig ntpd on
Sprawdzanie dokładności synchronizacji czasu poprzez NTPd
Do sprawdzenia oszacowanej dokładności synchronizacji czasu służy program ntpstat
, który raportuje stan synchronizacji oraz oszacowaną dokładność synchronizacji i czestotliwość z jaką odpytywany jest serwer czasu.
Oczywiście tuż po włączeniu ntpd czas może być rozsynchronizowany nawet o wiele sekund, jednak po maksymalnie kilku minutach, przy dobrym połączniu internetowym i stadardowej konfiguracji przy której do synchronizacji są wykorzystywane serwery czasu klasy stratum 3, w polsce pozwoli uzyskać oszacowaną dokładność synchronizacji czasu na poziomie ~ 50 ms (1/20 sekundy), co jest często wystarczające. Po odpowiedniej modyfikacji konfiguracji, korzystając tylko z publicznych serverów czasu można w polsce uzyskać synchronizacje z dokładnością ~ 10 ms (1/100 sekundy). Natomiast na kontynentach na których sieć internet jest rozwinięta słabiej a ilość publicznie dostepnych serwerów czasu mniejsza, precyzja jest znacznie mniejsza.
przydatne komendy
ntpdc -c sysinfo
ntpdc -c peer
ntpq -p
Uwaga
If you use DHCP then it will read /var/lib/ntp/ntp.conf.dhcp, not /etc/ntp.conf
Jak zwiększyć dokładność synchronizacji czasu z wykorzytsaniem NTP/ntpd
Jeśli precyzja synchronizacji jaką dostajesz przy stadardowej konfiguracji jest niewystarczająca to modyfikacja konfiguracji ntpd pozwala znacznie poprawić ten precyzje.
Opis poszczegulnych parametrów konfiguracyjnych ntpd mozna znaleźć m.in tu. A gdybyś nie był wstanie podołać temu zadaniu samodzielnie, skontaktuj się ze mną poprzez e-mail lub komentarze.