Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
centos:ntp_c7 [26.06.2015 07:21. ] – [Checking chrony Clients] django | centos:ntp_c7 [22.07.2019 14:45. ] (aktuell) – django | ||
---|---|---|---|
Zeile 7: | Zeile 7: | ||
Seit CentOS 7 wird neben dem altbekanntem NTP-Daemon **ntp** ein weiterer Daemon Namens **chrony** zur Verfügung gestellt. In Adminkreisen wurde dazu oft spekuliert und argumentiert, | Seit CentOS 7 wird neben dem altbekanntem NTP-Daemon **ntp** ein weiterer Daemon Namens **chrony** zur Verfügung gestellt. In Adminkreisen wurde dazu oft spekuliert und argumentiert, | ||
- | Im Kapitel **[[https:// | + | Im Kapitel **[[https:// |
+ | |||
+ | Eine detailierte Gegenüberstellung von **chronyd**, | ||
<WRAP center round tip 80%> | <WRAP center round tip 80%> | ||
Zeile 15: | Zeile 17: | ||
* chronyd can adjust the rate of the clock on a Linux system in a larger range, which allows it to operate even on machines with a broken or unstable clock. For example, on some virtual machines. | * chronyd can adjust the rate of the clock on a Linux system in a larger range, which allows it to operate even on machines with a broken or unstable clock. For example, on some virtual machines. | ||
</ | </ | ||
- | |||
- | |||
Die nachfolgende Graphik zeigt exemplarisch den Offset mehrerer virtueller CentOS-Systeme. Der Offset wird dabei von einem **[[centos: | Die nachfolgende Graphik zeigt exemplarisch den Offset mehrerer virtueller CentOS-Systeme. Der Offset wird dabei von einem **[[centos: | ||
Zeile 24: | Zeile 24: | ||
Die Server vml000010 bis vml000050 benutzen für den Abgleich der Zeiten das Paket **ntp**; die Server vml000052 bis vml000117 hingegen nutzen den Daemon **chrony**. Bemerkenswert bei diesem Vergleich ist, dass der //Offset// der einzelnen virtuellen Maschinen bei der Verwendung von **chronyd** um den __//Faktor 10 - 100 geringer// | Die Server vml000010 bis vml000050 benutzen für den Abgleich der Zeiten das Paket **ntp**; die Server vml000052 bis vml000117 hingegen nutzen den Daemon **chrony**. Bemerkenswert bei diesem Vergleich ist, dass der //Offset// der einzelnen virtuellen Maschinen bei der Verwendung von **chronyd** um den __//Faktor 10 - 100 geringer// | ||
- | Dies und die Konfigurationsempfehlung von RedHat finden daher bei den Installation Rund um **[[start|Django' | + | Ähnliche Ergebnisse kann man auch beim direkten Vergleich der zur Verfügung stehenden Zeitquellen an einem Host mit Hilfe von **ntpq**. |
+ | # watch -d -n 1 "ntpq -pn4" | ||
+ | |||
+ | < | ||
+ | ============================================================================== | ||
+ | +10.0.0.20 | ||
+ | *10.0.0.57 | ||
+ | +10.0.0.127 | ||
+ | </ | ||
+ | |||
+ | In dem gezeigtem Beispiel wurde der Test auf einem CentOS 6 Host vorgenommen, | ||
+ | * 10.0.0.20 = CentOS 6 NTP-Server mit Hilfe von **ntpd**, | ||
+ | * 10.0.0.57 = CentOS 7 NTP-Server mit Hilfe von **chrony** und | ||
+ | * 10.0.0.127 = CentOS 7 NTP-Server mit Hilfe von **ntpd**. | ||
+ | * | ||
+ | Diese beiden Beispiele | ||
===== chronyd ===== | ===== chronyd ===== | ||
Zeile 5357: | Zeile 5372: | ||
</ | </ | ||
+ | == DHCP == | ||
+ | Damit unsere Cliens auch von [[centos: | ||
+ | |||
+ | Wir editieren also unsere **/ | ||
+ | | ||
+ | |||
+ | | ||
+ | Abschließend restarten wir unseren DHCP-Server. | ||
+ | | ||
Zeile 5378: | Zeile 5402: | ||
Damit der Daemon **chrony** automatisch bei jedem Systemstart startet, kann die Einrichtung eines Start-Scriptes über folgenden Befehl erreicht werden: | Damit der Daemon **chrony** automatisch bei jedem Systemstart startet, kann die Einrichtung eines Start-Scriptes über folgenden Befehl erreicht werden: | ||
# systemctl enable chronyd.service | # systemctl enable chronyd.service | ||
+ | |||
+ | ln -s '/ | ||
Ein Überprüfung ob der Dienst (Daemon)**chrony** | Ein Überprüfung ob der Dienst (Daemon)**chrony** | ||
Zeile 5442: | Zeile 5468: | ||
* **2** wird angezeigt, wenn der Daemon sich mit einer Quelle synchronisiert hat, die den Wert Stratum 1 inne hat. | * **2** wird angezeigt, wenn der Daemon sich mit einer Quelle synchronisiert hat, die den Wert Stratum 1 inne hat. | ||
* **n** Jede weitere Erhöhung des Stratum-Wertes bedeutet, dass ein weiterer Host zwischen dem chrony-Daemon und dem Zeitnormal mit dem Stratum Wert 1 steht. | * **n** Jede weitere Erhöhung des Stratum-Wertes bedeutet, dass ein weiterer Host zwischen dem chrony-Daemon und dem Zeitnormal mit dem Stratum Wert 1 steht. | ||
- | * **Poll** \\ Angabe in welchen Abständen die Uhrzeit turnusmäßig synchronisiert wird. Die Zeitspanne errechnet sich bei einem polling-Wert **n = 6** nach (< | + | * **Poll** \\ Angabe in welchen Abständen die Uhrzeit turnusmäßig synchronisiert wird. Die Zeitspanne errechnet sich bei einem polling-Wert **n = 6** nach (< |
* **Reach** \\ Registerwert (Oktalzahl) der empfangenen Datenpakete. Das Register hat hat 8 bit und wird jeweils beim Empfang bzw. etwaigen Verlusten von Datenpaketen angepasst. Ein Wert von 377 zeigt z.B. an, das die letzten acht empfangenen Datenpakete gültig waren. | * **Reach** \\ Registerwert (Oktalzahl) der empfangenen Datenpakete. Das Register hat hat 8 bit und wird jeweils beim Empfang bzw. etwaigen Verlusten von Datenpaketen angepasst. Ein Wert von 377 zeigt z.B. an, das die letzten acht empfangenen Datenpakete gültig waren. | ||
* **LastRx** \\ In dieser Spalte wird angezeigt, wann zuletzt von der genannten Zeitquelle ein Datenpaket empfangen wurde. Ein reiner Zahlenwert steht für die Angabe in Sekunden, sowie die Buchstaben **m**, **h**, **d** oder **y** jeweils für **Minuten**, | * **LastRx** \\ In dieser Spalte wird angezeigt, wann zuletzt von der genannten Zeitquelle ein Datenpaket empfangen wurde. Ein reiner Zahlenwert steht für die Angabe in Sekunden, sowie die Buchstaben **m**, **h**, **d** oder **y** jeweils für **Minuten**, | ||
Zeile 5609: | Zeile 5635: | ||
==== Fazit ==== | ==== Fazit ==== | ||
+ | <WRAP center round info 85%> | ||
+ | Betrachtet man nun abschließend die Konfigurationsmöglichkeiten von chrony, kann man unter anderem folgendes Resümee ziehen: | ||
+ | |||
+ | chronyd eignet sich hervorragend im Virtualisierungsumfeld, | ||
+ | </ | ||
+ | |||
===== ntpd ===== | ===== ntpd ===== | ||
+ | Als Alternative kann man natürlich auch auf den altbekannten NTP-Daemon **ntp** zurückgreifen. | ||
==== Installation ==== | ==== Installation ==== | ||
+ | Wurde bei der Erstinstallation der unter CentOS 7 standardmäßig vorgegebene NTP-Daemon noch nicht vom System entfernt, holen wir dies nun kurz nach. | ||
+ | # yum remove chrony -y | ||
+ | |||
+ | Nun installieren wir den NTP-Daemon **ntp** mit Hilfe des Paketverwaltungsprogramms **yum**. | ||
+ | # yum install ntp -y | ||
+ | |||
+ | |||
+ | |||
==== Dokumentation ==== | ==== Dokumentation ==== | ||
+ | Was uns das Paket alles mitgebracht hat, zeigt uns der Aufruf vom Befehl **rpm** mit der Option **// | ||
+ | # rpm -qil ntp | ||
+ | |||
+ | < | ||
+ | Version | ||
+ | Release | ||
+ | Architecture: | ||
+ | Install Date: Fri 26 Jun 2015 09:48:07 AM CEST | ||
+ | Group : System Environment/ | ||
+ | Size : 1429916 | ||
+ | License | ||
+ | Signature | ||
+ | Source RPM : ntp-4.2.6p5-19.el7.centos.src.rpm | ||
+ | Build Date : Sat 20 Dec 2014 03:38:17 AM CET | ||
+ | Build Host : worker1.bsys.centos.org | ||
+ | Relocations : (not relocatable) | ||
+ | Packager | ||
+ | Vendor | ||
+ | URL : http:// | ||
+ | Summary | ||
+ | Description : | ||
+ | The Network Time Protocol (NTP) is used to synchronize a computer' | ||
+ | time with another reference time source. This package includes ntpd | ||
+ | (a daemon which continuously adjusts system time) and utilities used | ||
+ | to query and configure the ntpd daemon. | ||
+ | |||
+ | Perl scripts ntp-wait and ntptrace are in the ntp-perl package, | ||
+ | ntpdate is in the ntpdate package and sntp is in the sntp package. | ||
+ | The documentation is in the ntp-doc package. | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | Die Beschreibungen der einzelnen Befehle findet man in deren **manpage**' | ||
+ | |||
==== Konfiguration ==== | ==== Konfiguration ==== | ||
+ | === Client === | ||
+ | In diesem Konfigurationsbeispiel widmen wir uns einem CentOS 7 Client, der von einem bekannten NTP-Server die Uhrzeit holen und auch synchron halten soll. Ob ein eigener Zeitserver im eigenen **Netzwerk** oder ein **öffentlicher NTP-Server** genutzt werden soll, ist konfigurationstechnisch egal, unterschieden sich beide System i.d.R. nur im Namen oder der zugehörigen IP-Adresse. | ||
+ | |||
+ | Die Konfiguration unseres NTP-Daemon, oder genauer gesagt eines NTP-Clients **ntp**, erfolgt über die Datei // | ||
+ | # vim / | ||
+ | |||
+ | <file bash / | ||
+ | # ntp.conf(5), | ||
+ | |||
+ | driftfile / | ||
+ | |||
+ | # Permit time synchronization with our time source, but do not | ||
+ | # permit the source to query or modify the service on this system. | ||
+ | restrict default kod nomodify notrap nopeer noquery | ||
+ | restrict -6 default kod nomodify notrap nopeer noquery | ||
+ | |||
+ | # Permit all access over the loopback interface. | ||
+ | # be tightened as well, but to do so would effect some of | ||
+ | # the administrative functions. | ||
+ | restrict 127.0.0.1 | ||
+ | restrict -6 ::1 | ||
+ | |||
+ | # Hosts on local network are less restricted. | ||
+ | #restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap | ||
+ | |||
+ | # Use public servers from the pool.ntp.org project. | ||
+ | # Please consider joining the pool (http:// | ||
+ | # Django : 2015-06-06 | ||
+ | # default: server 0.centos.pool.ntp.org iburst | ||
+ | # server 1.centos.pool.ntp.org iburst | ||
+ | # server 2.centos.pool.ntp.org iburst | ||
+ | # server 3.centos.pool.ntp.org iburst | ||
+ | server time.dmz.nausch.org iburst | ||
+ | server 10.0.0.57 iburst | ||
+ | server 10.0.0.127 iburst | ||
+ | |||
+ | #broadcast 192.168.1.255 autokey | ||
+ | # | ||
+ | #broadcast 224.0.1.1 autokey | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Enable public key cryptography. | ||
+ | #crypto | ||
+ | |||
+ | includefile / | ||
+ | |||
+ | # Key file containing the keys and key identifiers used when operating | ||
+ | # with symmetric key cryptography. | ||
+ | keys / | ||
+ | |||
+ | # Specify the key identifiers which are trusted. | ||
+ | #trustedkey 4 8 42 | ||
+ | |||
+ | # Specify the key identifier to use with the ntpdc utility. | ||
+ | #requestkey 8 | ||
+ | |||
+ | # Specify the key identifier to use with the ntpq utility. | ||
+ | #controlkey 8 | ||
+ | |||
+ | # Enable writing of statistics records. | ||
+ | #statistics clockstats cryptostats loopstats peerstats | ||
+ | </ | ||
+ | |||
+ | In der sehr übersichtlichen Konfigurationsdatei ist für unserem Client hauptsächlich die Zeile **server time.dmz.nausch.org iburst** von Interesse. Hier haben wir angegeben, mit welchem oder welchen internen Zeitserver(n) sich der Client sich synchronisieren soll. | ||
+ | |||
+ | |||
=== Server === | === Server === | ||
- | === Clients === | + | == Daemon |
+ | Im zweiten Konfigurationsbeispiel widmen wir uns einem CentOS 7 Server, der von mehreren vertrauenswürdigen NTP-Server im Internet die Uhrzeit holen und auch synchron halten soll. | ||
+ | |||
+ | Die Konfiguration unseres NTP-Daemon, oder genauer gesagt unseres NTP-Servers mit Hilfe von **ntüp**, erfolgt über die Datei // | ||
+ | # vim / | ||
+ | |||
+ | <file bash / | ||
+ | # ntp.conf(5), | ||
+ | |||
+ | driftfile / | ||
+ | |||
+ | # Permit time synchronization with our time source, but do not | ||
+ | # permit the source to query or modify the service on this system. | ||
+ | restrict default nomodify notrap nopeer noquery | ||
+ | |||
+ | # Permit all access over the loopback interface. | ||
+ | # be tightened as well, but to do so would effect some of | ||
+ | # the administrative functions. | ||
+ | restrict 127.0.0.1 | ||
+ | restrict ::1 | ||
+ | |||
+ | # Hosts on local network are less restricted. | ||
+ | # Django : 2015-06-26 | ||
+ | # interne Netze definiert, die den Zeitserver kontaktieren dürfen | ||
+ | # default: #restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap | ||
+ | restrict 10.0.0.0 mask 255.255.255.0 nomodify notrap | ||
+ | restrict 10.0.10.0 mask 255.255.255.192 nomodify notrap | ||
+ | |||
+ | # Use public servers from the pool.ntp.org project. | ||
+ | # Please consider joining the pool (http:// | ||
+ | server 0.centos.pool.ntp.org iburst | ||
+ | server 1.centos.pool.ntp.org iburst | ||
+ | server 2.centos.pool.ntp.org iburst | ||
+ | server 3.centos.pool.ntp.org iburst | ||
+ | |||
+ | #broadcast 192.168.1.255 autokey | ||
+ | # | ||
+ | #broadcast 224.0.1.1 autokey | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Enable public key cryptography. | ||
+ | #crypto | ||
+ | |||
+ | includefile / | ||
+ | |||
+ | # Key file containing the keys and key identifiers used when operating | ||
+ | # with symmetric key cryptography. | ||
+ | keys / | ||
+ | |||
+ | # Specify the key identifiers which are trusted. | ||
+ | #trustedkey 4 8 42 | ||
+ | |||
+ | # Specify the key identifier to use with the ntpdc utility. | ||
+ | #requestkey 8 | ||
+ | |||
+ | # Specify the key identifier to use with the ntpq utility. | ||
+ | #controlkey 8 | ||
+ | |||
+ | # Enable writing of statistics records. | ||
+ | #statistics clockstats cryptostats loopstats peerstats | ||
+ | |||
+ | # Disable the monitoring facility to prevent amplification attacks using ntpdc | ||
+ | # monlist command when default restrict does not include the noquery flag. See | ||
+ | # CVE-2013-5211 for more details. | ||
+ | # Note: Monitoring will not be disabled with the limited restriction flag. | ||
+ | disable monitor | ||
+ | </ | ||
+ | |||
+ | /* | ||
+ | Jul 10 14:34:33 pml010002 kernel: usb 3-1: USB disconnect, device number 2 | ||
+ | Jul 10 14:34:37 pml010002 kernel: usb 3-1: new full speed USB device number 12 using ohci_hcd | ||
+ | Jul 10 14:34:37 pml010002 kernel: usb 3-1: New USB device found, idVendor=0403, | ||
+ | Jul 10 14:34:37 pml010002 kernel: usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 | ||
+ | Jul 10 14:34:37 pml010002 kernel: usb 3-1: Product: Expert mouseCLOCK USB II | ||
+ | Jul 10 14:34:37 pml010002 kernel: usb 3-1: Manufacturer: | ||
+ | Jul 10 14:34:37 pml010002 kernel: usb 3-1: SerialNumber: | ||
+ | Jul 10 14:34:37 pml010002 kernel: usb 3-1: configuration #1 chosen from 1 choice | ||
+ | Jul 10 14:34:37 pml010002 kernel: ftdi_sio 3-1:1.0: FTDI USB Serial Device converter detected | ||
+ | Jul 10 14:34:37 pml010002 kernel: usb 3-1: Detected FT232RL | ||
+ | Jul 10 14:34:37 pml010002 kernel: usb 3-1: Number of endpoints 2 | ||
+ | Jul 10 14:34:37 pml010002 kernel: usb 3-1: Endpoint 1 MaxPacketSize 64 | ||
+ | Jul 10 14:34:37 pml010002 kernel: usb 3-1: Endpoint 2 MaxPacketSize 64 | ||
+ | Jul 10 14:34:37 pml010002 kernel: usb 3-1: Setting MaxPacketSize 64 | ||
+ | Jul 10 14:34:37 pml010002 kernel: usb 3-1: FTDI USB Serial Device converter now attached to ttyUSB1 | ||
+ | */ | ||
+ | == IPv6 Deaktivierung == | ||
+ | Hat man im eigenen Netz " | ||
+ | |||
+ | Das Deaktivieren erfolgt nun nicht, wie man vermutlich annehmen wird über die Konfigurationsdatei // | ||
+ | # vim / | ||
+ | <file bash / | ||
+ | # Django : 2015-06-26 | ||
+ | # disable IPv6 support | ||
+ | # default: OPTIONS=" | ||
+ | OPTIONS=" | ||
+ | </ | ||
+ | |||
+ | |||
+ | == Paketfilter - firewalld == | ||
+ | Damit unsere | ||
+ | |||
+ | Unter **CentOS 7** wird als Standard-Firewall die dynamische **firewalld** verwendet. Ein großer Vorteil der dynamischen Paketfilterregeln ist unter anderem, dass zur Aktivierung der neuen Firewall-Regel(n) nicht der Daemon durchgestartet werden muss und somit alle aktiven Verbindungen kurz getrennt werden. Sondern unsere Änderungen können **// | ||
+ | |||
+ | Mit Hilfe des Programms **firewall-cmd** legen wir nun eine **permanente** Regel in der Zone **public**, dies entspricht in unserem Beispiel das Netzwerk-Interface **eth0** mit der IP **10.0.0.57**, | ||
+ | |||
+ | # firewall-cmd --permanent --zone=public --add-rich-rule=" | ||
+ | |||
+ | | ||
+ | |||
+ | Anschließend können wir den Firewall-Daemon einmal durchstarten und anschließend überprüfen, | ||
+ | # firewall-cmd --reload | ||
+ | |||
+ | | ||
+ | |||
+ | Abschließend prüfen wir noch, ob die Erweiterung unseres Paketfilter aktiv ist. | ||
+ | # iptables -nvL IN_public_allow | ||
+ | < | ||
+ | pkts bytes target | ||
+ | 205 15580 ACCEPT | ||
+ | 0 0 ACCEPT | ||
+ | 2 112 ACCEPT | ||
+ | </ | ||
+ | |||
+ | == DHCP == | ||
+ | Damit unsere Cliens auch von [[centos: | ||
+ | |||
+ | Wir editieren also unsere **/ | ||
+ | | ||
+ | |||
+ | | ||
+ | Abschließend restarten wir unseren DHCP-Server. | ||
+ | | ||
==== Start des Daemon ==== | ==== Start des Daemon ==== | ||
+ | === manueller Start des Daemon === | ||
+ | Möchten wir unseren Daemon starten, benutzen wir den folgenden Befehlsaufruf. | ||
+ | # systemctl start ntpd | ||
+ | |||
+ | Im syslog unseres Servers wird uns der Start unseres NTP-Daemons entsprechend vermerkt. | ||
+ | # tail -f / | ||
+ | < | ||
+ | Jun 26 10:53:09 vml000127 ntpd[28371]: | ||
+ | Jun 26 10:53:09 vml000127 ntpd[28372]: | ||
+ | Jun 26 10:53:09 vml000127 ntpd[28372]: | ||
+ | Jun 26 10:53:09 vml000127 ntpd[28372]: | ||
+ | Jun 26 10:53:09 vml000127 ntpd[28372]: | ||
+ | Jun 26 10:53:09 vml000127 ntpd[28372]: | ||
+ | Jun 26 10:53:09 vml000127 ntpd[28372]: | ||
+ | Jun 26 10:53:09 vml000127 ntpd[28372]: | ||
+ | Jun 26 10:53:09 vml000127 ntpd[28372]: | ||
+ | Jun 26 10:53:09 vml000127 ntpd[28372]: | ||
+ | Jun 26 10:53:09 vml000127 ntpd[28372]: | ||
+ | Jun 26 10:53:09 vml000127 ntpd[28372]: | ||
+ | Jun 26 10:53:09 vml000127 systemd: Started Network Time Service. | ||
+ | Jun 26 10:53:10 vml000127 ntpd[28372]: | ||
+ | Jun 26 10:53:10 vml000127 ntpd[28372]: | ||
+ | Jun 26 10:53:10 vml000127 ntpd[28372]: | ||
+ | Jun 26 10:53:10 vml000127 ntpd[28372]: | ||
+ | </ | ||
+ | |||
+ | === automatischer Start des Daemon === | ||
+ | Damit der Daemon **ntpd** automatisch bei jedem Systemstart startet, kann die Einrichtung eines Start-Scriptes über folgenden Befehl erreicht werden: | ||
+ | # systemctl enable ntpd.service | ||
+ | |||
+ | ln -s '/ | ||
+ | |||
+ | Ein Überprüfung ob der Dienst (Daemon)**ntpd** | ||
+ | # systemctl is-enabled ntpd.service | ||
+ | |||
+ | | ||
+ | |||
+ | |||
==== Tests ==== | ==== Tests ==== | ||
+ | === Daemon === | ||
+ | Als ersten Test überprüfen wir, ob der Service **ntpd** geladen und ausgeführt wird. Hierzu benutzen wir folgenden Befehl. | ||
+ | # systemctl status ntpd.service | ||
+ | < | ||
+ | | ||
+ | | ||
+ | Main PID: 28372 (ntpd) | ||
+ | | ||
+ | | ||
+ | Jun 26 10:53:09 vml000127.dmz.nausch.org ntpd[28372]: | ||
+ | Jun 26 10:53:09 vml000127.dmz.nausch.org ntpd[28372]: | ||
+ | Jun 26 10:53:09 vml000127.dmz.nausch.org ntpd[28372]: | ||
+ | Jun 26 10:53:09 vml000127.dmz.nausch.org ntpd[28372]: | ||
+ | Jun 26 10:53:09 vml000127.dmz.nausch.org ntpd[28372]: | ||
+ | Jun 26 10:53:09 vml000127.dmz.nausch.org systemd[1]: Started Network Time Service. | ||
+ | Jun 26 10:53:10 vml000127.dmz.nausch.org ntpd[28372]: | ||
+ | Jun 26 10:53:10 vml000127.dmz.nausch.org ntpd[28372]: | ||
+ | Jun 26 10:53:10 vml000127.dmz.nausch.org ntpd[28372]: | ||
+ | Jun 26 10:53:10 vml000127.dmz.nausch.org ntpd[28372]: | ||
+ | </ | ||
+ | Mit nachfolgendem Befehlsaufruf können wir überprüfen ob und ggf. auf welchen Netzwerkinterfaces der **ntpd** den **UDP** Port **123** geöffnet hat. | ||
+ | # netstat -paunt | grep 123 | ||
+ | |||
+ | udp 0 0 10.0.10.4: | ||
+ | udp 0 0 10.0.0.127: | ||
+ | udp 0 0 127.0.0.1: | ||
+ | udp 0 0 0.0.0.0: | ||
+ | udp6 | ||
+ | udp6 | ||
+ | udp6 | ||
+ | udp6 | ||
+ | |||
+ | |||
+ | Mit dem Befehl **watch ntpq -np** können wir uns abschließend den Status unseres Timeservers anzeigen lassen (Die Synchronisation unter Umständen bis zu 30 Minuten dauern - diese Zeit muss ggf. gewartet werden) | ||
+ | < | ||
+ | zeigt uns an: | ||
+ | < | ||
+ | |||
+ | | ||
+ | ============================================================================== | ||
+ | +81.169.180.23 | ||
+ | +88.198.23.16 | ||
+ | +88.198.8.101 | ||
+ | *193.175.73.151 | ||
+ | </ | ||
+ | |||
+ | An Hand des **%%*%%** am Zeilenanfang ist zu erkennen, dass Synchronisation erfolgt. Die Spalten haben folgende Bedeutung: | ||
+ | * **remote** \\ Mit welchen Servern ist mein Zeitserver verbunden? | ||
+ | * **refid** \\ Von welcher Zeitquelle stammt die Zeit? | ||
+ | * **st** \\ Anzeige des Stratum-Wertes von der Quelle an Hand der zuletzt empfangenen Datenpakete. | ||
+ | * **1** wird angezeigt, wenn der Server über eine lokal angeschlossene Referenzuhr verfügt. | ||
+ | * **2** wird angezeigt, wenn der Daemon sich mit einer Quelle synchronisiert hat, die den Wert Stratum 1 inne hat. | ||
+ | * **n** Jede weitere Erhöhung des Stratum-Wertes bedeutet, dass ein weiterer Host zwischen dem chrony-Daemon und dem Zeitnormal mit dem Stratum Wert 1 steht. | ||
+ | * **t** \\ Welchen Typs ist die Zeitquelle? | ||
+ | * **u** = unicast, | ||
+ | * **m** = multicast, | ||
+ | * **l** = lokal, | ||
+ | * **-** = unbekannt | ||
+ | * **when** \\ Vor wieviel Sekunden wurde beim Server zuletzt angefragt ? | ||
+ | * **poll** \\ Wie oft wird mit diesem Server syncronisiert? | ||
+ | * **reach** \\ Registerwert (Oktalzahl) der empfangenen Datenpakete. Das Register hat hat 8 bit und wird jeweils beim Empfang bzw. etwaigen Verlusten von Datenpaketen angepasst. Ein Wert von 377 zeigt z.B. an, das die letzten acht empfangenen Datenpakete gültig waren und somit alles bestens ist. | ||
+ | * **delay** \\ Verzögerung durch Laufzeitunterschiede zwischen dem externen Zeitserver und dem lokalen Server. | ||
+ | * **offset** \\ Repräsentiert die geschätze Differenz der lokalen Uhr zur externen Quelle. | ||
+ | * **jitter** \\ Abweichung in Millisekunden | ||
====== Links ====== | ====== Links ====== | ||
Zeile 5628: | Zeile 6041: | ||
* Zurück zur **[[http:// | * Zurück zur **[[http:// | ||
- | ~~DISCUSSION~~ | + | |