---
title: "systemd? Auf jedenfall!"
id: "507"
type: "post"
slug: "systemd-auf-jedenfall"
published_at: "2018-01-05T14:57:20+00:00"
modified_at: "2025-05-20T06:12:36+00:00"
url: "https://www.geekbundle.org/systemd-auf-jedenfall/"
markdown_url: "https://www.geekbundle.org/systemd-auf-jedenfall.md"
excerpt: "Ja, ich gestehe. Ich bin ein befürworter von systemd. Es ist aber mehr als nur ein Init System! Es liefert z.B. die noch eher weniger beachteten Tools timesyncd, networkd und resolved mit."
taxonomy_category:
  - "Linux"
taxonomy_post_tag:
  - "linux"
  - "systemd"
---

Table of Contents

Ja, ich gestehe. Ich bin ein befürworter von systemd. Es mag in der Linux Entwicklerszene sehr kontrovers sein aber als Sysadmin finde ich die Vereinheitlichung der Tools sehr angenehm. Es wird auf jedem System einfach immer gleich bedient. Zudem liefert es schon viele Tools mit.

Die meisten werden systemd wahrscheinlich vor allem durch die Ablöse des SysV Init Systems kennen. Es ist und kann aber noch viel mehr. Hervorheben möchte hier vor allem folgende Services, die meiner Meinung nach noch zu wenig Beachtung erhalten:

**timesyncd, networkd und resolved**

## systemd-timesyncd

Zeitzone setzen: **timedatectl set-timezone Europe/Berlin**

Mit timesyncd lässt sich die Uhrzeit per ntp syncen. Es wird kein vollwertiger ntp(d) Server mehr benötigt nur um die Zeit synchron zu halten. Konfiguriert wird timesyncd in der folgenden Datei:  
 [shell]nano /etc/systemd/timesyncd.conf  
 [Time] NTP=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org[/shell] Danach aktivieren und starten:  
 [shell]systemctl enable systemd-timesyncd  
 systemctl start systemd-timesyncd[/shell] Mit **timedatectl** lässt sich die Konfiguration überprüfen:  
 [shell]root@vps06:/etc/systemd# timedatectl  
 Local time: Fr 2018-01-05 14:36:49 CET  
 Universal time: Fr 2018-01-05 13:36:49 UTC  
 RTC time: Fr 2018-01-05 13:36:49  
 Time zone: Europe/Berlin (CET, +0100)  
 Network time on: yes  
 NTP synchronized: yes  
 RTC in local TZ: no[/shell]

## systemd-resolved

systemd-resolved hat fast den selben Zweck wie das resolveconf package. Es aktualisiert dynamisch die Datei /etc/resolv.conf. Der Unterschied allerdings ist, dass es nicht gnadenlos die resolv.conf überschreibt, wie es das resolveconf package macht. Es arbeitet hingegen mit systemd-networkd zusammen.  
 Denn alle in systemd-resolved konfigurierten DNS-Server werden erst NACH dem in systemd-networkd konfigurierten DNS Server eingetragen.

Die Konfiguration von resolved liegt wieder unter /etc/systemd  
 [shell]nano /etc/systemd/resolved.conf  
 [Resolve] DNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844[/shell] Ist in networkd zusätzlich der DNS Server 192.168.1.1 eingetragen, wird folgende /etc/resolve.conf erstellt:  
 [shell]192.168.1.1  
 8.8.8.8  
 8.8.4.4  
 2001:4860:4860::8888  
 2001:4860:4860::8844[/shell] Jetzt den Service starten  
 [shell]systemctl enable systemd-resolved.service  
 systemctl start systemd-resolved.service[/shell] und einen Symlink nach /etc/resolve.conf erstellen  
 [shell]ln -sf /run/systemd/resolve/resolv.conf /etc/resolve.conf[/shell]

## systemd-networkd

