In meinem Netzwerk habe ich einen zuverlässigen NTP-Server, mit dem alle PCs synchronisiert sind. Aufgrund der verschiedenen Probleme, für die der Windows-Zeitdienst bekannt ist (zumindest in Windows 7 und niedrigeren Versionen), habe ich ihn auf den Windows-Computern deaktiviert und stattdessen Meinbergs NTPD-Port für Windows installiert .
Auf allen PCs, die ich jemals getestet habe, hat dies viele Jahre lang zuverlässig funktioniert. Heute habe ich jedoch ein Problem mit einem meiner Windows-Computer (Windows 7 Pro x64, alle Updates zum Zeitpunkt des Schreibens).
Beachten Sie, dass C:\Program Files (x86)\NTP\etc\ntp.conf
dieser Computer mit Ausnahme der letzten Zeile (siehe unten) buchstäblich mit allen anderen Windows-PCs in diesem Netzwerk identisch ist.
ntpd.conf
(auf der problematischen Maschine wurden einige Kommentare entfernt):
restrict default noquery nopeer nomodify notrap
restrict -6 default noquery nopeer nomodify notrap
# allow status queries and everything else from localhost
restrict 127.0.0.1
restrict -6 ::1
# if you need to allow access from a remote host, you can add lines like this:
# restrict <IP OF REMOTE HOST>
# Use drift file
driftfile "C:\Program Files (x86)\NTP\etc\ntp.drift"
# Use specific NTP servers
server timeserver.in.my.local.network iburst minpoll 6 maxpoll 7
# End of generated ntp.conf --- Please edit this to suite your needs
interface ignore wildcard
interface ignore ipv6
interface listen 127.0.0.1
interface listen 192.168.20.100
Natürlich ist die letzte Zeile auf verschiedenen PCs unterschiedlich. Und ja, ich möchte zwar nicht jede Schnittstelle / IP-Adresse ntpd
abhören , sondern nur die "Haupt" -IP-Adresse und weiter .localhost
Das Problem:
Als ersten Schnelltest, den ich nach der Installation auf jedem PC durchführe, habe ich cmd32
wie administrator
auf dem betreffenden PC geöffnet und bin gelaufen
C:\Program Files (x86)\NTP>ntpq -p
Dies führte zu folgender Fehlermeldung:
ntpq: read: No such file or directory
Ich glaubte zuerst, was es sagte, und analysierte sein Verhalten ProcessMonitor
, aber ohne Erfolg. Ich konnte keinen Hinweis darauf finden, dass eine Datei nicht geöffnet werden konnte. Ich kratzte mir eine Weile am Kopf und versuchte es dann
C:\Program Files (x86)\NTP>ntpq -p 192.168.20.100
Diesmal habe ich bekommen
192.168.20.100: timed out, nothing received
***Request timed out
Entsprechend meinen Schlussfolgerungen aus ProcessMonitor
gibt es also offensichtlich kein Problem beim Lesen einer Datei, sondern möglicherweise beim Öffnen des Netzwerkgeräts.
Komischerweise
C:\Program Files (x86)\NTP>ntpq -p 127.0.0.1
ergab das erwartete Ergebnis:
remote refid st t when poll reach delay offset jitter
==============================================================================
*192.168.20.10 ( 192.53.103.108 2 u 8 128 377 0.977 0.194 0.977
Dies ließ mich wieder meinen Kopf kratzen. Für die Prüfung, drehte ich den Windows - Firewall auf diesem PC aus (und es gibt keine anderen Firewall dort installiert ist ), aber ntpq -p
und ntpq -p 192.168.20.100
immer noch die gleichen Fehlermeldungen wie zuvor wurde zu werfen.
Als letzten Test bin ich gelaufen
C:\Program Files (x86)\NTP>netstat -abno
und bekam
Active Connections
...
UDP 127.0.0.1:123 *:* 5076
[ntpd.exe]
...
UDP 192.168.20.100:123 *:* 5076
[ntpd.exe]
...
So ntpd
hört auf den IP - Adressen aus der Konfigurationsdatei , wie erwartet.
Natürlich half es nicht, den Dienst neu zu starten und den PC neu zu starten.
Jetzt gehen mir die Ideen aus. Woran kann es liegen, dass ntpq
die Kommunikation mit einer der IP-Adressen ntpd
abhört, aber nicht mit der anderen, selbst wenn die Firewall vollständig ausgeschaltet ist?