HOME LAB · SELFHOSTING · NETZWERK

Artikel-Info

Kurzfassung

Hands-on HowTo: WireGuard wg0 via systemd automatisch starten, prüfen und typische Fehler schnell beheben.

Kategorie

, ,

Tags

Veröffentlicht

Zuletzt aktualisiert

WireGuard Autostart mit systemd auf Debian/Ubuntu

WireGuard Autostart mit systemd auf Debian/Ubuntu – Featured Image

Schwierigkeit: Leicht · Dauer: 10–20 Min · Ziel: WireGuard unter Linux via systemd zuverlässig beim Boot starten und sauber prüfen.

Kurzproblem und Zielbild

Viele WireGuard-Setups funktionieren nach manueller Aktivierung, starten aber nach einem Reboot nicht automatisch. Das führt zu Ausfällen bei Remote-Zugriffen oder Routing-Setups im Homelab.

Ziel in diesem Tutorial: Deine bestehende wg0.conf wird als systemd-Service eingebunden, automatisch gestartet und mit klaren Checks verifiziert.

Voraussetzungen

  • Linux-Host (Debian/Ubuntu) mit installierten Paketen wireguard und wireguard-tools
  • Funktionierende Konfiguration unter /etc/wireguard/wg0.conf
  • Sudo-Rechte und Zugriff auf System-Logs

Schnellstart (funktionierende Basis)

sudo systemctl enable wg-quick@wg0.service
sudo systemctl daemon-reload
sudo systemctl start wg-quick@wg0.service
sudo systemctl status wg-quick@wg0.service --no-pager

Was macht das? Der Dienst wird im Autostart registriert, geladen und sofort gestartet. Danach siehst du direkt, ob wg0 sauber hochkommt.

Schritt-für-Schritt Umsetzung

1) Konfigurationsdatei prüfen

sudo ls -l /etc/wireguard/wg0.conf
sudo grep -E '^(\[Interface\]|Address|PrivateKey|ListenPort|\[Peer\]|PublicKey|AllowedIPs|Endpoint|PersistentKeepalive)' /etc/wireguard/wg0.conf

Erklärung: Stelle sicher, dass die Datei existiert und zentrale Felder gesetzt sind. Falsche Pfade oder Tippfehler sind die häufigste Ursache für Startprobleme.

2) Service im Autostart aktivieren

sudo systemctl enable wg-quick@wg0.service
sudo systemctl daemon-reload

Erklärung: enable erstellt die Boot-Verknüpfung. Mit daemon-reload stellst du sicher, dass systemd den aktuellen Stand nutzt.

3) Service starten und Zustand prüfen

sudo systemctl start wg-quick@wg0.service
sudo systemctl status wg-quick@wg0.service --no-pager
sudo wg show
ip a show wg0

Erklärung: Du prüfst sowohl Service-Status als auch Interface-/Peer-Status. So erkennst du, ob der Tunnel nur „läuft“ oder wirklich aktiv kommuniziert.

4) Reboot-Test (entscheidend)

sudo reboot
# nach dem Login
systemctl is-enabled wg-quick@wg0.service
systemctl status wg-quick@wg0.service --no-pager
wg show

Erklärung: Erst der Reboot-Test bestätigt den echten Autostart und vermeidet böse Überraschungen bei ungeplanten Neustarts.

Validierung / Checks

# 1) Service ist enabled
systemctl is-enabled wg-quick@wg0.service

# 2) Service läuft ohne Fehler
systemctl status wg-quick@wg0.service --no-pager

# 3) WireGuard Interface + Handshake
wg show

# 4) Letzte Logs
journalctl -u wg-quick@wg0 -n 120 --no-pager

Troubleshooting

Fehlerbild 1: „Unit wg-quick@wg0.service not found“

Ursache: Paket fehlt oder Service-Name passt nicht zur Config-Datei.

sudo apt update
sudo apt install -y wireguard wireguard-tools
ls /etc/wireguard/
# wenn Datei z. B. wg-homelab.conf heißt:
sudo systemctl enable wg-quick@wg-homelab.service

Fehlerbild 2: Service startet, aber kein Handshake

Ursache: Endpoint/Firewall/Port oder Routing passt nicht.

sudo wg show
sudo ss -lunpt | grep 51820
sudo journalctl -u wg-quick@wg0 -n 200 --no-pager
# ggf. UFW/iptables prüfen

Fazit

Mit wg-quick@wg0 im systemd-Autostart wird WireGuard im Homelab deutlich zuverlässiger betrieben – besonders bei Router-/Gateway-Szenarien oder Remote-Administration.

Nächster Schritt: ergänze ein kleines Monitoring (z. B. periodischer Check via Cron/Health-Script), damit Ausfälle früh erkannt werden.

Quellen

Teilen: X LinkedIn Reddit WhatsApp Telegram Mastodon

Nächstes Tutorial

Mach direkt weiter mit dem nächsten Setup-Guide oder schau dir unsere Kaufempfehlungen an.