Einrichtung eines NTP-Servers

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
thilo
Beiträge: 241
Registriert: 12.12.2002 22:48:44

Einrichtung eines NTP-Servers

Beitrag von thilo » 06.11.2004 16:18:25

Hallo zusammen!

Vielleicht kann mir jemand bei einem Problem helfen....

Also:
In einem kleinen Netzwerk befindet sich ein Linux-Server (Debian 3.0) und ein Windows 2000-Client. Beim Booten von Linux wird eine DSL-Verbindung ins Internet hergestellt. Der Server ist also stets online.

Mein Ziel: Die Uhrzeit des Linux-Servers soll sich mit der Zeit eines öffentlichen NTP-Servers synchronisieren. Der Client soll anschließend die Uhrzeit vom Server beziehen.

Im ersten Schritt möchte ich lediglich erreichen, dass die Uhrzeit auf dem Server richtig ist!

Zur Installation:

Code: Alles auswählen

apt-get install ntp ntpdate
In der nun erscheinenden Maske definiere ich folgende Time-Server (gefunden unter http://www.ptb.de):

Code: Alles auswählen

ptbtime1.ptb.de ptbtime2.ptb.de
Der Daemon läuft:

Code: Alles auswählen

ps -A | grep -i ntpd
  551 ?     00:00:01 ntpd
In der Konfigurationsdatei habe ich keine Änderungen vorgenommen:

Code: Alles auswählen

# /etc/ntp.conf, configuration for ntpd

# ntpd will use syslog() if logfile is not defined
#logfile /var/log/ntpd

driftfile /var/lib/ntp/ntp.drift
statsdir /var/log/ntpstats/

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

### lines starting 'server' are auto generated,
### use dpkg-reconfigure to modify those lines.

server ptbtime1.ptb.de
server ptbtime2.ptb.de
Trotzdem geht - auch nach mehreren Stunden - die Uhrzeit des Linux-Servers nicht korrekt: Der Befehl "date" liefert eine falsche Uhrzeit.

Hier ein Auszug aus der heutigen Logdatei "/var/log/syslog":

Code: Alles auswählen

Nov  6 09:16:16 hogwarts ntpd[551]: ntpd 4.1.0 Mon Mar 25 23:39:47 UTC 2002 (2)
Nov  6 09:16:16 hogwarts ntpd[551]: signal_no_reset: signal 13 had flags 4000000
Nov  6 09:16:16 hogwarts ntpd[551]: precision = 17 usec
Nov  6 09:16:16 hogwarts ntpd[551]: kernel time discipline status 0040
Nov  6 09:16:16 hogwarts ntpd[551]: frequency initialized 137.055 from /var/lib/ntp/ntp.drift
Nov  6 09:16:16 hogwarts ntpd[573]: signal_no_reset: signal 17 had flags 4000000
Nov  6 09:16:24 hogwarts ntpd[551]: sendto(192.53.103.103): Operation not permitted
Nov  6 09:16:27 hogwarts ntpd[551]: sendto(192.53.103.104): Operation not permitted
An meiner Firewall kann's nicht liegen - sie habe ich zu Testzwecken komplett ausgeschaltet.... Alles wird erlaubt!

Ach ja: Nach einem "dpkg-reconfigure ntpdate" läuft die Uhrzeit des Servers ohne Probleme! Dann steht im Logfile zusätzlich:

Code: Alles auswählen

Nov  6 16:08:50 hogwarts ntpdate[2909]: step time server 192.53.103.104 offset -3.324375 sec
Wer kann mir helfen, dieses Problem zu lösen?

Vielen Dank für Eure Hilfe!

Gruß,

Thilo

fuzzy
Beiträge: 1021
Registriert: 04.10.2003 12:15:52

Beitrag von fuzzy » 06.11.2004 17:49:58

Hallo thilo,
mir hat die Anleitung von "LInux-für-alle" geholfen :wink:
http://www.linux-fuer-alle.de/doc_show. ... 7&catid=11

Auf den ersten Blick würde ich sagen, Dir fehlt etwas wie:

Code: Alles auswählen

# Zugriff durch NTP-Server gestatten
restrict 192.53.103.103       # ntp1.ptb.de
restrict 192.53.103.104       # ntp2.ptb.de
Gruß fuzzy

thilo
Beiträge: 241
Registriert: 12.12.2002 22:48:44

Beitrag von thilo » 07.11.2004 15:30:08

Hallo "fuzzy",

vielen Dank für Deine Antwort.

Ich habe mal nach anderen Nachrichten zu diesem Thema gesucht.

Auf
http://www.debianforum.de/forum/viewtopic.php?t=13915
ist die gleiche Konfigurationsdatei angegeben. Hier liegt das Problem also nicht!

Ich habe aber folgende Vermutung:
Bei der Installation des Pakets "ntpdate" kann man die Timeserver definieren, mit denen die Zeit synchronisiert wird.

1.) Kann es sein, dass diese Synchronisation lediglich einmal durchgeführt wird, nämlich nach "apt-get install ntpdate" bzw. nach der Eingabe von "dpkg-reconfigure ntpdate"?

