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:14] – [Konfiguration] klaustachtler:time_protocol_archlinux [2022/03/31 05:27] (aktuell) – [Installation] klaus
Zeile 10: Zeile 10:
  
 :!: **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.
  
Zeile 30: Zeile 28:
  
 Mit nachfolgendem Befehl, wird das Pakete **''xinetd''** installiert: Mit nachfolgendem Befehl, wird das Pakete **''xinetd''** installiert:
 +<code>
 +# pacman --noconfirm -S xinetd
 +</code> 
 +++++ Installationsverlauf |
 <code> <code>
 # pacman --noconfirm -S xinetd # pacman --noconfirm -S xinetd
Zeile 63: Zeile 65:
 ==> root: 20 ==> 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>
 +# pacman -Qil xinetd
 +</code> 
 +++++ Installierte Dateien |
 +<code>
 <code> <code>
 # pacman -Qil xinetd # pacman -Qil xinetd
Zeile 126: Zeile 134:
 xinetd /usr/share/man/man8/xinetd.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>
 +# pikaur --noconfirm -S rdate
 +</code> 
 +++++ Installationsverlauf |
 +<code>
 <code> <code>
 # pikaur --noconfirm -S rdate # pikaur --noconfirm -S rdate
Zeile 139: Zeile 153:
  
 :: Starting the build: :: Starting the build:
-Running as unit: run-u82.service +... 
-Press ^] three times within 1s to disconnect TTY. +... 
-==> Making package: rdate 1.5-3 (Thu 31 Dec 2020 11:12:43 AM CET) +...
-==> Checking runtime dependencies... +
-==> Checking buildtime dependencies... +
-==> Retrieving sources... +
-  -> Downloading rdate-1.5.tar.gz... +
-  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current +
-                                 Dload  Upload   Total   Spent    Left  Speed +
-100   337  100   337    0       1348      0 --:--:-- --:--:-- --:--:--  1348 +
-100 83337  100 83337    0       153k      0 --:--:-- --:--:-- --:--:--  153k +
-==> Validating source files with sha256sums... +
-    rdate-1.5.tar.gz ... Passed +
-==> Extracting sources... +
-  -> Extracting rdate-1.5.tar.gz with bsdtar +
-==> Starting prepare()... +
-checking for a BSD-compatible install... /usr/bin/install -c +
-checking whether build environment is sane... yes +
-checking for gawk... gawk +
-checking whether make sets $(MAKE)... yes +
-checking for gcc... gcc +
-checking for C compiler default output file name... a.out +
-checking whether the C compiler works... yes +
-checking whether we are cross compiling... no +
-checking for suffix of executables...  +
-checking for suffix of object files... o +
-checking whether we are using the GNU C compiler... yes +
-checking whether gcc accepts -g... yes +
-checking for gcc option to accept ANSI C... none needed +
-checking for style of include used by make... GNU +
-checking dependency style of gcc... gcc3 +
-checking for a BSD-compatible install... /usr/bin/install -c +
-checking for gethostbyaddr... yes +
-checking for socket... yes +
-checking for logwtmp... no +
-checking for logwtmp in -lutil... yes +
-checking for getaddrinfo... yes +
-checking for getnameinfo... yes +
-checking for adjtime... yes +
-checking for sigaction... yes +
-checking return type of signal handlers... void +
-checking how to run the C preprocessor... gcc -E +
-checking for egrep... grep -E +
-checking for ANSI C header files... yes +
-checking for sys/types.h... yes +
-checking for sys/stat.h... yes +
-checking for stdlib.h... yes +
-checking for string.h... yes +
-checking for memory.h... yes +
-checking for strings.h... yes +
-checking for inttypes.h... yes +
-checking for stdint.h... yes +
-checking for unistd.h... yes +
-checking time.h usability... yes +
-checking time.h presence... yes +
-checking for time.h... yes +
-checking sys/time.h usability... yes +
-checking sys/time.h presence... yes +
-checking for sys/time.h... yes +
-checking libutil.h usability... no +
-checking libutil.h presence... no +
-checking for libutil.h... no +
-checking util.h usability... no +
-checking util.h presence... no +
-checking for util.h... no +
-checking utmp.h usability... yes +
-checking utmp.h presence... yes +
-checking for utmp.h... yes +
-checking for unistd.h... (cached) yes +
-checking for uint32_t... yes +
-checking for uint16_t... yes +
-checking for uint8_t... yes +
-configure: creating ./config.status +
-config.status: creating Makefile +
-config.status: creating src/Makefile +
-config.status: creating src/config.h +
-config.status: executing depfiles commands +
-Now type 'make' and then 'make install'+
-==> Starting build()... +
-Making all in src +
-make[1]: Entering directory '/var/cache/private/pikaur/build/rdate/src/rdate-1.5/src' +
-make  all-am +
-make[2]: Entering directory '/var/cache/private/pikaur/build/rdate/src/rdate-1.5/src' +
-if gcc -DHAVE_CONFIG_H -I. -I. -I.     -g -O2 -Wunused -Wall -pipe -MT rdate.o -MD -MP -MF ".deps/rdate.Tpo" -c -o rdate.o rdate.c; \ +
-then mv -f ".deps/rdate.Tpo" ".deps/rdate.Po"; else rm -f ".deps/rdate.Tpo"; exit 1; fi +
-rdate.c: In function ‘rdate’: +
-rdate.c:271:34: warning: pointer targets in passing argument 3 of ‘rdate_tcp’ differ in signedness [-Wpointer-sign] +
-  271 |     result = rdate_tcp( fd, res, time_buf, sizeof(time_buf) ); +
-      |                                  ^~~~~~~~ +
-      |                                  | +
-      |                                  unsigned char * +
-rdate.c:141:50: note: expected ‘char *’ but argument is of type ‘unsigned char *’ +
-  141 | rdate_tcp( int fd, struct addrinfo* ainfo, char* buf, int buf_size ) +
-      |                                            ~~~~~~^~~ +
-rdate.c:273:34: warning: pointer targets in passing argument 3 of ‘rdate_udp’ differ in signedness [-Wpointer-sign] +
-  273 |     result = rdate_udp( fd, res, time_buf, sizeof(time_buf) ); +
-      |                                  ^~~~~~~~ +
-      |                                  | +
-      |                                  unsigned char * +
-rdate.c:181:50: note: expected ‘char *’ but argument is of type ‘unsigned char *’ +
-  181 | rdate_udp( int fd, struct addrinfo* ainfo, char* buf, int buf_size ) +
-      |                                            ~~~~~~^~~ +
-gcc  -g -O2 -Wunused -Wall -pipe   -o rdate  rdate.o  -lutil  +
-make[2]: Leaving directory '/var/cache/private/pikaur/build/rdate/src/rdate-1.5/src' +
-make[1]: Leaving directory '/var/cache/private/pikaur/build/rdate/src/rdate-1.5/src' +
-make[1]: Entering directory '/var/cache/private/pikaur/build/rdate/src/rdate-1.5' +
-make[1]: Nothing to be done for 'all-am'+
-make[1]: Leaving directory '/var/cache/private/pikaur/build/rdate/src/rdate-1.5' +
-==> Entering fakeroot environment... +
-==> Starting package()... +
-Making install in src +
-make[1]: Entering directory '/var/cache/private/pikaur/build/rdate/src/rdate-1.5/src' +
-make[2]: Entering directory '/var/cache/private/pikaur/build/rdate/src/rdate-1.5/src' +
-test -z "/usr/bin" || mkdir -p -- . "/var/cache/private/pikaur/build/rdate/pkg/rdate/usr/bin" +
-  /usr/bin/install -c 'rdate' '/var/cache/private/pikaur/build/rdate/pkg/rdate/usr/bin/rdate' +
-make[2]: Nothing to be done for 'install-data-am'+
-make[2]: Leaving directory '/var/cache/private/pikaur/build/rdate/src/rdate-1.5/src' +
-make[1]: Leaving directory '/var/cache/private/pikaur/build/rdate/src/rdate-1.5/src' +
-make[1]: Entering directory '/var/cache/private/pikaur/build/rdate/src/rdate-1.5' +
-make[2]: Entering directory '/var/cache/private/pikaur/build/rdate/src/rdate-1.5' +
-make[2]: Nothing to be done for 'install-exec-am'+
-test -z "/usr/share/man/man1" || mkdir -p -- . "/var/cache/private/pikaur/build/rdate/pkg/rdate/usr/share/man/man1" +
- /usr/bin/install -c -m 644 './rdate.1' '/var/cache/private/pikaur/build/rdate/pkg/rdate/usr/share/man/man1/rdate.1' +
-make[2]: Leaving directory '/var/cache/private/pikaur/build/rdate/src/rdate-1.5' +
-make[1]: Leaving directory '/var/cache/private/pikaur/build/rdate/src/rdate-1.5' +
-==> Tidying install... +
-  -> Removing libtool files... +
-  -> Purging unwanted files... +
-  -> Removing static library files... +
-  -> Stripping unneeded symbols from binaries and libraries... +
-  -> Compressing man and info pages... +
-==> Checking for packaging issues... +
-==> Creating package "rdate"... +
-  -> Generating .PKGINFO file... +
-  -> Generating .BUILDINFO file... +
-  -> Generating .MTREE file... +
-  -> Compressing package... +
-==> Leaving fakeroot environment. +
-==> Finished making: rdate 1.5-3 (Thu 31 Dec 2020 11:12:48 AM CET)+
 Finished with result: success Finished with result: success
 Main processes terminated with: code=exited/status=0 Main processes terminated with: code=exited/status=0
Zeile 309: Zeile 187:
 ==> root: 22 ==> 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>
 +# pikaur -Qil rdate
 +</code> 
 +++++ Installierte Dateien |
 <code> <code>
 # pikaur -Qil rdate # pikaur -Qil rdate
Zeile 343: Zeile 226:
 rdate /usr/share/man/man1/rdate.1.gz rdate /usr/share/man/man1/rdate.1.gz
 </code> </code>
 +++++
  
 ===== Konfiguration ===== ===== Konfiguration =====
Zeile 385: 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 402: 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 409: 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 477: 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 490: 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 496: 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 519: 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.1609409699.txt.gz · Zuletzt geändert: 2020/12/31 11:14 von klaus