Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:time_protocol_archlinux

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
tachtler:time_protocol_archlinux [2020/12/31 11:07] – [Time Protocol Archlinux] klaustachtler:time_protocol_archlinux [2022/03/31 05:27] (aktuell) – [Installation] klaus
Zeile 7: Zeile 7:
 Das "Time Protocol" sieht eine Website-unabhängige, maschinenlesbare Datum- und Zeitübermittlung vor. Der "Zeitserver" sendet die Zeit, gerechnet in Sekunden seit Mitternacht des 1. Januar 1900, als 32-Bit-Binärzahl.  Das "Time Protocol" sieht eine Website-unabhängige, maschinenlesbare Datum- und Zeitübermittlung vor. Der "Zeitserver" sendet die Zeit, gerechnet in Sekunden seit Mitternacht des 1. Januar 1900, als 32-Bit-Binärzahl. 
  
-Um einen "Zeitserver" im **Time Protocol** unter [[https://www.archlinux.de/|Archlinux]] zu realisieren, kann der ''xinetd''-Dienst/Daemon verwendet werden. Nachfolgen soll veranschaulicht werden, wie unter Zuhilfenahme des ''xinetd''-Dienstes/Daemon dies realisiert werden kann.+Um einen "Zeitserver" im **Time Protocol** unter [[https://www.archlinux.de/|ArchLinux]] zu realisieren, kann der ''xinetd''-Dienst/Daemon verwendet werden. Nachfolgen soll veranschaulicht werden, wie unter Zuhilfenahme des ''xinetd''-Dienstes/Daemon dies realisiert werden kann.
  
 :!: **HINWEIS ** - Nachfolgend soll die Installation eines "Zeitservers" für eine **privates Netzwerk** beschrieben werden! :!: **HINWEIS ** - Nachfolgend soll die Installation eines "Zeitservers" für eine **privates Netzwerk** beschrieben werden!
- 
-:!: **HINWEIS** - **IPv6 soll __NICHT__ genutzt werden!!!** 
  
 Ab hier werden zur Ausführung nachfolgender Befehle **''root''**-Rechte benötigt. Um der Benutzer ''root'' zu werden, melden Sie sich bitte als ''root''-Benutzer am System an, oder wechseln mit nachfolgendem Befehl zum Benutzer ''root'': Ab hier werden zur Ausführung nachfolgender Befehle **''root''**-Rechte benötigt. Um der Benutzer ''root'' zu werden, melden Sie sich bitte als ''root''-Benutzer am System an, oder wechseln mit nachfolgendem Befehl zum Benutzer ''root'':
Zeile 22: Zeile 20:
  
 Zur Installation eines "Zeitservers" wird nachfolgendes Paket benötigt: Zur Installation eines "Zeitservers" wird nachfolgendes Paket benötigt:
-  * **''xinetd''** - ist im ''base''-Repository von [[https://www.archlinux.de/|Archlinux]] enthalten+  * **''xinetd''** - ist im ''extra''-Repository von [[https://www.archlinux.de/|ArchLinux]] enthalten
 installiert werden. installiert werden.
  
 Um eine "Zeitabfrage" gegen den "Zeitserver" durchführen zu können, kann das Paket Um eine "Zeitabfrage" gegen den "Zeitserver" durchführen zu können, kann das Paket
-  * **''rdate''** - ist ebenfalls im ''AUR''-Repository von [[https://aur.archlinux.org//|Archlinux - AUR]] enthalten+  * **''rdate''** - ist ebenfalls im ''AUR''-Repository von [[https://aur.archlinux.org//|ArchLinux - AUR]] enthalten
 installiert werden. installiert werden.
  
 Mit nachfolgendem Befehl, wird das Pakete **''xinetd''** installiert: Mit nachfolgendem Befehl, wird das Pakete **''xinetd''** installiert:
 <code> <code>
-# pacman -S xinetd+# pacman --noconfirm -S xinetd 
 +</code>  
 +++++ Installationsverlauf | 
 +<code> 
 +# pacman --noconfirm -S xinetd 
 +resolving dependencies... 
 +looking for conflicting packages... 
 + 
 +Package (1)   New Version  Net Change  Download Size 
 + 
 +extra/xinetd  2.3.15.4-1     0.23 MiB       0.10 MiB 
 + 
 +Total Download Size:   0.10 MiB 
 +Total Installed Size:  0.23 MiB 
 + 
 +:: Proceed with installation? [Y/n]  
 +:: Retrieving packages... 
 + xinetd-2.3.15.4-...   101.2 KiB  2.47 MiB/s 00:00 [######################] 100% 
 +(1/1) checking keys in keyring                     [######################] 100% 
 +(1/1) checking package integrity                   [######################] 100% 
 +(1/1) loading package files                        [######################] 100% 
 +(1/1) checking for file conflicts                  [######################] 100% 
 +(1/1) checking available disk space                [######################] 100% 
 +:: Running pre-transaction hooks... 
 +(1/1) Performing snapper pre snapshots for the following configurations... 
 +==> root: 19 
 +:: Processing package changes... 
 +(1/1) installing xinetd                            [######################] 100% 
 +Optional dependencies for xinetd 
 +    perl: for xconv.pl script [installed] 
 +:: Running post-transaction hooks... 
 +(1/3) Reloading system manager configuration... 
 +(2/3) Arming ConditionNeedsUpdate... 
 +(3/3) Performing snapper post snapshots for the following configurations... 
 +==> root: 20
 </code> </code>
 +++++
  
 Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket **''xinetd''** installiert wurden. Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket **''xinetd''** installiert wurden.
 <code> <code>
 # pacman -Qil xinetd # pacman -Qil xinetd
 +</code> 
 +++++ Installierte Dateien |
 +<code>
 +<code>
 +# pacman -Qil xinetd
 +Name            : xinetd
 +Version         : 2.3.15.4-1
 +Description     : A secure replacement for inetd
 +Architecture    : x86_64
 +URL             : https://github.com/openSUSE/xinetd
 +Licenses        : custom
 +Groups          : None
 +Provides        : None
 +Depends On      : libtirpc
 +Optional Deps   : perl: for xconv.pl script [installed]
 +Required By     : None
 +Optional For    : None
 +Conflicts With  : None
 +Replaces        : None
 +Installed Size  : 230.60 KiB
 +Packager        : Tobias Powalowski <tpowa@archlinux.org>
 +Build Date      : Mon 17 Aug 2020 02:48:12 PM CEST
 +Install Date    : Thu 31 Dec 2020 11:11:34 AM CET
 +Install Reason  : Explicitly installed
 +Install Script  : No
 +Validated By    : Signature
 +
 +xinetd /etc/
 +xinetd /etc/xinetd.conf
 +xinetd /etc/xinetd.d/
 +xinetd /etc/xinetd.d/chargen
 +xinetd /etc/xinetd.d/chargen-udp
 +xinetd /etc/xinetd.d/daytime
 +xinetd /etc/xinetd.d/daytime-udp
 +xinetd /etc/xinetd.d/discard
 +xinetd /etc/xinetd.d/discard-udp
 +xinetd /etc/xinetd.d/echo
 +xinetd /etc/xinetd.d/echo-udp
 +xinetd /etc/xinetd.d/servers
 +xinetd /etc/xinetd.d/services
 +xinetd /etc/xinetd.d/time
 +xinetd /etc/xinetd.d/time-udp
 +xinetd /usr/
 +xinetd /usr/bin/
 +xinetd /usr/bin/itox
 +xinetd /usr/bin/xconv.pl
 +xinetd /usr/bin/xinetd
 +xinetd /usr/lib/
 +xinetd /usr/lib/systemd/
 +xinetd /usr/lib/systemd/system/
 +xinetd /usr/lib/systemd/system/xinetd.service
 +xinetd /usr/share/
 +xinetd /usr/share/licenses/
 +xinetd /usr/share/licenses/xinetd/
 +xinetd /usr/share/licenses/xinetd/COPYRIGHT
 +xinetd /usr/share/man/
 +xinetd /usr/share/man/man5/
 +xinetd /usr/share/man/man5/xinetd.conf.5.gz
 +xinetd /usr/share/man/man5/xinetd.log.5.gz
 +xinetd /usr/share/man/man8/
 +xinetd /usr/share/man/man8/itox.8.gz
 +xinetd /usr/share/man/man8/xconv.pl.8.gz
 +xinetd /usr/share/man/man8/xinetd.8.gz
 </code> </code>
 +++++
  
 Mit nachfolgendem Befehl, wird das Pakete **''rdate''** installiert: Mit nachfolgendem Befehl, wird das Pakete **''rdate''** installiert:
 <code> <code>
-# pikaur -S rdate+# pikaur --noconfirm -S rdate 
 +</code>  
 +++++ Installationsverlauf | 
 +<code> 
 +<code> 
 +# pikaur --noconfirm -S rdate 
 +Reading repository package databases... 
 +Reading local package database... 
 +Resolving AUR dependencies... 
 +looking for conflicting AUR packages... 
 +Not showing diff for rdate package (--noconfirm) 
 +:: Skipping review of PKGBUILD for rdate package (--noconfirm) 
 + 
 + 
 +:: Starting the build: 
 +... 
 +... 
 +... 
 +Finished with result: success 
 +Main processes terminated with: code=exited/status=0 
 +Service runtime: 4.921s 
 + 
 +loading packages... 
 +resolving dependencies... 
 +looking for conflicting packages... 
 + 
 +Package (1)  New Version  Net Change 
 + 
 +rdate        1.5-3          0.01 MiB 
 + 
 +Total Installed Size:  0.01 MiB 
 + 
 +:: Proceed with installation? [Y/n]  
 +(1/1) checking keys in keyring                     [######################] 100% 
 +(1/1) checking package integrity                   [######################] 100% 
 +(1/1) loading package files                        [######################] 100% 
 +Y0/1) checking for file conflicts                  [----------------------]   0% 
 +(1/1) checking for file conflicts                  [######################] 100% 
 +(1/1) checking available disk space                [######################] 100% 
 +:: Running pre-transaction hooks... 
 +(1/1) Performing snapper pre snapshots for the following configurations... 
 +==> root: 21 
 +:: Processing package changes... 
 +(1/1) installing rdate                             [######################] 100% 
 +:: Running post-transaction hooks... 
 +(1/2) Arming ConditionNeedsUpdate... 
 +(2/2) Performing snapper post snapshots for the following configurations... 
 +==> root: 22
 </code> </code>
 +++++
  
 Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket **''rdate''** installiert wurden. Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket **''rdate''** installiert wurden.
 <code> <code>
 # pikaur -Qil rdate # pikaur -Qil rdate
 +</code> 
 +++++ Installierte Dateien |
 +<code>
 +# pikaur -Qil rdate
 +Name            : rdate
 +Version         : 1.5-3
 +Description     : Retrieves the date and time from other machines
 +Architecture    : x86_64
 +URL             : http://www.aelius.com/njh/rdate
 +Licenses        : GPL
 +Groups          : None
 +Provides        : None
 +Depends On      : glibc
 +Optional Deps   : None
 +Required By     : None
 +Optional For    : None
 +Conflicts With  : None
 +Replaces        : None
 +Installed Size  : 14.88 KiB
 +Packager        : Unknown Packager
 +Build Date      : Thu 31 Dec 2020 11:12:43 AM CET
 +Install Date    : Thu 31 Dec 2020 11:12:48 AM CET
 +Install Reason  : Explicitly installed
 +Install Script  : No
 +Validated By    : None
 +
 +rdate /usr/
 +rdate /usr/bin/
 +rdate /usr/bin/rdate
 +rdate /usr/share/
 +rdate /usr/share/man/
 +rdate /usr/share/man/man1/
 +rdate /usr/share/man/man1/rdate.1.gz
 </code> </code>
 +++++
  
 ===== Konfiguration ===== ===== Konfiguration =====
Zeile 54: Zeile 233:
 <code> <code>
 # systemctl enable xinetd.service # systemctl enable xinetd.service
 +Created symlink /etc/systemd/system/multi-user.target.wants/xinetd.service → /usr/lib/systemd/system/xinetd.service.
 </code> </code>
  
Zeile 60: Zeile 239:
 <code> <code>
 # systemctl list-unit-files --type=service | grep -E ^xinetd # systemctl list-unit-files --type=service | grep -E ^xinetd
 +xinetd.service                             enabled         disabled
 </code> </code>
 bzw. bzw.
Zeile 71: Zeile 250:
 <code> <code>
 # systemctl status xinetd # systemctl status xinetd
 +● xinetd.service - A secure replacement for inetd
 +     Loaded: loaded (/usr/lib/systemd/system/xinetd.service; enabled; vendor pr>
 +     Active: inactive (dead)
 </code> </code>
  
Zeile 87: Zeile 269:
 <code> <code>
 # ls -l /etc/xinetd.d # ls -l /etc/xinetd.d
 +total 52
 +-rw-r--r-- 1 root root 293 Aug 17 14:48 chargen
 +-rw-r--r-- 1 root root 313 Aug 17 14:48 chargen-udp
 +-rw-r--r-- 1 root root 293 Aug 17 14:48 daytime
 +-rw-r--r-- 1 root root 313 Aug 17 14:48 daytime-udp
 +-rw-r--r-- 1 root root 293 Aug 17 14:48 discard
 +-rw-r--r-- 1 root root 312 Aug 17 14:48 discard-udp
 +-rw-r--r-- 1 root root 285 Aug 17 14:48 echo
 +-rw-r--r-- 1 root root 304 Aug 17 14:48 echo-udp
 +-rw-r--r-- 1 root root 253 Aug 17 14:48 servers
 +-rw-r--r-- 1 root root 254 Aug 17 14:48 services
 +-rw-r--r-- 1 root root 158 Sep  6 17:32 tftp
 +-rw-r--r-- 1 root root 319 Aug 17 14:48 time
 +-rw-r--r-- 1 root root 313 Aug 17 14:48 time-udp
 </code> </code>
  
Zeile 104: Zeile 300:
 Nachfolgend dargestellte Änderungen sollten an der Konfigurationsdatei durchgeführt werden (**komplette Konfigurationsdatei**): Nachfolgend dargestellte Änderungen sollten an der Konfigurationsdatei durchgeführt werden (**komplette Konfigurationsdatei**):
 <code ini> <code ini>
 +# default: off
 +# description: An RFC 868 time server. This is the tcp version,
 +# which is used by rdate.
  
 +service time
 +{
 +    type        = INTERNAL
 +    id          = time-stream
 +    socket_type = stream
 +    protocol    = tcp
 +    user        = root
 +    wait        = no
 +    # Tachtler
 +    # default:  disable     = yes
 +    disable     = no
 +}
 </code> </code>
  
Zeile 111: Zeile 322:
 Nachfolgend dargestellte Änderungen sollten an der Konfigurationsdatei durchgeführt werden (**komplette Konfigurationsdatei**): Nachfolgend dargestellte Änderungen sollten an der Konfigurationsdatei durchgeführt werden (**komplette Konfigurationsdatei**):
 <code ini> <code ini>
 +# default: off
 +# description: An RFC 868 time server. This is the udp version.
  
 +service time
 +{
 +    type        = INTERNAL UNLISTED
 +    id          = time-dgram
 +    socket_type = dgram
 +    protocol    = udp
 +    user        = root
 +    wait        = yes
 +    # Tachtler
 +    # default: disable      = yes
 +    disable     = no
 +    port        = 37
 +}
 </code> </code>
  
Zeile 179: Zeile 405:
 Um diese ''iptables''-Regel dauerhaft, auch nach einem Neustart des Server, weiterhin im ''iptables''-Regelwerk zu speichern, muss nachfolgend dargestellter Befehl abschließend noch ausgeführt werden: Um diese ''iptables''-Regel dauerhaft, auch nach einem Neustart des Server, weiterhin im ''iptables''-Regelwerk zu speichern, muss nachfolgend dargestellter Befehl abschließend noch ausgeführt werden:
 <code> <code>
 +# iptables-save -f /etc/iptables/iptables.rules
 </code> </code>
  
Zeile 192: Zeile 418:
 <code> <code>
 # ps auxwf | grep xinetd # ps auxwf | grep xinetd
 +root        8334  0.0  0.1   6684  2336 pts/1    S+   11:21   0:00                      \_ grep xinetd 
 +root        8332  0.4  0.1   8720  2980 ?        Ss   11:20   0:00 /usr/bin/xinetd -dontfork
 </code> </code>
 bzw. nachfolgendem Befehl überprüft werden: bzw. nachfolgendem Befehl überprüft werden:
Zeile 198: Zeile 425:
 <code> <code>
 # systemctl status xinetd.service # systemctl status xinetd.service
 +● xinetd.service - A secure replacement for inetd
 +     Loaded: loaded (/usr/lib/systemd/system/xinetd.service; enabled; vendor pr>
 +     Active: active (running) since Thu 2020-12-31 11:20:59 CET; 24s ago
 +   Main PID: 8332 (xinetd)
 +      Tasks: 1 (limit: 2358)
 +     Memory: 484.0K
 +     CGroup: /system.slice/xinetd.service
 +             └─8332 /usr/bin/xinetd -dontfork
  
 +Dec 31 11:20:59 vml010 xinetd[8332]: Reading included configuration file: /etc/>
 +Dec 31 11:20:59 vml010 xinetd[8332]: Reading included configuration file: /etc/>
 +Dec 31 11:20:59 vml010 xinetd[8332]: Reading included configuration file: /etc/>
 +Dec 31 11:20:59 vml010 xinetd[8332]: Reading included configuration file: /etc/>
 +Dec 31 11:20:59 vml010 xinetd[8332]: Reading included configuration file: /etc/>
 +Dec 31 11:20:59 vml010 xinetd[8332]: Reading included configuration file: /etc/>
 +Dec 31 11:20:59 vml010 xinetd[8332]: Reading included configuration file: /etc/>
 +Dec 31 11:20:59 vml010 xinetd[8332]: Reading included configuration file: /etc/>
 +Dec 31 11:20:59 vml010 xinetd[8332]: 2.3.15.4 started with loadavg options comp>
 +Dec 31 11:20:59 vml010 xinetd[8332]: Started working: 2 available services
 </code> </code>
  
 Auf welchen Ports der ''chronyd''-Dienst/Deamon auch tatsächlich als Hintergrundprozess lauscht, kann mit nachfolgendem Befehl überprüft werden: Auf welchen Ports der ''chronyd''-Dienst/Deamon auch tatsächlich als Hintergrundprozess lauscht, kann mit nachfolgendem Befehl überprüft werden:
 <code> <code>
-# ss -taubn | grep xinetd +# ss -taubpn | grep xinetd 
- +udp   UNCONN 0      0                   *:37               *:    users:(("xinetd",pid=8332,fd=6)) 
-</code> +tcp   LISTEN 0      64                  *:37               *:    users:(("xinetd",pid=8332,fd=5))
- +
-Eine weitere Überprüfung, ob auch die entsprechenden //Services// des ''xinetd''-Dienstes/Daemon gestartete werdenkann mit nachfolgendem Befehl herausgefunden werden: +
-<code> +
-# systemctl status xinetd.service +
 </code> </code>
  
Zeile 221: Zeile 461:
 Befehl zu Abfrage gegen den Zeitserver via **TCP**: Befehl zu Abfrage gegen den Zeitserver via **TCP**:
 <code> <code>
-# rdate 192.168.0.11+# rdate 192.168.0.20 
 +rdate: [192.168.0.20] Thu Dec 31 11:28:39 2020
 </code> </code>
  
 Befehl zu Abfrage gegen den Zeitserver via **UDP**: Befehl zu Abfrage gegen den Zeitserver via **UDP**:
 <code> <code>
-# rdate -u 192.168.0.11+# rdate -u 192.168.0.20 
 +rdate: [192.168.0.20] Thu Dec 31 11:29:05 2020
 </code> </code>
  
tachtler/time_protocol_archlinux.1609409247.txt.gz · Zuletzt geändert: 2020/12/31 11:07 von klaus