2.) Hat man beim nächsten Booten des Rechners wieder keine 100%ige Uhrzeit?

3.) Ich dachte eigentlich, dass der Zeitabgleich bei jedem Bootvorgang automatisch durchgeführt wird.... Ist diese Annahme falsch?

Gruß,

Thilo

Benutzeravatar
eagle
Beiträge: 2282
Registriert: 05.11.2002 11:20:53
Wohnort: Berlin

Beitrag von eagle » 07.11.2004 16:07:24

Der Befehl ntpdate setzt die Zeit genau beim Aufruf. Um die Zeit bei jedem Booten neu zu setzen sollte das Script /etc/init.d/ntpdate in dem Runlevel 2 aufgerufen werden. Dazu kann der Befehl update-rc.d ntpdate defaults benutzt werden. Aber man sollte sicherstellen, dass die Netzwerkverbindung steht bevor der Befehl ausgeführt wird.

eagle
"I love deadlines. I love the whooshing sound they make as they fly by." -- Douglas Adams

Benutzeravatar
SilverDragon
Beiträge: 76
Registriert: 03.03.2003 13:36:02

Beitrag von SilverDragon » 07.11.2004 16:14:13

1.) Kann es sein, dass diese Synchronisation lediglich einmal durchgeführt wird, nämlich nach "apt-get install ntpdate" bzw. nach der Eingabe von "dpkg-reconfigure ntpdate"?

2.) Hat man beim nächsten Booten des Rechners wieder keine 100%ige Uhrzeit?

3.) Ich dachte eigentlich, dass der Zeitabgleich bei jedem Bootvorgang automatisch durchgeführt wird.... Ist diese Annahme falsch?
Das siehst du richtig die Zeit wird nur einmal abgeglichen, wenn du einen Abgleich haben willst solltest du den Aufruf:

Code: Alles auswählen

 ntpdate ptbtime1.ptb.de 
in einen Cronjob legen oder wenn du es auf einem Desktop Rechner nutzen möchtest beim booten ausführen lassen. Allerdings beträgt die Differnz "nur" 5 - 7 Sekunden.
One OS to rule them all, one OS to find them.
One OS to bring them all, and in the darkness bind them
In the land of Redmond, where the shadows lie.

fuzzy
Beiträge: 1021
Registriert: 04.10.2003 12:15:52

Beitrag von fuzzy » 07.11.2004 18:53:15

Ich denke, dass die Zeit auch "zwischendurch" von "ntpd" "nachgestellt" wird..

Code: Alles auswählen

debian:/home# cat /var/log/syslog
[...]
Nov  7 18:24:33 debian kernel: grsec: time set by /usr/sbin/ntpd[ntpd:16826] 
Nov  7 18:24:33 debian ntpd[16826]: time reset -0.595448 s
[...]
...also von dem aktiven Zeitserver..

Code: Alles auswählen

debian:/home# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
===========================================
+ntp1.ptb.de     .PTB.            1 -   13  128  377   34.100   -0.156   0.717
*ntp2.ptb.de     .PTB.            1 -    3  128  377   34.622    0.336   0.534
Soweit ich informiert bin, geht das nur wenn der Zeitunterschied nicht zu groß ist. Also bei einem Zeitunterschied z.B. größer als 10 Minuter, würde "ntpd" nicht "nachstellen".

Ich hoffe das hilft :wink:

Gruß fuzzy

Antworten