Mit dem Network Time Protocol können Admins wie Magazin-Kolumnist Charly Kühnast ihre Rechner zeitlich einnorden. Allerdings gelingt das systembedingt nur mäßig gut, sodass nun die Zeit allmählich überreif ist für das heute vorgestellte Statistiktool Ntpviz.
Kürzlich durchstöberte ich das NTPsec-Repository [1]. Das ist ein heftig überarbeiteter Fork des bekannten Network-Time-Protocol-Daemon Ntpd. Der Neuling will alte Zöpfen abschneiden und sich endlich gegen Man-in-the-Middle-Angriffe wappnen. Um NTPsec geht es heute aber nicht direkt, sondern ich möchte von einem kleinen Tool berichten, das mir bei der Stöberei unterkam: Ntpviz. Unter anderem visualisiert das Programm, wie in welchem Maß die vom NTP-Server abgefragte Zeit von der lokalen Zeit abweicht (Offset) und wie stark sie schwankt (Jitter).
Um loszulegen, klone ich das Github-Repository und starte die Installation:
cd /usr/local git clone --depth 1 https://gitlab.com/NTPsec/ntpsec.git cd ntpsec ./buildprep ./waf configure --refclock=all && ./waf build && ./waf install
Dann lege ich das Verzeichnis an, in dem die Statistikdaten landen:
mkdir /var/log/ntpstats
Was noch fehlt, ist die »/etc/ntp.conf« aus Listing 1. Nun kann ich den NTP-Daemon starten. Mit dem Parameter »-N« läuft er mit erhöhter Priorität – das verbessert die Genauigkeit:
ntpd -c /etc/ntp.conf -N
Jetzt habe ich einen Tag Pause – Ntpd muss genug Statistikdaten sammeln. Ein
ntpviz @day/optionfile
sollte eigentlich die Visualisierung starten, fliegt mir im ersten Anlauf allerdings um die Ohren. Es stellt sich heraus, dass Gnuplot installiert sein muss – ein Umstand, der bei der Prüfung der Abhängigkeiten wohl durchgerutscht ist. Nach der Installation von Gnuplot läuft alles wie geschmiert: Im Unterverzeichnis »www/day« findet sich eine HTML-Datei mit diversen Graphen (Abbildung 1).
Listing 1
/etc/ntp.conf
01 server 0.de.pool.ntp.org 02 server 1.de.pool.ntp.org 03 server 2.de.pool.ntp.org 04 server 3.de.pool.ntp.org 05 06 restrict -4 default notrap nomodify nopeer noquery 07 restrict -6 default notrap nomodify nopeer noquery 08 09 restrict 127.0.0.1 10 restrict ::1 11 12 driftfile /var/lib/ntp/drift/ntp.drift # path for drift file 13 14 logfile /var/log/ntp.log # alternate log file 15 16 statsdir /var/log/ntpstats # directory for statistics files 17 filegen peerstats file peerstats type day enable 18 filegen loopstats file loopstats type day enable 19 filegen clockstats file clockstats type day enable 20 21 keys /etc/ntp.keys # path for keys file 22 trustedkey 1 # define trusted keys 23 requestkey 1 # key (7) for accessing server variables 24 controlkey 1 # key (6) for accessing server variables
Infos
- NTPsec: https://gitlab.com/NTPsec/






