Alternatywa dla NTPd lub OpenNTPd

Historia

  1. Aktualna stabilna wersja ntpd to 4.2.6x, ale jest wpisana jako zagrożenie - ataki DDoS
  2. Aktualna wersja rozwojowa ntpd to 4.2.7x, ale w końcu jest rozwojowa - może przestać działać
  3. OpenNTPd w wersji "portable", czyli dla innych aniżeli OpenBSD jest "porzucone" - kilka wersji w tył w stosunku do wersji oficjalnej.

chrony

Pozostaje zatem zainstalować jedynie to oprogramowanie. Nie jest mocno skomplikowane, zaś wystarcza do potrzeb synchronizacji czasu. Proces instalacji został opisany tutaj.

chrony.conf

Najlepiej jest skopiować plik przykładowy i dostosować do swoich potrzeb wg poniższej poprawki

--- chrony.conf.example2        2014-05-31 23:20:46.256711000 +0200
+++ chrony.conf 2014-05-31 23:29:38.252299485 +0200
@@ -17,7 +17,7 @@
 stratumweight 0

 # Record the rate at which the system clock gains/losses time.
-driftfile /var/lib/chrony/drift
+driftfile /var/db/chrony/drift

 # Enable kernel RTC synchronization.
 rtcsync
@@ -34,7 +34,7 @@
 bindcmdaddress ::1

 # Serve time even if not synchronized to any NTP server.
-#local stratum 10
+local stratum 10

 keyfile /usr/local/etc/chrony.keys

Pełna dokumentacja pliku konfiguracyjnego jest dostępna tutaj.

prestart

Przed uruchomieniem samego demona, konieczne jest jeszcze wykreowanie dwóch katalogów

mkdir -p /var/log/chrony /var/db/chrony/

Integracja z collectd

Jest niestety jeden ważny minus takiej migracji: brak wsparcia w collectd. collectd posiada plugin do ntpd, ale nie sprawdza się w chrony. Tak więc ewentualny monitoring synchronizacji czasu na serwerze/serwerach nie jest możliwy.

Monitoring by nagios

Ponieważ chrony nie ma zaimplementowanych kilku poleceń ntp, np. query, zatem domyślny monitoring nagiosa (check_ntp_peer) zwraca błędy. Również monitoring o jitter powoduje ten sam błąd Socket timeout' Zatem w celu sprawdzenia serwera, na którym jest chronyd, należy użyć polecenia:

/usr/local/libexec/nagios/check_ntp -H __server__ -w 60 -c 120