ntp.conf Validierung

lockdoc

Well-Known Member
Hi Leute,

ich hatte bis jetzt noch nie einen NTP Server eingerichtet und wollte mich hier einfach mal vergewissern, ob die Konfiguration OK ist und nach dem ausschaut, was sie tun soll.

/etc/ntp.conf
Code:
server  0.de.pool.ntp.org iburst maxpoll 9
server  1.de.pool.ntp.org iburst maxpoll 9
server  2.de.pool.ntp.org iburst maxpoll 9

driftfile /var/db/ntp.drift

logfile /var/log/ntp.log

restrict 192.168.10.0 mask 255.255.255.0 nomodify notrap

server 127.127.1.0
fudge 127.127.1.0 stratum 3

* Es sollen nur Rechner aus dem LAN 192.168.10.0/24 von dem Server die Zeit holen duerfen
* Kein Server auch nicht die pools, sollen die Zeit aendern duerfen (da es eine Jail ist und der Host die Zeit bestimmt).
 
Ein Stratum von 3 für die lokale Uhr ist zu hoch. Die meisten Peers im ntp.org-Pool haben ein Stratum von 2 oder 3, damit ist die lokale Uhr gleichwertig zu ihnen und kann dir das Geschäft verhageln. Nimm am besten 5. Das ist hoch genug, um beim Internetausfall keinen Ärger mit den Clients zu bekommen, aber zugleich niedrig genug, damit echte echte Zeitserver in jedem Fall eine höhere Priorität eingeräumt bekommen.
 
Das Stratum habe ich extra so niedrig gewaehlt, da der NTP Server in der Jail sowieso keine Zeit updaten kann, das macht das Hostsystem ueber einen Cron via ntpdate.

Soweit ich weiss kann eine Jail generell keine Zeit setzen, nur die Zeitzone fuer sich selbst.

Sollte ich jetzt fuer diesen Fall trotzdem das Strata runtersetzen?
 
Der Cronjob lässt die Zeit springen. Das bringt diverse Dienste durcheinander das kann zu Timern führen die Hängen oder im schlimmsten Fall zu Datenkorruption bei multi-master Replikationen von Datenbanken. Ein laufender NTPd würde die Clock feiner einstellen und keine mehreren Sekunden große Sprünge verursachen.
 
Moin,

warum so kompliziert? Konfiguriere den NTPd auf dem Host so, dass er die Systemzeit korrigieren darf
Code:
server 127.127.1.0
fudge 127.127.1.0 stratum 8 refid "<NTP-ID>"
enable calibrate
enable kernel
enable stats

und die Clients nicht:

Code:
restrict default nomodify notrap noquery
restrict 127.0.0.1
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

Damit ist die Zeit auch in allen Jails des Hosts korrekt eingestellt. Auf den Clients (nicht Jails!) würde ich entweder das time-Protokoll oder ntpdate zur Zeitkorrektur nehmen. Wenn Du ntpdate als Cronjob laufen läßt, dann konfiguriere ntpdate so, dass die Zeit auf dem Client langsam zum Zeitnormal gezogen wird, damit es keine Probleme für zeitabhängige Prozesse gibt.
Das time-Protokoll hat ggü. ntpdate den Vorteil, dass timed die Zeit in bestimmten Abständen selber korrigiert.

Noch ein Wort zum Stratum-Wert: je niedriger der Stratumwert, desto weiter oben steht der Server in der NTP-Hierarchie. Du kannst den Wert auf eins oder zwei setzen, wenn der NTP-Server keine Verbindung zu einem externen NTP-Pool hat. Ansonsten ist ein Wert (erheblich) größer als zwei vergesehen.

JueDan
 
Der Cronjob lässt die Zeit springen. Das bringt diverse Dienste durcheinander das kann zu Timern führen die Hängen oder im schlimmsten Fall zu Datenkorruption bei multi-master Replikationen von Datenbanken. Ein laufender NTPd würde die Clock feiner einstellen und keine mehreren Sekunden große Sprünge verursachen.

Da waere ich doch mit dem -B parameter und nen cron alle 15min fuer ntpdate auf der sicheren Seite oder?
Code:
     -B      Force the time to always be slewed using the adjtime(2) system
             call, even if the measured offset is greater than +-128 ms.  The
             default is to step the time using settimeofday(2) if the offset
             is greater than +-128 ms.  Note that, if the offset is much
             greater than +-128 ms in this case, it can take a long time
             (hours) to slew the clock to the correct value.  During this
             time, the host should not be used to synchronize clients.


Moin,

warum so kompliziert?
Ich haette halt gerne eine Service Jail im Lan:
ntp.intern.dev
:-)
Zudem lauscht der standard ntp daemon auf allen Interfaces und der liegt auf dem Router... da wollte ich halt vermeiden, dass das ding nach aussen sichtbar ist.
Und ich will auch keine extra fw Regel erstellen, damit das nicht unnoetig kompliziert wird.

Moin,
Auf den Clients (nicht Jails!) würde ich entweder das time-Protokoll oder ntpdate zur Zeitkorrektur nehmen.
Hier soll der DHCP bzw. Samba Server den (nicht Linux) Clients automatisch beibringen wo der Timeserver ist, so dass ich das dort nicht explizit einstellen muss.

Das time-Protokoll hat ggü. ntpdate den Vorteil, dass timed die Zeit in bestimmten Abständen selber korrigiert.

Hmm ja ich sehe gerade den /etc/rc.d/timed daemon, wo ist denn da der Unterschied zum ntpd und wo finde ich die config Datei vom timed daemon?
 
Zurück
Oben