Die Konfiguration von networkd wird in den **/etc/systemd/network/*.network** Dateien gepflegt.  
 Beispielkonfiguration für eth0:  
 [shell][Match] # Wildcards möglich für z.B. DHCP (Name=eth*)  
 Name=eth0

 [Network] #DHCP=v4  
 Address=192.168.1.50/24  
 Gateway=192.168.1.1  
 DNS=192.168.1.1[/shell] Unter Debian kann das natürlich nicht einfach so genutzt werden. Wir haben vorher wahrscheinlich alles in **/etc/network/interfaces** konfiguriert.  
**ACHTUNG!** Aufpassen, dass man sich hier nicht aussperrt!  
 [shell]ifdown eth0  
 cp /etc/network/{interfaces,interfaces.bak}  
 cat /dev/null > /etc/network/interfaces  
 update-rc.d networking remove[/shell] Und jetzt noch networkd aktivieren.  
 [shell]systemctl enable systemd-networkd  
 systemctl start systemd-networkd[/shell] Neben .network Dateien können unter **/etc/systemd/network/** noch .netdev und .link Dateien erstellt werden. *.netdev erstellt virtuelle Interfaces, wie bridges oder vlans.*.link Dateien ändern Konfigurationen bestehender Interfaces, wie MAC Adresse oder Interface Namen.

### .netdev bridge Beispiel

 [shell][NetDev] Name=bridge0  
 Kind=bridge[/shell] In der .network Datei unter **[Network]** dann noch **Bridge=bridge0** eintragen damit der Bridge auch Interfaces zugeordnet werden. ### .netdev vlan Beispiel für VLAN ID 99

 [shell][NetDev] Name=vlan99  
 Kind=vlan [VLAN] Id=99[/shell] Auch hier muss die passende .network Datei unter **[Network]** angepasst werden:  
**VLAN=vlan99**### .link Beispiel

 [shell][Match] MACAddress=12:34:56:78:9a:bc  
 Type=wlan [Link] Name=wireless0  
 MTUBytes=1450  
 MACAddress=cb:a9:87:65:43:21[/shell] Das WLAN Interface mit der MAC **12:34:56:78:9a:bc** bekommt den Interface Namen **wireless0** und die MAC Adresse **cb:a9:87:65:43:21**. systemd hat eine umfangreiche man Page Sammlung unter [https://www.freedesktop.org/software/systemd/man/](https://www.freedesktop.org/software/systemd/man/)
[https://www.freedesktop.org/software/systemd/man/](https://www.freedesktop.org/software/systemd/man/)
. Da es ständig weiter entwickelt wird, kann es sein, dass eure favorisierte Distro noch nicht alle Funktionen hat. Gerade Debian ist da ja gern mal ein bisschen langsamer.

**Ähnliche Beiträge**- [Automatische E-Mail-Benachrichtigungen bei…](https://www.geekbundle.org/automatische-e-mail-benachrichtigungen-bei-fehlgeschlagenen-systemd-service/)
- [TLS / HTTP Protokoll und Cipher Suite Verbreitung](https://www.geekbundle.org/tls-http-protokoll-und-cipher-suite-verbreitung/)
- [restic - mehrere Repositories](https://www.geekbundle.org/restic-mehrere-repositories/)
- [Check_MK: Selbstheilung mit Event Handler](https://www.geekbundle.org/selbstheilung-mit-check_mk-event-handler/)

1. Danke für den Beitrag jetzt wäre noch ein kleiner 2. Teil schön mit dem anlegen eigener systemd services [Antworten](https://www.geekbundle.org/systemd-auf-jedenfall/?replytocom=92#respond)
  1. Zu eigenen Unit Files hatte ich bisher nichts geschrieben weil es dafür Anleitungen wie Sand am Meer gibt. Was aber viele vergessen, Systemd kann noch viel mehr. Der Beitrag soll drauf hinweisen, dass Systemd noch mehr coole Features hat und wie man sie benutzen kann [Antworten](https://www.geekbundle.org/systemd-auf-jedenfall/?replytocom=93#respond)

### Kommentar hinterlassen [Antwort abbrechen](/systemd-auf-jedenfall/#respond)
