Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
centos:ntp_c7 [26.06.2015 08:18. ] – [Server] djangocentos: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, warum RedHat einen Daemon als Default zur Verfügung gestellt wird, der vom Entwickler hauptsächlich für mobile Geräte oder nur unregelmäßig laufenden Systemen gebaut hat. 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, warum RedHat einen Daemon als Default zur Verfügung gestellt wird, der vom Entwickler hauptsächlich für mobile Geräte oder nur unregelmäßig laufenden Systemen gebaut hat.
  
-Im Kapitel **[[https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/ch-Configuring_NTP_Using_the_chrony_Suite.html#sect-differences_between_ntpd_and_chronyd|15.1.1. Differences Between ntpd and chronyd]]** finden sich detailierte Angaben, welche Vor- und Nachteile der Daemon **chronyd** gegenüber dem NTP Daemon **ntp**hat. Im gleich anschließendem Kapitel **[[https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/ch-Configuring_NTP_Using_the_chrony_Suite.html#sect-Choosing_between_NTP_daemon|15.1.2. Choosing Between NTP Daemons]]** finden sich dann auch noch weitere Informationen, welcher Daemon wann eingesetzt werden soll.+Im Kapitel **[[https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/ch-Configuring_NTP_Using_the_chrony_Suite.html#sect-differences_between_ntpd_and_chronyd|15.1.1. Differences Between ntpd and chronyd]]** finden sich detailierte Angaben, welche Vor- und Nachteile der Daemon **chronyd** gegenüber dem NTP Daemon **ntp**hat. Im gleich anschließendem Kapitel **[[https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/ch-Configuring_NTP_Using_the_chrony_Suite.html#sect-Choosing_between_NTP_daemon|15.1.2. Choosing Between NTP Daemons]]** finden sich dann auch noch weitere Informationen, welcher Daemon wann eingesetzt werden soll.  
 + 
 +Eine detailierte Gegenüberstellung von **chronyd**, **ntpd** und **openntpd** ist auf der Seite **//[[http://chrony.tuxfamily.org/comparison.html|Comparison of NTP implementations]]//** zu finden.
  
 <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.
 </WRAP> </WRAP>
- 
- 
  
 Die nachfolgende Graphik zeigt exemplarisch den Offset mehrerer virtueller CentOS-Systeme. Der Offset wird dabei von einem **[[centos:web_c7:icinga:start|Icinga2-Monitoring-Server]]** laufend überwacht.  Die nachfolgende Graphik zeigt exemplarisch den Offset mehrerer virtueller CentOS-Systeme. Der Offset wird dabei von einem **[[centos:web_c7:icinga:start|Icinga2-Monitoring-Server]]** laufend überwacht. 
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//__ ist, als bei den vergleichbaren **ntp** bestückten Systemen. 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//__ ist, als bei den vergleichbaren **ntp** bestückten Systemen.
  
-Dies und die Konfigurationsempfehlung von RedHat finden daher bei den Installation Rund um **[[start|Django'WIKI]]** entsprechend Berücksichtigung.+Ä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" 
 + 
 +<code>     remote           refid      st t when poll reach   delay   offset  jitter 
 +============================================================================== 
 ++10.0.0.20       85.10.200.230    2 u  127  128  377    0.184    1.495   0.113 
 +*10.0.0.57       193.175.73.151   2 u  128  128  377    0.166    0.233   0.124 
 ++10.0.0.127      78.111.224.11    2 u   79  128  377    0.150    1.992   1.517 
 +</code> 
 + 
 +In dem gezeigtem Beispiel wurde der Test auf einem CentOS 6 Host vorgenommen, wobei die Hosts folgender Natur waren: 
 +  * 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 und die Konfigurationsempfehlung von RedHat finden daher bei den Installation Rund um **[[start|Djangos WIKI]]** entsprechend Berücksichtigung.
  
 ===== chronyd ===== ===== chronyd =====
Zeile 5387: 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 '/usr/lib/systemd/system/chronyd.service' '/etc/systemd/system/multi-user.target.wants/chronyd.service'
  
 Ein Überprüfung ob der Dienst (Daemon)**chrony**  wirklich bei jedem Systemstart automatisch mit gestartet wird, kann durch folgenden Befehl erreicht werden: Ein Überprüfung ob der Dienst (Daemon)**chrony**  wirklich bei jedem Systemstart automatisch mit gestartet wird, kann durch folgenden Befehl erreicht werden:
Zeile 5451: 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 (<html>2<sup><b>n</b></sup></html>) von <html><b>2<sup>6</sup> = 64</b></html>. Der wert kann schwanken, je nach dem wie stabil das Zeitnormal verläuft.+  * **Poll** \\ Angabe in welchen Abständen die Uhrzeit turnusmäßig synchronisiert wird. Die Zeitspanne errechnet sich bei einem polling-Wert **n = 6** nach (<html>2<sup><b>n</b></sup></html>) von <html><b>2<sup>6</sup> = 64</b></html>. Der Wert kann schwanken, je nach dem wie stabil das Zeitnormal verläuft.
   * **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**, **Stunden**, **Tage** bzw. **Jahre**. Der Wert 10 Jahre steht dafür, dass noch kein gültiges Datenpaket von der Quelle empfangen wurde.   * **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**, **Stunden**, **Tage** bzw. **Jahre**. Der Wert 10 Jahre steht dafür, dass noch kein gültiges Datenpaket von der Quelle empfangen wurde.
Zeile 5706: Zeile 5723:
  
 ==== 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 //**/etc/ntp.conf**//. Mit dem Editor unserer Wahl bearbeiten wir nun diese Datei.
 +   # vim /etc/ntp.conf
 +
 +<file bash /etc/ntp.conf># For more information about this file, see the man pages
 +# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).
 +
 +driftfile /var/lib/ntp/drift
 +
 +# 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.  This could
 +# 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://www.pool.ntp.org/join.html).
 +# 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 server
 +#broadcastclient                        # broadcast client
 +#broadcast 224.0.1.1 autokey            # multicast server
 +#multicastclient 224.0.1.1              # multicast client
 +#manycastserver 239.255.254.254         # manycast server
 +#manycastclient 239.255.254.254 autokey # manycast client
 +
 +# Enable public key cryptography.
 +#crypto
 +
 +includefile /etc/ntp/crypto/pw
 +
 +# Key file containing the keys and key identifiers used when operating
 +# with symmetric key cryptography.
 +keys /etc/ntp/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
 +</file>
 +
 +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 //**/etc/ntp.conf**//. Mit dem Editor unserer Wahl bearbeiten wir nun diese Datei.  
 +   # vim /etc/ntp.conf 
 + 
 +<file bash /etc/ntp.conf># For more information about this file, see the man pages 
 +# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5). 
 + 
 +driftfile /var/lib/ntp/drift 
 + 
 +# 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.  This could 
 +# 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://www.pool.ntp.org/join.html). 
 +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 server 
 +#broadcastclient                        # broadcast client 
 +#broadcast 224.0.1.1 autokey            # multicast server 
 +#multicastclient 224.0.1.1              # multicast client 
 +#manycastserver 239.255.254.254         # manycast server 
 +#manycastclient 239.255.254.254 autokey # manycast client 
 + 
 +# Enable public key cryptography. 
 +#crypto 
 + 
 +includefile /etc/ntp/crypto/pw 
 + 
 +# Key file containing the keys and key identifiers used when operating 
 +# with symmetric key cryptography. 
 +keys /etc/ntp/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 
 +</file> 
 + 
 +/* 
 +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, idProduct=e88a                                                                                    
 +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: GUDEADS 
 +Jul 10 14:34:37 pml010002 kernel: usb 3-1: SerialNumber: FTYRYEJF 
 +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 "nur" **IPv4** im Einsatz, möchte man selbstredend den Support für **IPv6** deaktivieren. 
 + 
 +Das Deaktivieren erfolgt nun nicht, wie man vermutlich annehmen wird über die Konfigurationsdatei //**/etc/ntp.conf**//, sondern über die Datei //**/etc/sysconfig/ntpd**//
 +   # vim /etc/sysconfig/ntpd 
 +<file bash /etc/sysconfig/ntpd># Command line options for ntpd 
 +# Django : 2015-06-26 
 +#          disable IPv6 support 
 +# default: OPTIONS="-g" 
 +OPTIONS="-g -4" 
 +</file> 
 + 
 + 
 +== Paketfilter - firewalld == 
 +Damit unsere Clients Verbindungen zu dem geöffneten **UDP**-Port **ntp/123** chrony-Daemons aufbauen können müssen wir für diese noch Änderungen am Paketfilter **firewalld** vornehmen. 
 + 
 +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 **//on-the-fly//** aktiviert oder auch wieder deaktiviert werden. 
 + 
 +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**, an. Als Source-IP geben geben wir das Netz unserer Clients an, was in unserem Fall **10.0.0.0/24** entspricht. Genug der Vorrede, mit nachfolgendem Befehl wird der Port **123** geöffnet. 
 + 
 +   # firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="10.0.0.0/24" port protocol="udp" port="123" destination address="10.0.0.57/32" accept" 
 + 
 +   success 
 + 
 +Anschließend können wir den Firewall-Daemon einmal durchstarten und anschließend überprüfen, ob die Regeln auch entsprechend unserer Definition, gezogen haben.  
 +   # firewall-cmd --reload 
 + 
 +   success 
 + 
 +Abschließend prüfen wir noch, ob die Erweiterung unseres Paketfilter aktiv ist.  
 +   # iptables -nvL IN_public_allow 
 +<code>Chain IN_public_allow (1 references) 
 + pkts bytes target     prot opt in     out     source               destination 
 +  205 15580 ACCEPT     udp  --  *      *       10.0.0.0/24          10.0.0.57            udp dpt:123 ctstate NEW 
 +    0     0 ACCEPT     tcp  --  *      *       10.0.0.117           10.0.0.57            tcp dpt:5665 ctstate NEW 
 +    2   112 ACCEPT     tcp  --  *      *       0.0.0.0/           0.0.0.0/           tcp dpt:22 ctstate NEW 
 +</code> 
 + 
 +=DHCP == 
 +Damit unsere Cliens auch von [[centos:dhcp-server|unserem eigenen NTP-Server]] Gebrauch machen, geben wir die IP-Adresse unseres NTP-Servers via DHCP bekannt. 
 + 
 +Wir editieren also unsere **/etc/dhcpd.conf**. 
 +   vim  /etc/dhcpd.conf 
 +    
 +           option ntp-servers              192.168.100.1; 
 +Abschließend restarten wir unseren DHCP-Server. 
 +   service dhcpd restart
  
 ==== 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 /var/log/messages
 +<code>Jun 26 10:53:09 vml000127 systemd: Starting Network Time Service...
 +Jun 26 10:53:09 vml000127 ntpd[28371]: ntpd 4.2.6p5@1.2349-o Sat Dec 20 02:38:09 UTC 2014 (1)
 +Jun 26 10:53:09 vml000127 ntpd[28372]: proto: precision = 0.308 usec
 +Jun 26 10:53:09 vml000127 ntpd[28372]: 0.0.0.0 c01d 0d kern kernel time sync enabled
 +Jun 26 10:53:09 vml000127 ntpd[28372]: Listen and drop on 0 v4wildcard 0.0.0.0 UDP 123
 +Jun 26 10:53:09 vml000127 ntpd[28372]: Listen and drop on 1 v6wildcard :: UDP 123
 +Jun 26 10:53:09 vml000127 ntpd[28372]: Listen normally on 2 lo 127.0.0.1 UDP 123
 +Jun 26 10:53:09 vml000127 ntpd[28372]: Listen normally on 3 eth0 10.0.0.127 UDP 123
 +Jun 26 10:53:09 vml000127 ntpd[28372]: Listen normally on 4 eth1 10.0.10.4 UDP 123
 +Jun 26 10:53:09 vml000127 ntpd[28372]: Listen normally on 5 lo ::1 UDP 123
 +Jun 26 10:53:09 vml000127 ntpd[28372]: Listen normally on 6 eth0 fe80::5054:ff:fe75:64da UDP 123
 +Jun 26 10:53:09 vml000127 ntpd[28372]: Listen normally on 7 eth1 fe80::5054:ff:fe34:a2fe UDP 123
 +Jun 26 10:53:09 vml000127 ntpd[28372]: Listening on routing socket on fd #24 for interface updates
 +Jun 26 10:53:09 vml000127 systemd: Started Network Time Service.
 +Jun 26 10:53:10 vml000127 ntpd[28372]: 0.0.0.0 c016 06 restart
 +Jun 26 10:53:10 vml000127 ntpd[28372]: 0.0.0.0 c012 02 freq_set kernel 0.000 PPM
 +Jun 26 10:53:10 vml000127 ntpd[28372]: 0.0.0.0 c011 01 freq_not_set
 +Jun 26 10:53:10 vml000127 ntpd[28372]: 0.0.0.0 c614 04 freq_mode
 +</code>
 +
 +=== 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 '/usr/lib/systemd/system/ntpd.service' '/etc/systemd/system/multi-user.target.wants/ntpd.service'
 +
 +Ein Überprüfung ob der Dienst (Daemon)**ntpd**  wirklich bei jedem Systemstart automatisch mit gestartet wird, kann durch folgenden Befehl erreicht werden:
 +   # systemctl is-enabled ntpd.service
 +
 +   enabled
 +
 +
  
 ==== 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
  
 +<code>ntpd.service - Network Time Service
 +   Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled)
 +   Active: active (running) since Fri 2015-06-26 10:53:09 CEST; 4min 14s ago
 + Main PID: 28372 (ntpd)
 +   CGroup: /system.slice/ntpd.service
 +           └─28372 /usr/sbin/ntpd -u ntp:ntp -g
  
 +Jun 26 10:53:09 vml000127.dmz.nausch.org ntpd[28372]: Listen normally on 4 eth1 10.0.10.4 UDP 123
 +Jun 26 10:53:09 vml000127.dmz.nausch.org ntpd[28372]: Listen normally on 5 lo ::1 UDP 123
 +Jun 26 10:53:09 vml000127.dmz.nausch.org ntpd[28372]: Listen normally on 6 eth0 fe80::5054:ff:fe75:64da UDP 123
 +Jun 26 10:53:09 vml000127.dmz.nausch.org ntpd[28372]: Listen normally on 7 eth1 fe80::5054:ff:fe34:a2fe UDP 123
 +Jun 26 10:53:09 vml000127.dmz.nausch.org ntpd[28372]: Listening on routing socket on fd #24 for interface updates
 +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]: 0.0.0.0 c016 06 restart
 +Jun 26 10:53:10 vml000127.dmz.nausch.org ntpd[28372]: 0.0.0.0 c012 02 freq_set kernel 0.000 PPM
 +Jun 26 10:53:10 vml000127.dmz.nausch.org ntpd[28372]: 0.0.0.0 c011 01 freq_not_set
 +Jun 26 10:53:10 vml000127.dmz.nausch.org ntpd[28372]: 0.0.0.0 c614 04 freq_mode
 +</code>
  
 +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:123           0.0.0.0:                          28372/ntpd
 +  udp        0      0 10.0.0.127:123          0.0.0.0:                          28372/ntpd
 +  udp        0      0 127.0.0.1:123           0.0.0.0:                          28372/ntpd
 +  udp        0      0 0.0.0.0:123             0.0.0.0:                          28372/ntpd
 +  udp6            0 fe80::5054:ff:fe34::123 :::*                                28372/ntpd
 +  udp6            0 fe80::5054:ff:fe75::123 :::*                                28372/ntpd
 +  udp6            0 ::1:123                 :::                               28372/ntpd
 +  udp6            0 :::123                  :::*                                28372/ntpd
 +
 +
 +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)
 +<code>watch ntpq -np</code>
 +zeigt uns an:
 +<code>Every 2,0s: ntpq -np                                                                                         Fri Jun 26 11:21:42 2015
 +
 +     remote           refid      st t when poll reach   delay   offset  jitter
 +==============================================================================
 ++81.169.180.23   78.46.78.10      3 u    2   64  377   28.552    0.764   0.540
 ++88.198.23.16    192.53.103.104   2 u   64   64  377   12.074    0.461   0.589
 ++88.198.8.101    192.53.103.104   2 u   62   64  377   42.315    0.422   0.666
 +*193.175.73.151  DCF77            1 u   62   64  377   12.315    0.552   0.852
 +</code>
 +
 +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? ( Intervall in Sekunden )
 +  * **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 5721: Zeile 6041:
   * Zurück zur **[[http://dokuwiki.nausch.org/doku.php/|Startseite]]**   * Zurück zur **[[http://dokuwiki.nausch.org/doku.php/|Startseite]]**
  
-~~DISCUSSION~~+
  
  
  
  • centos/ntp_c7.1435306695.txt.gz
  • Zuletzt geändert: 26.06.2015 08:18.
  • (Externe Bearbeitung)