Lokalen NTP-Dienst verwenden

Lokalen NTP-Dienst verwenden

Ich versuche, ein System ohne externen Internetzugang (A) dazu zu bringen, die Zeit von einem anderen System im LAN abzurufen, das über einen solchen Zugriff verfügt (B).

In A's ntp.conf (das Ganze steht ganz unten) habe ich Folgendes hinzugefügt:

server 192.168.2.102
restrict 192.168.2.102

Bezieht sich auf die IP von B. Nachdem ich eine Stunde lang Manpages gelesen, Online-Beispiele angeschaut usw. habe, sollte dies meines Erachtens bedeuten, dass dieser lokale Server verwendet wird und ihm in jeder Hinsicht vertraut wird.

Allerdings funktioniert es nicht. Ich kann die beiden Austauschzeiten in ansehen wireshark, und ntpq -pauf A läuft folgende Sendung:

remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
192.168.2.102   .INIT.      16 u   16   64    0    0.000    0.000   0.000

Wenn ich ntpdbei A anhalte und es versuche ntpd -gq, kann ich in Wireshark erneut ein Hin und Her beobachten, aber nach ein oder zwei Minuten läuft der Befehl mit der Meldung „Keine Server gefunden“ ab.

Ich habe sogar versucht, Folgendes zu A's Konferenz hinzuzufügen:

fudge 192.168.2.102 stratum 1

Macht keinen Unterschied.

Wie kann ich ntpd zwingen, die Zeit von einem bestimmten Server einzustellen? Es sieht so aus, als wäre dies früher ganz einfach gewesen mit ntpdate–, was veraltet ist und auf dem System nicht vorhanden ist.


Hier ist die gesamte ntp.conf für Maschine A. Dies ist das Standard-Debian-Wheezy. Die einzigen Änderungen, die ich vorgenommen habe, waren das Hinzufügen der Zeilen mit 192.168.2.102 und das Auskommentieren der Debian-Pool-Server, um Verwirrungen zu vermeiden, da diese ohnehin nicht erreichbar sind.

# /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help

driftfile /var/lib/ntp/ntp.drift

# Enable this if you want statistics to be logged.
#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


# You do need to talk to an NTP server or two (or three).
#server ntp.your-provider.example
server 192.168.2.102
restrict 192.168.2.102
fudge 192.168.2.102 stratum 1

# pool.ntp.org maps to about 1000 low-stratum NTP servers.  Your server will
# pick a different set every time it starts up.  Please consider joining the
# pool: <http://www.pool.ntp.org/join.html>
#server 0.debian.pool.ntp.org iburst
#server 1.debian.pool.ntp.org iburst
#server 2.debian.pool.ntp.org iburst
#server 3.debian.pool.ntp.org iburst


# Access control configuration; see /usr/share/doc/ntp-doc/html/accopt.html for
# details.  The web page <http://support.ntp.org/bin/view/Support/AccessRestrictions>
# might also be helpful.
#
# Note that "restrict" applies to both servers and clients, so a configuration
# that might be intended to block requests from certain clients could also end
# up blocking replies from your own upstream servers.

# By default, exchange time with everybody, but don't allow configuration.
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery

# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict ::1

# Clients from this (example!) subnet have unlimited access, but only if
# cryptographically authenticated.
#restrict 192.168.123.0 mask 255.255.255.0 notrust


# If you want to provide time to your local subnet, change the next line.
# (Again, the address is an example only.)
#broadcast 192.168.123.255

# If you want to listen to time broadcasts on your local subnet, de-comment the
# next lines.  Please do this only if you trust everybody on the network!
#disable auth
#broadcastclient

Antwort1

So etwas wie das Folgende sollte funktionieren.

restrict default ignore
restrict 127.0.0.1 nomodify

restrict 192.168.2.102 mask 255.255.255.0 nomodify notrap noquery
server 192.168.2.102 burst iburst

server 127.127.1.0
fudge  127.127.1.0 stratum 10

Antwort2

Ich habe es zum Laufen gebracht, also für die Nachwelt: Jemand auf #ntp(Freenode) hat gesagt, dass Maschine A möglicherweise nicht glücklich ist, wenn B sich nicht als synchronisiert meldet. Dies kann man daran beobachten, dass ntpq -pauf B keine Server mit einem vorangestellten Sternchen angezeigt werden.

Eine lokale Quelle fälschenB(das durch Prüfung der Systemuhr tatsächlich synchronisiert wird) hat Folgendes korrigiert:

server 127.127.1.0
fudge  127.127.1.0 stratum 10

Es ist jedoch wichtig,nichtmach das aufAda es Stratum 10 mehr vertraut als der „lokal synchronisierten“ Maschine B.

verwandte Informationen