Eigener DynDNS-Service für netcup: So richtest du den netcup-dyndns-updater als Systemd-Service ein

Wenn du bei netcup eine Domain verwaltest und deine Internetverbindung regelmäßig eine neue öffentliche IP bekommt, brauchst du einen DynDNS-Mechanismus, der die IP automatisch in den DNS-Einträgen aktualisiert.

In diesem Beitrag zeige ich dir, wie du den beliebten netcup-dyndns-update-Client von Niklas Simon ohne Docker („Bare Metal“) installierst – inklusive Systemd-Service und Systemd-Timer.

Damit aktualisiert dein Server alle paar Minuten automatisch den A- oder AAAA-Record deiner Domain.


🚀 Voraussetzungen

  • Linux-Server (Ubuntu, Debian, Raspberry Pi OS, Rocky, Alma, CentOS, Fedora)
  • netcup-DNS API aktiviert
  • API-Key, API-Passwort, Kundennummer
  • Domain im netcup-DNS-System

📥 1. Abhängigkeiten installieren

Debian / Ubuntu

sudo apt update
sudo apt install -y git curl jq

Fedora / RHEL / CentOS

sudo dnf install -y git curl jq

📁 2. Repository klonen

sudo mkdir -p /opt/netcup
sudo chown $USER:$USER /opt/netcup
cd /opt/netcup
git clone https://github.com/niklas-simon/netcup-dyndns-update.git
cd netcup-dyndns-update

⚙️ 3. Konfigurationsdatei erstellen

nano /opt/netcup/netcup-dyndns-update/config.env

Beispielinhalt:

API_KEY="DEIN_API_KEY"
API_PASSWORD="DEIN_API_PASSWORT"
CUSTOMER_NUMBER="123456"
DOMAINS="example.com"
RECORDS="@,home"
INTERVAL=300

Hinweise:
• DOMAINS: deine Domain(s) (bei mehreren, mit Komma getrennt)
• RECORDS: Hostnames (@, home, server …)
• INTERVAL wird bei systemd nicht genutzt


🔧 4. Script ausführbar machen

chmod +x /opt/netcup/netcup-dyndns-update/entrypoint.sh

🛠 5. Systemd-Service anlegen

sudo nano /etc/systemd/system/netcup-dyndns.service

Inhalt der Datei:

[Unit]
Description=Netcup DynDNS Updater
After=network-online.target
Wants=network-online.target

[Service]
EnvironmentFile=/opt/netcup/netcup-dyndns-update/config.env
WorkingDirectory=/opt/netcup/netcup-dyndns-update
ExecStart=/opt/netcup/netcup-dyndns-update/entrypoint.sh
User=root
Type=simple

[Install]
WantedBy=multi-user.target

⏱ 6. Systemd-Timer anlegen

sudo nano /etc/systemd/system/netcup-dyndns.timer

Inhalt der Datei:

[Unit]
Description=Run Netcup DynDNS Update every 5 minutes

[Timer]
OnBootSec=1min
OnUnitActiveSec=5min
Unit=netcup-dyndns.service

[Install]
WantedBy=timers.target

▶️ 7. Timer aktivieren

sudo systemctl daemon-reload
sudo systemctl enable --now netcup-dyndns.timer

🧪 8. Testlauf

Dienst manuell starten

sudo systemctl start netcup-dyndns.service

Status prüfen

sudo systemctl status netcup-dyndns.service

Logs ansehen

journalctl -u netcup-dyndns.service -n 50 --no-pager

🧹 Letzte gespeicherte IP prüfen

cat /tmp/nc-last-ip

🏁 Fazit

Mit diesem Setup wird deine netcup-Domain automatisch aktualisiert, sobald sich deine öffentliche IP-Adresse ändert.

Perfekt geeignet für:

  • Home-Server
  • Raspberry-Pi-Projekte
  • VPN-Server
  • Webserver hinter Heimnetz-Anschlüssen
  • Remote-Access-Lösungen

Der netcup-dyndns-updater ist leichtgewichtig, zuverlässig und ideal für jeden, der seinen eigenen DynDNS-Service betreiben will – ohne externe Anbieter.