lostinnet
Goto Top

SLES11 mit WinServer 2012R2 NTP-Server synchronisieren

Hallo Com,

ich versuche aktuell die Zeit eines SLES11 mit einem Windows Server 2012R2, der als NTP-Server fungiert, zu synchronisieren. Nachdem ich schon mit der NTP-Dienstkonfiguration auf dem WinServer 2012R2 so meine Probleme hatte, synchronisieren die Windows Clients sich mit dem Server.
Nun habe ich herausgefunden, dass der NTP-Dienst von Windows sehr abgespeckt im Gegensatz zum Linux-Dienst. Der SLES bringt mir im Yast unter der NTP-Konfiguration den Fehler "Server unreachable". Jedoch kann der SLES den WinServer normal anpingen.

Der Windows Server 2012R2 hat die IP 192.168.2.250/24.
Der SLES hat die IP 192.168.2.251/24. Die befinden sich nur in einer Testumgebung, daher die IPs. Die Uhrzeit ist auf über eine Stunde Zeitunterschied mit Absicht eingestellt worden.
/EDIT1: Der NTP-Dienst/UDP-Port 123 ist in der Firewall freigeschaltet und zugelassen. Mit NMAP von der Linux-Maschine geprüft, ob der Port auf der Windows Maschine offen ist und das Ergebnis war positiv.

Der NTP-Daemon auf dem SLES läuft und sieht auch den Zeitserver, wie man in der folgenden Ausgabe sieht:
linux-sles:/ # ntpd -qgd
ntpd 4.2.4p8@1.1612-o Thu Nov 10 17:46:29 UTC 2011 (1)
addto_syslog: precision = 1.000 usec
addto_syslog: ntp_io: estimated max descriptors: 1024, initial socket boundary: 16
addto_syslog: Listening on interface #0 wildcard, 0.0.0.0#123 Disabled
addto_syslog: Listening on interface #1 lo, 127.0.0.1#123 Enabled
addto_syslog: Listening on interface #2 lo, 127.0.0.2#123 Enabled
addto_syslog: Listening on interface #3 eth1, 192.168.2.251#123 Enabled
local_clock: time 0 offset 0.000000 freq 0.000 state 0
addto_syslog: kernel time sync status 2040
addto_syslog: frequency initialized 0.000 PPM from /var/lib/ntp/drift/ntp.drift
addto_syslog: 0 makes a poor request keyid

peer_crypto_clear: at 0 next 0 assoc ID 15869
key_expire: at 0
peer_clear: at 0 next 1 assoc ID 15869 refid INIT
newpeer: 192.168.2.251->192.168.2.250 mode 3 vers 4 poll 6 10 flags 0x201 0x1 ttl 0 key 00000000
local_clock: time 0 offset 0.000000 freq 0.000 state 1
report_event: system event 'event_restart' (0x01) status 'sync_alarm, sync_unspec, 1 event, event_unspec' (0xc010)  
transmit: at 1 192.168.2.251->192.168.2.250 mode 3
auth_agekeys: at 1 keys 0 expired 0
timer: refresh ts 0
timer: interface update

receive: at 1 192.168.2.251<-192.168.2.250 mode 4 code 1 auth 0
peer 192.168.2.250 event 'event_reach' (0x84) status 'unreach, conf, 1 event, event_reach' (0x8014)  
clock_filter: n 1 off 3602.919719 del 0.000914 dsp 7.945313 jit 0.000001, age 0
transmit: at 3 192.168.2.251->192.168.2.250 mode 3
receive: at 3 192.168.2.251<-192.168.2.250 mode 4 code 1 auth 0
clock_filter: n 2 off 3602.920217 del 0.000669 dsp 3.949227 jit 0.000498, age 0
[...]
transmit: at 15 192.168.2.251->192.168.2.250 mode 3
receive: at 15 192.168.2.251<-192.168.2.250 mode 4 code 1 auth 0
clock_filter: n 8 off 3602.920226 del 0.000636 dsp 0.015594 jit 0.000727, age 0
addto_syslog: no reply; clock not set

Der NTP Daemon bekommt die Zeit und sieht auch, das eiin großer Zeitunterschied vorhanden ist.
clock_filter: n 8 off 3602.920226 del 0.000636 dsp 0.015594 jit 0.000727, age 0

