| Es gibt erstaunlich viele Möglichkeiten, um die Systemuhr eines PC mit einem Zeit-Standard zu synchronisieren. |
Wählen sie daraus nach technischer Möglichkeit, Kosten und
ihrem Bedarf an Genauigkeit. Im Internet-Zeitalter sollte es keine ungenauen PC-Uhren mehr geben ... |
NTP
|
Das Network Time Protocol zur Synchronisation der Zeit |
| NTP-Windows | Übersicht: Zeit-Synchronisation auf Windows |
|
|
Zeit-Synchronisations-Daten in der Registry Datenbank |
|
|
Zeit-Synchronisation mit Konsolen-Programmen |
|
|
Daten-Weg über Firewalls, Router und Proxy-Server |
| Windows-ntpd | Kostenfreie Portierung des professionellen ntpd Servers aus Windows |
| Verwandte Themen | Datum & Zeit allgemein, Zeit auf Windows (mit Cygwin), Zeit auf Linux, NTP auf Linux |
| Links |
Ausgewählte
|
Zeit-Synchronisation auf Windows |
|
Ausführungs-RechteAuf jedem Betriebssystem benötigen sie Administrator-Rechte, um die Einstellung der PC Systemuhr zu ändern.● Wenn sie diese Rechte nicht haben, dann können sie keines der hier vorgestellten Beispiele ausführen. |
Manueller Test:
►
Öffnen sie eine
→ Konsole cmd.exe und lassen sie die Zeit anzeigen:
C:\> time /T
•
Versuchen sie die Zeit zu ändern, z.B. mit
C:\> time 12:34:56
Wenn das gelingt, haben sie die nötigen Rechte.• Stellen sie die Zeit wieder richtig, am besten mit einem der hier vorgestellten Synchronisations-Verfahren. |
Zugangs-RechteZur Zeit-Synchronisation muss eine Anforderung von ihrem PC zum Zeit-Server gelangen, dessen Daten müssen zu ihrem PC geleitet werden. |
Alle auf diesem Weg liegenden Router, Proxy-Server und ↓ Firewalls müssen diese Daten weiterleiten. Ansonsten ist keine Synchronisation möglich. |
Zeit-Server auswählenZur Synchronisation mit einem Zeit-(NTP)-Server benötigen sie dessen Name oder IP-Adresse.● Erste Wahl ist ein Server im eigenen lokalen Netzwerk (LAN). Name / Adresse des Servers erfahren sie vom Administrator oder durch Ausführung des Programms ifconfig an einer → Shell-Konsole des Servers. |
● Ohne eigenen Zeit-Server suchen sie Name oder Adresse eines vertrauenswürdigen Zeit-Servers, möglichst in geografischer Nähe: → Liste ausgewählter ZeitServer. ● Die von Microsoft meist vor-eingestellten Zeit-Server in den USA sind keine gute Wahl, da die Genauigkeit unter den langen und variablen Transport-Zeiten leidet:
time.nist.gov
time.windows.com |
Zeit-Server konfigurierenSie müssen ihrem NTP Client Programm (welches die PC-Zeit synchronisieren soll) die Namen der gewünschten Zeit-Server einmalig bekanntgeben.► Neuere Windows-Systeme: • Verwenden sie die Uhr im 'Tray' (rechte untere Ecke des Bildschirms) Man kann das Kontrollfeld auch durch Angabe des Datei-Namens in oder in einem Konsolen-Fenster (Eingabeaufforderung cmd.exe) starten: C:\> timedate.cpl
•
Rechtsklick auf die Uhr, Befehl Das Fenster wird geöffnet. • Wählen sie das Register und aktivieren sie das Kästchen • In der Auswahl-Liste sind alle verwendbaren Zeitserver eingetragen. Tragen sie die Namen oder Adressen der ↑ ausgewählten Zeitserver ein. |
► Ältere Windows-Systeme
Es ist manchmal nicht möglich, die Liste der Zeitserver selbst zu ändern.
Die Daten der Liste befinden sich in der Registry-Datenbank. Man muss daher andere
Wege finden, um die gewünschten Server dort einzutragen:• Verwendung einer Registry Script-Datei. Laden sie das Muster auf dieser Seite ↓ und lassen sie damit die Server auf ihrem PC eintragen. • Manuelle Eintragung der gewünschten Server mit dem Programm regedit.exe Diese Variante wird nur für versierte AnwenderInnen empfohlen. |
PC-Zeit synchronisieren• Zum manuellen Synchronisieren wird die Uhr im 'Tray' (rechte untere Ecke des Bildschirms) verwendet.• Rechtsklick auf die Uhr, Befehl Das Fenster wird geöffnet. • Wählen sie das Register und aktivieren sie das Kästchen • Wählen sie aus der Liste den gewünschten Server und klicken sie Unmittelbar darunter wird der Text "Warten Sie..." angezeigt. • Die Wartezeit beträgt für einen Server im eigenen lokalen Netzwerk 2..10 Sekunden, bei einem externen Server 1-2 Minuten. Bei einem ungünstig gewählten Zeitserver kann die Zeit 15..30 Minuten betragen ! • Nach erfolgreicher Synchronisation oder bei Abbruch wird ein entsprechender Text angezeigt. |
Automatische SynchronisationDie manuelle Synchronisation ist eher eine Ausnahme. Normalerweise sollte die Zeit regelmäßig synchronisiert werden.• Das wird automatisch ausgeführt, wenn das Kästchen (links) aktiviert ist. • Zeitpunkt und Intervall der nächsten Synchronisation sind vom Hersteller in seiner unendlichen Weisheit vorgegeben und werden im Fenster des Einstell-Programms weiter unten angezeigt. Man findet keine Möglichkeit zur individuellen Einstellung, auch nicht im Scheduler (). • Die Vorgaben für die Synchronisation sind in der Registry-Datenbank versteckt und lassen sich (nur) mit entsprechender Fachkenntnis ändern. |
Windows-PC als Zeit-ServerAls Standard-Server für lokale Netzwerke wird normalerweise ein → Linux-PC verwendet. Wenn sie trotzdem einen Windows-PC einsetzen wollen, oder wenn sie die wichtigsten Komponenten vor dem Umstieg noch auf Windows testen wollen, dann stehen prinzipiell 2 Wege zur Verfügung (rechts)♦ Details zu den Standard Server-Konfigurationen LAMP und WAMP. |
● Installation der Server-Komponenten auf Windows. Alle wesentlichen Komponenten eines LAN-Servers wurden mittlerweile auf Windows (→ WAMP) portiert. Sie sind kosten- und lizenzfrei in professioneller Qualität verfügbar und können alle gängigen Arbeits-PC (Linux, MacOS, Windows) mit Server-Leistungen versorgen. • Als Zeit-Server wird in diesem Fall meist der von ↓ Meinberg portierte ntpd eingesetzt. ● Die zweite Alternative ist die von Microsoft favorisierte Lösung, die alle Server-Komponenten dieses Herstellers einsetzt. Diese Variante ist vergleichbar zuverlässig, jedoch empfindlich teuer und außerdem ausschließlich zur Versorgung von Windows Client-PC ausgelegt. |
Zeit-Synchronisation @ Registry-Datenbank |
|
|
Jeder Eingriff erfolgt auf eigenes Risiko ! Eine Kontrolle (nur Lesen) der eingetragenen Daten ist jedoch gefahrlos. |
|
Registry:Wie viele andere Windows-Funktionen wird auch das Zeit-Verhalten von der Registry-Datenbank gesteuert. Die Registry ist nur durch spezielle Programme zugänglich, ihre Daten sind schlecht dokumentiert.Das Standardprogramm für Ansicht und Änderung der Registry-Daten ist der RegistryEditor: C:\Windows\regedit.exe
|
Hier werden folgende Themen vorgestellt: ● Liste der Zeit-Server ● Festlegung des Zeitservers ● Häufigkeit der Synchronisation ● Aktivierung als Zeitserver ● Registry-Import |
|
Registry-Daten sind in einem hierarchischen Baum von Schlüsseln (keys)
organisiert. • Schlüssel wirken so ähnlich wie die Verzeichnisse (Ordner) eines Dateisystems, d.h. sie können weitere Schlüssel oder Daten enthalten. • Die oberste Ebene bilden die mit HKEY_* benannten Schlüssel, z.B. HKEY_LOCAL_MACHINE |
•
Jeder Schlüssel kann beliebig viele Daten-Einträge enthalten. Der Daten-Typ REG_SZ enthält einen String (lesbaren Text), Symbol ist ein kleines "ab". • Jeder Daten-Eintrag hat Namen und Inhalt. Rechtsklick ermöglicht Änderung, Neu-Erstellung oder Löschen. • Es gibt keinen Befehl "Sichern". Jede Änderung ist sofort wirksam. |
Liste der vom Client verwendeten Zeitserver:Der rechts angeführte Registry-Schlüssel steuert die Liste der Zeitserver, die im Menü ↑ Internetzeit verfügbar sind.Hier finden sie als Variable mit den Namen '1' und '2' normalerweise die beiden von MS bevorzugten US-Zeitserver. Variable Standard enthält die Länge der Liste, anfangs die Zahl 2 |
Schlüssel:
HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \
DateTime \ Servers
► Löschen oder überschreiben sie diese Einträge nicht, sondern fügen sie weitere an: Rechtsklick, dann Danach wird zuerst der Name, dann der Wert geändert. |
|
Ergänzung der Zeitserver-Liste:
•
Erste Wahl ist ein Zeitserver im eigenen lokalen Netzwerk, z.B.
Name="3",
Wert="192.168.0.2"• Ohne eigenen Zeitserver trägt man den passenden NTP-Pool Server ein, z.B. in Österreich Name='4', Wert='at.pool.ntp.org'; • Eintragung eines speziellen Zeitservers, z.B. in Deutschland Name="5", Wert="ptb1.ptb.de" Tipp: Belästigen sie die hochgenauen Zeitserver nicht mit Anfragen aus kleinen lokalen Netzwerken. Sie können die angebotene Genauigkeit mit diesen einfachen Methoden nicht einmal annähernd nutzen. |
• Zuletzt wird die neue Länge der Liste in 'Standard' geändert, z.B. auf '5'. ► Nach Änderung sollte das Tray Uhr-Programm im Menü ↑ Internetzeit alle eingetragenen NTP-Server enthalten und mit ihnen synchronisieren können. Falls eine Registry-Änderung nicht sofort wirksam wird, versuchen sie einen System-Neustart. |
Windows ControlSetsBei der Anmeldung werden die jeweiligen User-Daten der Registry (ControlSet001, ControlSet002, ...) in den CurrentControlSet kopiert.Das ist zur individuellen Gestaltung der Arbeit angenehm, zur Einstellung der Zeit-Synchronisation jedoch nicht sinnvoll. |
Eine Änderung des aktuell verwendeten CurrentControlSet ist daher nicht dauerhaft wirksam. Ändern sie - wenn überhaupt - die ControlSets aller User auf die gleiche Weise: Das betrifft die Registry-Schlüssel der folgenden Absätze. |
Festlegung des gewünschten NTP-ServersDie Liste der Zeitserver ↑ wird nicht wie üblich in ihrer Reihenfolge verwendet, sondern ein Server der Liste wird bevorzugt ausgewählt.Das erfolgt durch manuelle Auswahl eines Servers im Tray Uhr-Programm oder mit dem Konsolen-Programm NET oder durch direkte Änderung der Registry (rechts). Erste Wahl sollte - wenn vorhanden - ein Zeitserver im eigenen lokalen Netzwerk sein. |
Schlüssel:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ W32Time \ Parameters
Name = NtpServer, Type = REG_SZ, Data = Name oder IP-Adresse des gewünschten NTP-Servers |
Häufigkeit der Synchronisation:Der Schlüssel Period kontrolliert, wie oft versucht wird, die Zeit zu synchronisieren.Folgende Daten (dezimale Zahlen) sind u.a. möglich: 0 → einmal täglich, 65535 → alle 2 Tage, 65534 → alle 3 Tage, 65533 → einmal wöchentlich, 65532 → 'SpecialSkew' - Täglich alle 45 Minuten solange bis 3 gute Synchronisationen erfolgt sind, danach alle 8 Stunden. 65531 → 'DailySpecialSkew' - Einmalig alle 45 Minuten solange bis 1 gute Synchronisation erfolgt ist, danach einmal täglich. |
Schlüssel:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ W32Time \ Parameters
Name = Period, Type = REG_DWORD, Data siehe Beschreibung links, z.B. 65531 Wenn diese Daten nicht vorhanden sind, kann man sie neu eintragen. |
VerlässlichkeitDer Schlüssel ReliableTimeSource beschreibt die Verlässlichkeit des Zeitservers.0 → unverlässlich, 1 → verlässlich. |
Schlüssel:
HKEY_LOCAL_MACHINE | SYSTEM | CurrentControlSet | Services | W32Time | ReliableTimeSource
Name = ReliableTimeSource, Type = REG_DWORD, Data = 0 oder 1 |
TypeDer Schlüssel Type bestimmt den Typ der Zeit-Synchronisation.Nt5DS → (Standard) so wie in der Domain vorgegeben. NTP → so wie manuell konfiguriert NoSync → keine Zeit-Synchronisation |
Schlüssel:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ W32Time \ Type
Name = Type, Type = REG_SZ, Data = siehe Beschreibung. |
w32tmDas Konsolen-Programm w32tm.exe bietet einige Optionen zur Analyse und Steuerung der Zeit-Synchronosation. Das Programm bietet je nach Windows-Version unterschiedliche Optionen.Hilfe: C:\> w32tm /? Jetzt synchronisieren: C:\> w32tm /resync |
Anzeige der Zeitzonen-Einstellung: C:\> w32tm /tz
(Offset (Bias) in Minuten Umstellung Normalzeit/Sommerzeit).Anzeige einiger Registry-Daten C:\> w32tm /dumpreg aus HKLM \ System \ CurrentControlSet \ Services \ W32Time |
|
|
| Konsolen-Programme können manuell im Fenster der "Eingabeaufforderung" Programm cmd.exe) ausgeführt werden. Diese Programme verzichten auf Fenster, Maus und Grafik und richten sich daher an fortgeschrittene AnwenderInnen bzw. AdministratorInnen. |
Der besondere Vorteil ist die Möglichkeit, Konsolen-Programme zu automatisieren
und in Script-Programme (*.cmd) einzubauen. ♦ Details zur Windows-Konsole cmd.exe |
Manuelle Ausgabe und Änderung der System-ZeitDiesen Befehl kann man als Test für Administrator-Rechte verwenden. Geben sie eine beliebige (abweichende) Zeit ein und kontrollieren sie die Änderung. Nur bei Erfolg verfügen sie über die Berechtigung.Vergessen sie nicht, die Zeit wieder zurückzusetzen. |
C:\> time
Neue Zeit: 12:34:56 |
Programme net und w32tmDiese beiden Konsolen-Programme werden u.a. zur Einstellung der Zeit-Synchronisation verwendet. Rechts die Befehle zur Anzeige der Hilfe. |
C:\> net time /?
C:\> w32tm /? |
Auswahl des ZeitserversDas Beispiel rechts demonstriert, wie man den gewünschten Zeitserver einstellt oder löscht.Vorsicht - Änderung auf eigenes Risiko ! Hier wird die Einstellung auf einen eigenen Zeitserver im lokalen Netzwerk gezeigt. Das funktioniert auch ohne Internet-Verbindung. Zur Einstellung eines externen Zeitservers ersetzen sie die IP-Adresse durch den gewünschten Server-Namen, z.B. in Österreich C:\> net time /setsntp:at.pool.ntp.org
|
Zeitserver auswählen:
C:\> net time /setsntp:192.168.0.2
Auswahl löschen:
C:\> net time /querysntp Der aktuelle SNTP-Wert ist 192.168.0.2
C:\> net time /setsntp
C:\> net time /querysntp Dieser PC ist ... nicht konfiguriert |
Anzeige der Server-ZeitSo wird die aktuelle Zeit eines (entfernten) NTP-Servers angezeigt |
C:\> net time \\192.168.0.2
|
Manuelle SynchronisationDas Beispiel zeigt, wie man die Zeit des eigenen PC manuell mit einem entfernten Zeitserver synchronisieren kann. Ersetzen sie die verwendete Adresse durch Name oder IP-Adresse des gewünschten Servers. |
C:\> net time \\192.168.0.2 /set
Aktuelle Zeit auf 192.168.0.2 ist ... Soll die Zeit ... übereinstimmen ? |
Automatische SynchronisationDiese Variante des gleichen Befehls ist zur Automatisierung geeignet, da sie keine Fragen stellt. |
C:\> net time \\192.168.0.2 /set /yes
|
|
Je nach System wird die geänderte Zeit jedoch nicht immer automatisch
übernommen. w32tm benachrichtigt den Zeitdienst, dass sich die Konfiguration geändert hat. Damit werden die Änderungen wirksam. |
C:\> w32tm /config /update
|
Start und Stop des ZeitgebersSo wird der Windows 'Zeitgeber' w32time.exe manuell beendet und wieder gestartet.Die Einstellung dieses Hintergrund Dienstprogramms finden sie im Programm Dienste (services.msc) unter Windows Zeitgeber. Der Zeitgeber sollte automatisch gestartet werden (Standard-Einstellung) |
C:\> net stop w32time
C:\> net start w32time |
Beide Programme können manuell aufgerufen werden, jedoch auch → zeitgesteuert oder in → Shell-Programmen. |
C:\> net time /?
C:\> net time \\Computername /set C:\> net time /DOMAIN[:Name] /set C:\> net time \\Computername /querysntp C:\> net time \\Computername /setsntp[:NTP-Serverliste] C:\> w32tm /? C:\> w32tm -once |
|
Auswahl eines NTP-Servers Start des NTP-Service Anzeige der aktuellen Zeit des NTP-Servers 192.168.0.2 |
C:\> net time /setsntp:time.metrologie.at
C:\> net start W32Time C:\> net time \\192.168.0.2 |
|
Synchronisation der Systemzeit
net führt die Synchronisation durchw32tm benachrichtigt den Zeitdienst, dass sich die Konfiguration geändert hat. Damit werden die Änderungen wirksam. Die beiden Befehle lassen sich in einem → Konsolen Script-Programm (Batch file) *.cmd eintragen und mit einem Scheduler periodisch / automatisch ausführen. Optional kann zusätzlich ein Protokoll geführt werden: Man trägt z.B. die Systemzeit unmittelbar vor und nach der Synchronisation ein. So dokumentiert man Zeitpunkt und Ausmaß der Synchronisation. |
C:\> net time /setsntp:time.metrologie.at
C:\> w32tm /config /update |
|
♣
Tipp: Auf manchen Systemen (Vista) kann eine Warnung erfolgen: Ereignis 36 Time Server
|
Das bedeutet: Während der eingestellten Zeit (normalerweise 1 Tag =
86400 sec) erfolgte keine Zeit-Synchronisation. Abhilfe: Im Tray oder mit dem Registry-Editor einen NTP-Server einstellen. |
Zugang zum Zeitserver: Router, Proxy, Firewall |
|
| Zur Ausführung einer Zeit-Synchronisation muss eine NTP-Anfrage von ihrem PC bis zum ausgewählten Zeit-Server gelangen. | Dessen Antwort muss zurück bis zu ihrem PC gelangen. Zusätzlich wird vom NTP-Protokoll die Qualität und Laufzeit der Verbindungs-Strecke gemessen. |
FirewallDas sind Programme, welche die Weiterleitung von Daten überwachen.Meist sind 2 Firewalls beteiligt: • Im eigenen lokalen Netzwerk am eigenen Arbeits-(Client)-PC und am Server. • Zur Synchronisation des Servers am Server-PC und am Router / Proxy-Server. (Die Firewalls am externen Zeitserver sind normalerweise korrekt eingestellt und ohnehin nicht beeinflussbar.) ● Alle beteiligten Firewalls müssen den Transport der NTP-Daten erlauben, d.h. für NTP oder SNTP (Port 123) , Daytime (Port 13) oder Time (Port 37). |
Versuchen sie eine manuelle Zeit-Synchronisation. • Wenn der Test ↓ nicht klappt, kontrollieren sie die Konfiguration der beteiligten Firewalls. Ergänzen sie eine Regel, welche entweder nur ihrem PC oder allen PC des lokalen Netzwerks den Verkehr auf Port 123 gestattet. ♣ Nach Erfahrung treten die meisten Probleme an den Firewalls von selbst konfigurierten Arrbeits-(Client)-PC auf. |
Router bzw. Proxy-ServerSind Geräte, die Daten zwischen zwei Netzwerken vermitteln, in der Regel zwischen dem lokalen Netzwerk (LAN) und dem Internet.Lokale Router sind meist so konfiguriert, dass nur Daten an bestimmte Ports vermittelt werden. Die Standard-Protokolle NTP bzw. SNTP verwenden Port 123. Seltener werden die Protokolle Daytime (Port 13) und Time (Port 37) verwendet. Probleme mit dem lokalen Router sind schwierig einzugrenzen. Man schließt am besten vorher alle anderen Fehlerquellen aus und kontrolliert die Router-Konfiguration. Im Zweifel probeweise einen anderen Router verwenden, oder das Problem mit NetzWerkzeug analysieren (Paket-Monitor oder ähnl.) - erfordert Fachkenntnisse. |
Auf dem Weg zwischen ihrem Provider und dem Zeitserver können sich noch weitere nationale und internationale Router befinden, diese vermitteln jedoch garantiert jedes Protokoll an jedem Port. Unabhängig davon sollten sie einen geografisch möglichst nahe liegenden Zeitserver verwenden. Ihr PC wird rascher und damit genauer synchronisiert und das Internet weniger belastet. ♦ Details zu den Themen Router und Proxy-Server |
|
Test
Synchronisieren sie ihren PC mit dem Tray-Programm↑ oder mit einem
Konsolen-Programm ↑Wenn der Test nicht klappt: • Haben sie das (Administrator)-Recht, die Systemzeit zu ändern ? (Test ↑ ) mit dem Konsolen-Programm time ) • Ist die Verbindung zum Zeitserver gestört ? Wählen sie einen anderen Zeitserver oder versuchen sie die Verbindung von einem anderen PC. |
• Wenn sonst keine Probleme gefunden werden, hat vermutlich einer der Firewalls die Kommunikation blockiert. Ändern sie die Konfiguration, wenn sie dazu berechtigt sind. Falls nicht, bleibt noch der Trick, die Zeit-Synchronisation mit HTTP zu versuchen. |
Meinberg - ntpd Zeit-Server für Windows |
|
|
Das deutsche Unternehmen Meinberg hat den professionellen Linux ntpd
Server auf Windows portiert. Meinberg ist Spezialist für hochpräzise Zeitgeber
und stellt die Software in einer ausgezeichneten Version kostenfrei zur Verfügung. Der Name ntpd ist die Abkürzung für Network Time Protocol Demon. Das nachgestellte d bezeichnet auf Linux die meisten Server-Programme, die als 'Dämon' im Hinregrund arbeiten. |
•
Beachten sie den Unterschied zwischen Client und Server: Ein Server wie
der ntpd bietet Zeit-Informationen für alle PC des lokalen
Netzwerks. • Der Download umfasst mit dem Monitor (User Interface zur Konfiguration und Auswertung) ca. 3.5MB, der installierte Server belegt ca. 2.5MB Speicher. • Die Ausführung ist für den Einsatz eines Windows Servers im lokalen Netzwerk (→ WAMP) sehr empfehlenswert. Man sollte dazu allerdings über fortgeschrittene Kenntnisse verfügen, z.B. um allfällige Kollisionen mit Windows Diensten zu beheben. |
| Gerade beim Einsatz leistungsfähiger Server-Software stellt sich allerdings die Frage, warum man auf halbem Wege stehen bleiben sollte. | Jeder gängige Linux Server (→ LAMP) bietet nicht nur den Original ntpd Zeit-Server sondern auch alle anderen Server-Komponenten (FileServer, WebServer, ...) in professioneller Qualität, ohne lästige Bevormundung durch den Hersteller, sowie kosten- und lizenzfrei... |
|
Letzte Änderung dieser Seite: 2012-03-24 23:07:03
|