Hier ist eine gute Anleitung aus Ubuntu-Foren: http://ubuntuforums.org/showthread.php?t=862620
Flagrant Copy-Pasta:
HOWTO: Richten Sie einen NTP-Server ein
In diesem Lernprogramm wird beschrieben, wie Sie Ihren Computer als lokalen NTP-Server (Network Time Protocol) einrichten und / oder den NTP-Dämon verwenden, um regelmäßig eine genaue Systemzeit einzuhalten.
Was ist NTP?
Das Network Time Protocol (NTP) ist ein Protokoll zur genauen Synchronisierung lokaler Zeituhren mit vernetzten Zeitservern. Das NTP-Netzwerk von Zeitservern ist hierarchisch aufgebaut, so dass jeder Benutzer das System auf einer bestimmten Ebene als Server betreten kann (weitere Informationen finden Sie auf der Wikipedia-Seite).
Die NTP-Hierarchie ist in verschiedene Ebenen unterteilt, die als Taktschichten bezeichnet werden. Die genaueste Ebene, Stratum 0, ist für Atomuhren usw. reserviert. Die nächste Ebene, Stratum 1, wird im Allgemeinen von vernetzten Maschinen verwendet, die lokal mit den Stratum 0-Uhren verbunden sind. Stratum 2 ... 15 sind NTP-Maschinen, die wiederum mit Uhren niedrigerer Ebene und untereinander verbunden sind.
In diesem Handbuch wird beschrieben, wie Sie eine genaue Synchronisierung mit Stratum 1- und Stratum 2-Computern durchführen und die Systemuhr den ganzen Tag über so genau wie möglich halten. In den Abschnitten wird auch erläutert, wie Sie Ihren Computer als Stratum 2/3-Server für andere Computer in Ihrem lokalen Netzwerk verwenden können.
Muss ich einen NTP-Server einrichten?
Nein auf keinen Fall! Wenn Sie mit den Uhren in Ihrem Netzwerk zufrieden sind, die einen unbekannten Unterschied zur Standardzeit (und zueinander) aufweisen, müssen Sie keinen NTP-Server einrichten. Ich habe einen auf meinem Laptop eingerichtet, um mehrere Computer in einem lokalen Netzwerk innerhalb von <1 ms für ein Bioengineering-Experiment zu synchronisieren. Darüber hinaus gibt es verschiedene andere Vorteile, die im Folgenden beschrieben werden.
Motivation:
Unveränderte Ubuntu-Boxen verwenden regelmäßig ntpdate ( /usr/sbin/ntpdate
), um die Uhr regelmäßig mit einem externen Zeitserver zu synchronisieren. Dieser Ansatz synchronisiert die Uhr mit einer Kursauflösung (normalerweise einmal am Tag).
Computeruhren sind nicht perfekt und wandern tagsüber vom (richtigen) Zeitserver ab. Darüber hinaus unterscheiden sich die Driftraten in den Uhren verschiedener Computer, so dass am Ende des Tages erhebliche Unterschiede zwischen verschiedenen lokal vernetzten Computern bestehen können, die bestimmte Vorgänge stören können (z. B. jemals ein Makefile beschweren, wenn Quellcode verschoben wird) verschiedene Maschinen?).
Es ist möglich, den NTP-Dämon lokal auf einem Computer in Ihrem Netzwerk auszuführen. Dies hat mehrere Vorteile: Erstens "lernt" der NTP-Daemon allmählich die Driftrate Ihres lokalen Rechners und kann diese im Laufe des Tages korrigieren. Die Synchronisierung mit Zeitservern der oberen Ebene findet mehrmals täglich statt, und viele verschiedene Zeitserver können gleichzeitig verwendet werden, um die Synchronisierung genauer zu gestalten. Auf diese Weise fungiert der NTP-Dämon als Client für genaue Zeitangaben und hält die Systemuhr so nahe wie möglich an der Standardzeit.
Der NTP-Daemon sorgt nicht nur für eine genaue Systemuhr, sondern ermöglicht es einem Computer in Ihrem Netzwerk (wenn Sie möchten), als NTP-Zeitserver zu arbeiten. Auf diese Weise können andere Computer in Ihrem lokalen Netzwerk sehr schnell und genau mit Ihrem LAN-Zeitserver synchronisiert werden, da die Netzwerklatenz minimiert wird. Auf diese Weise werden die Taktunterschiede zwischen Computern in Ihrem Netzwerk so gering wie möglich gehalten. Mac und sogar Windows-Boxen können auch mit einem NTP-Server synchronisiert werden, falls Sie einen einrichten.
Es gibt andere, weniger persönliche Gründe, einen Computer als NTP-Server einzurichten. Erstens kann dies die Belastung für NTP-Server auf höherer Ebene verringern, da andere Computer in Ihrem LAN möglicherweise mit einem lokal eingerichteten Zeitserver synchronisiert werden. Außerdem wurde ntpdate zugunsten der Verwendung des Flags -q für ntpd (das die Funktionalität nachahmt) als veraltet eingestuft. Selbst wenn Sie ntpd nicht ständig im Hintergrund ausführen möchten, wird ntpdate schließlich durch ntpd ersetzt, sodass Sie sich möglicherweise jetzt damit vertraut machen möchten
So pflegen Sie eine genaue Systemuhr mit ntpd
- Installieren Sie den NTP-Daemon
Installieren Sie zuerst den NTP-Daemon (ntpd):
sudo aptitude install ntpd
Wie bereits erwähnt, kann ntpd sowohl als Client (Synchronisierung der Systemzeit) als auch als Server (Bereitstellung der genauen Zeit für andere Computer) fungieren.
Optional können Sie auch das vorherige (veraltete) Zeitsynchronisationsprogramm ntpdate entfernen. Vielleicht ist es klüger, dies zu tun, nachdem Sie mit ntpd gearbeitet haben
sudo aptitude remove ntpdate
- Konfigurieren Sie den Dämon ordnungsgemäß
Die Konfigurationsdatei für ntpd befindet sich unter /etc/ntp.conf
. Die Standard-Ubuntu-Datei erfordert wahrscheinlich einige Änderungen, um eine optimale Leistung zu erzielen.
Der erste Abschnitt, den Sie möglicherweise ändern möchten, ist die Liste der Server, mit denen synchronisiert werden soll. Der Standardabschnitt sieht wahrscheinlich folgendermaßen aus:
# You do need to talk to an NTP server or two (or three).
server ntp.ubuntu.com
Um eine möglichst genaue Uhrzeit zu erhalten, sollten Sie vorzugsweise mit mehreren verschiedenen NTP-Servern kommunizieren und diese so nah wie möglich an Ihrem physischen Standort halten. Es sind verschiedene Serverlisten online, wahrscheinlich befindet sich die beste hier. Es gibt einige Debatten über die richtige Anzahl der zu verwendenden Server. Eins ist besser als zwei und drei oder mehr ist wahrscheinlich eine gute Idee, solange Sie nicht zu weit über Bord gehen. Ein Beispiel für einige Zeitserver, die ich verwendet habe:
server nist1-dc.WiTime.net iburst
server ntp0.mcs.anl.gov
server 0.us.pool.ntp.org
server 1.us.pool.ntp.org
server 2.us.pool.ntp.org
server 3.us.pool.ntp.org
Sobald ein paar gute Server gefunden wurden, fügen Sie sie der Liste hinzu, wobei Sie 'iburst'
den vielversprechendsten auswählen. Zum Beispiel:
server nist1-dc.WiTime.net iburst
Dadurch wird ntpd nach dem Start sehr schnell mit diesem Server synchronisiert. Andernfalls tendiert ntpd langsam dazu, sich mit der Serverliste abzustimmen (wie es der Fall ist), und es kann 15 bis 20 Minuten dauern, bis die Synchronisierung gut genug ist, um als Zeitserver für den Rest Ihres Netzwerks zu fungieren.
Fügen Sie außerdem ein paar zusätzliche Zeilen am Ende Ihrer Serverliste hinzu, um Ihre aktuelle Ortszeit als Standard anzugeben, falls Sie vorübergehend die Internetverbindung verlieren sollten:
server 127.127.1.0
fudge 127.127.1.0 stratum 10
Dies verhindert Unangenehmes, wenn Sie ntpd auf einem Laptop oder einem anderen Computer mit zeitweiligen Unterbrechungen der Internetverbindung ausführen.
Alles in allem sollte die Serverliste wie folgt aussehen (dies ist meine, Ihre Server werden wahrscheinlich anders sein):
# You do need to talk to an NTP server or two (or three).
server nist1-dc.WiTime.net iburst
server ntp0.mcs.anl.gov
server 0.us.pool.ntp.org
server 1.us.pool.ntp.org
server 2.us.pool.ntp.org
server 3.us.pool.ntp.org
server 127.127.1.0
fudge 127.127.1.0 stratum 10
- Stellen Sie sicher, dass die Konfiguration funktioniert
Nachdem Sie eine korrekte Serverliste in Ihrer /etc/ntp.conf
Datei haben, ist es an der Zeit, den Daemon auszuführen und zu prüfen, ob Sie ordnungsgemäß synchronisieren. Stellen Sie sicher, dass Sie über eine aktive Internetverbindung verfügen, und führen Sie dann Folgendes aus:
sudo /etc/init.d/ntp restart
Überwachen Sie als Nächstes Ihr Systemprotokoll, um festzustellen, ob Sie mit einem Zeitserver synchronisieren:
tail -f /var/log/syslog
In etwa 10 bis 15 Sekunden (oder bis zu 15 bis 20 Minuten, wenn Sie vergessen haben, 'iburst' nach Ihrem Lieblingsserver zu setzen) sollten Sie in Ihrem Systemprotokoll Folgendes sehen:
Jul 17 16:50:22 hostname ntpd[22402]: synchronized to 140.221.9.20, stratum 2
Wenn diese Meldung nie angezeigt wird, haben Sie noch keine ordnungsgemäße Synchronisierung mit dem NTP-Servernetzwerk durchgeführt. Überprüfen Sie die Liste der NTP-Peers, mit denen Sie kommunizieren, wie folgt:
ntpq -c lpeer
Wenn die Felder "Verzögerung", "Versatz" und "Jitter" nicht Null sind und Sie nicht synchronisiert haben, bedeutet dies wahrscheinlich, dass Sie nur eine Weile warten müssen. Überprüfen Sie erneut, ob Sie das Argument 'iburst' in Ihre Serverliste eingefügt haben! Meine Kollegen sehen als Referenz ungefähr so aus:
remote refid st t when poll reach delay offset jitter
==============================================================================
*milo.mcs.anl.go 192.5.41.40 2 u 4 64 77 46.213 67.753 2.207
-europium.canoni 193.79.237.14 2 u 63 64 37 97.375 71.020 1.875
-dtype.org 69.25.96.13 2 u 2 64 77 86.956 69.178 1.804
+smtp130.junkema 216.218.254.202 2 u 2 64 77 87.266 67.677 0.916
+kechara.flame.o 216.218.254.202 2 u - 64 77 89.183 68.717 1.713
-host2.kingrst.c 99.150.184.201 2 u - 64 77 24.306 62.121 2.608
LOCAL(0) .LOCL. 10 l 59 64 37 0.000 0.000 0.002
- Teilen! (Optional)
Sobald ntpd ausgeführt wird und mit den von Ihnen ausgewählten Zeitservern synchronisiert ist, können Sie es einrichten, um als Zeitserver für andere Computer zu fungieren. Fügen Sie dazu einen Abschnitt wie den folgenden hinzu /etc/ntp.conf
:
# Allow LAN machines to synchronize with this ntp server
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
restrict 192.168.2.0 mask 255.255.255.0 nomodify notrap
You may add as many (or few) CIDR address blocks to allow to synchronize with your machine as you'd like. I included those commonly used with Linksys (192.168.1.*) and SMC (192.168.2.*) routers.
- Synchronisieren! (Optional)
Nachdem Sie in den Schritten 1 bis 4 einen NTP-Server eingerichtet haben, können Sie die anderen Computer in Ihrem Netzwerk auf verschiedene Arten mit Ihrem Server synchronisieren. Ich skizziere unten ein paar davon:
ntpd:
Wenn Sie ntpd auf einem anderen Computer installiert haben, können Sie Ihren ersten Server in der Serverliste Ihrer Datei ntp.conf verwenden oder wie folgt einmalig mit der Option -q synchronisieren:
ntpd -q [IP address of your server]
ntpdate:
Wenn Sie ntpdate noch auf einem anderen Computer installiert haben, können Sie es wie folgt zur Synchronisierung mit Ihrem Server verwenden:
ntpdate [IP address of your server]
Hinweis: Wenn Sie ntpd auf einem Computer ausführen und aus irgendeinem Grund weiterhin ntpdate zum Festlegen der Uhrzeit verwenden möchten, müssen Sie die Option -u verwenden.
Windows:
Windows-Computer verwenden eine vereinfachte Version von NTP namens SNTP (Simple Network Time Protocol) und können mit NTP-Servern synchronisieren. Um mit Ihrem neuen Server zu synchronisieren, doppelklicken Sie auf die Uhrzeit und gehen Sie zur Registerkarte "Internetzeit". Tragen Sie die IP-Adresse Ihres Servers in das Feld "Server" ein. Ich habe einen Screenshot von Windows XP angehängt, der sich mit einem LAN-Zeitserver synchronisiert, sollte sich jemand dafür interessieren.
Das ist es! Der gesamte Prozess ist nicht schwer, kann aber für jemanden verwirrend sein, der sich zuvor nicht viel mit dem NTP-Netzwerk befasst hat. Ich hoffe das hilft! Lassen Sie mich wissen, wenn Sie Probleme beim Einrichten Ihres Servers haben.
Mike
Links
Ich fand die folgenden Links hilfreich ... vielleicht auch Sie!
https://help.ubuntu.com/7.10/server/C/NTP.html
http://linuxwave.blogspot.com/2007/0...tp-server.html
http: //lists.ntp.isc. org / pipermail / q ... er / 011889.html
http://www.linuxhomenetworking.com/w...Fntp.conf_File
http://www.ntp.org/ntpfaq/NTP-a-faq.htm
ntpdate -s a_stratum_1_server_address
, um die sofortige Synchronisierung zu erzwingen. Auf Ihrem anderen (Client-) Rechner sollte "ntpdate -q your_local_ntp_server" dann mit etwas ähnlichem wieserver your_local_ntp_server_ip, stratum 2, offset -0.012221, delay 0.02618
Es gibt viele Links dazu und es scheint mir, dass sie das Verfahren erschweren. In meinem Fall habe ich einen Computer, der als Proxyserver und Firewall fungiert, und alle anderen stellen über ihn eine Verbindung zum Internet her. Ich wollte keine Ports in der Firewall öffnen. Daher ist der Proxy - Server muss die Zeit (ntp) seinen Server und die anderen Maschinen ( Clients ) aus der Zeit.
Sie müssen ntp auf allen Computern installieren, und Sie sollten ntpq auch auf allen Computern installieren.
Überprüfen Sie zunächst, ob ntp funktioniert. Standardmäßig wird ntpd (der ntp-Daemon) ausgeführt, sobald es installiert ist, und die Standardeinstellungen sollten funktionieren. Ntp funktioniert jedoch nicht sofort. Warten Sie also eine Weile. Dann der Befehl:
Sie sollten eine Ausgabe erhalten, die ungefähr so aussieht:
oder:
Wenn ja, sind Sie verbunden und Ihr Zeitserver erhält die Zeit. Wenn nicht, benutze
um sicher zu gehen, dass ntp läuft, und versuche es erneut. Versuchen Sie auch, ntp neu zu starten:
Es kann einige "Zeit" dauern (sorry!), bis die Verbindung hergestellt ist. Der Daemon fragt die Server nicht sehr oft ab. Die Spalte "Wann" in der obigen Ausgabe gibt die Zeit in Sekunden an, seit der Server abgefragt wurde.
Jetzt müssen Sie den Zeitserver veranlassen, die Zeit an Ihre anderen Computer zu senden.
Bearbeiten Sie die Datei
/etc/ntp.conf
auf dem Server. Sie müssen eine Leitung für Ihr Netzwerk hinzufügen. In meinem Fall habe ich ein 10.0.0.0-Netzwerk. In der Datei ntp.conf habe ich folgende Zeile hinzugefügt:Sie müssen für jedes Segment Ihres Netzwerks eine Übertragungsleitung hinzufügen. Wenn Ihr Netzwerk so einfach ist wie meins, brauchen Sie nur eine Zeile wie die oben genannte. Starten Sie nun ntp mit dem obigen Befehl neu und überprüfen Sie es erneut mit ntpq. Folgendes sollte angezeigt werden:
Voila, es sendet.
Jetzt müssen Sie dafür sorgen, dass jeder Client-Computer die Zeit von Ihrem Broadcast-Server erhält. Bearbeiten Sie auf jedem die Datei:
und Sie werden einige Zeilen sehen, die Server angeben.
füge eine Zeile hinzu
oder was auch immer die Adresse Ihres Servers ist. Starten Sie dann ntp auf dem Client-Computer mit dem obigen Befehl neu. Alternativ können Sie die Prozess-ID abrufen und einfach beenden und erneut ausführen. Was auch immer.
Prüfen Sie dann nach einer ausreichenden Zeit mit ntpq:
und Sie können sehen, dass der Client den Zeitserver verwendet.
Dies dauert einige Zeit.
quelle
ntpdate -s a_stratum_1_server_address
auf Ihrem NTP-Server ausführen, um die sofortige Abfrage und Synchronisierung zu erzwingen.Installieren Sie NTP, wenn es nicht installiert ist:
Bearbeiten Sie die Konfigurationsdatei , damit der NTP-Dienst Anforderungen empfangen kann:
Kommentar für diese Zeile entfernen:
zu:
Starten Sie den NTP- Dienst neu:
Jetzt muss Ihr NTP-Server funktionieren und es einem anderen Computer ermöglichen, mit Ihrem zu synchronisieren. Jeder der oben genannten Tests, wie der
ntpdate -u YourComputer
sollte funktionieren.quelle