Wenn ich mit dem Befehl
linux-sles:/ # sntp -r 192.168.2.250
die Synchronisation manuell anstoße, holt sich der SLES ganz normal die Zeit.

Die ntp.conf ist folgendermaßen:
# LCL is unsynchronized

##
## Add external Servers using
## # rcntp addserver <yourserver>
## 

##
## Miscellaneous stuff
##

driftfile /var/lib/ntp/drift/ntp.drift    
# path for drift file

logfile /var/log/ntp		   
# alternate log file
# logconfig =syncstatus + sysevents
# logconfig =all

# statsdir /tmp/		# directory for statistics files
# filegen peerstats  file peerstats  type day enable
# filegen loopstats  file loopstats  type day enable
# filegen clockstats file clockstats type day enable

#
# Authentication stuff
#
keys /etc/ntp.keys		   
# path for keys file
trustedkey 1			   
# define trusted keys
requestkey 1			   
server 192.168.2.250  iburst
restrict 192.168.2.250  
# key (7) for accessing server variables
# controlkey 15			# key (6) for accessing server variables

Die Zeilen
keys /etc/ntp.keys
trustedkey 1
requestkey 1
habe ich schon mal auskommentiert, aber dies erbrachte auch nicht den Erfolg.

Hat jemand vielleicht den Hinweis für mich?

Ansonsten wird wohl extra ein Linux als NTP-Server eingebunden.

Gruß LiN

Die Beiträge hatte ich schon gelesen:
Debian Zeit mit Windows AD syncronisieren.
NTP - Server2003 oder Debian als NTP Client konfigurieren


Meine Lösung

Ich habe es letztendlich mit einem Cronjob gemacht, da es scheinbar keine andere Möglichkeit gibt.
crontab -e// und folgenden Eintrag eingefügt.
*/10 *    * * *  /etc/init.d/sntp -r 192.168.2.250
Damit wird alle 10 Minuten die Zeit mit dem NTP-Server abgeglichen.

Content-ID: 228484

Url: https://administrator.de/contentid/228484

Ausgedruckt am: 22.11.2024 um 22:11 Uhr

quin83
quin83 02.02.2014 um 18:59:06 Uhr
Goto Top
Hallo,

folgende 2 Punkte fallen mir dazu gerade ein:

1. Die Tatsache, dass du den Windows-Server pingen (ICMP) kannst, sagt noch nichts über die NTP Verbindung (Port 123, UDP) aus.
Ist der NTP-Dienst des Windows-Servers in der Firewall freigegeben?

2. Ein Linux NTP-Dienst läuft nur dann sauber an, wenn die lokale Systemzeit nicht zu stark geändert werden muss.
Sobald die Zeit um mehr als 5 Minuten abweicht, muss die erste Änderung manuell durchgeführt werden.

Versuche folgendes:

/etc/init.d/ntpd stop
ntpdate timeserver.example.com
/etc/init.d/ntpd start

(Ich hoffe das ist unter Suse so richtig, kenne den NTP-Dienst dort nicht so genau.)
LostInNet
LostInNet 03.02.2014, aktualisiert am 29.07.2014 um 00:37:32 Uhr
Goto Top
Hallo quin83,

sry, dass ich erst jetzt antworte.

Zu 1. Der Port ist in der Firewall auf der Windows-Maschine und Linux-Maschine (da wird der ja eigentlich nicht benötigt) offen und wird mir auch per NMAP als offen zurückgegeben.
Ich habe das im oberen Post mal nacheditiert, nicht wundern.

2. Dann werde ich das mal mit einer geringeren Zeitspanne probieren. Dieser Umstand war mir nicht bewusst, da Windows ja auch jede Zeitspanne sich gerade bügelt. Ich werde nachher mal Rückmeldung geben, ob dies geklappt hat.

Danke für deine Antwort und Tipps. ntpdate wird mir als depreciated zurückgegeben und der neue Befehl dafür lautet "sntp -r IP".

EDIT Das ist leider noch nicht gelöst.

EDITEDIT
Ich habe es letztendlich mit einem Cronjob gemacht, da es scheinbar keine andere Möglichkeit gibt.
crontab -e und folgenden Eintrag eingefügt.
*/10 *    * * *  /etc/init.d/sntp -r 192.168.2.250
Damit wird alle 10 Minuten die Zeit mit dem NTP-Server abgeglichen.