# OPNsense Dynamic DNS: Externe Erreichbarkeit bei dynamischen IPs
TL;DR / Management Summary Viele Breitbandanschlüsse (DSL, Kabel) haben keine feste öffentliche IP-Adresse. Dynamic DNS (DDNS) löst dieses Problem, indem die OPNsense bei jedem IP-Wechsel den neuen Wert an einen DNS-Provider (z.B. Cloudflare, No-IP) meldet. Ein Senior Admin nutzt DDNS, um VPN-Endpunkte (Artikel 567) und Reverse Proxies (Artikel 564) auch über wechselnde Anschlüsse hinweg stabil erreichbar zu halten.
# 1. Einführung & Funktionsweise
Vom Client zum Update.
DDNS ist ein kleiner Client-Dienst auf der Firewall, der den Status des WAN-Interfaces überwacht.
- Event: Die WAN-IP ändert sich.
- Action: OPNsense sendet einen authentifizierten HTTPS-Request an den DDNS-Provider (z.B.
update.no-ip.com?ip=1.2.3.4). - Resultat: Der Hostname
meinefirma.ddns.netzeigt nun sofort auf die neue IP.
# 2. Einrichtung in der Praxis
Provider-Anbindung.
OPNsense bietet zwei DDNS-Plugins:
- Legacy DDNS (integriert): Unterstützt Standard-Provider.
- ddclient (Plugin
os-ddclient): Der moderne Nachfolger, unterstützt hunderte Provider und Cloudflare API.
# Beispiel: Cloudflare (API-basiert)
Services -> Dynamic DNS -> Settings.
- Service:
Cloudflare. - Username: Ihre Email.
- Password: Der Cloudflare API Token (nicht das Passwort!).
- Hostname:
vpn.meinefirma.de. - Check IP Method:
Interface(WAN) oderExternal(falls hinter NAT).
# 3. Deep Dive: DDNS hinter einem Router (Double NAT)
Wenn die Firewall die IP nicht ‘sieht’.
Wenn OPNsense hinter einer FritzBox (Artikel 541) steht, sieht das WAN-Interface nur eine private IP (z.B. 192.168.178.2).
- Problem: Das DDNS-Update würde die private IP an den Provider schicken – der Hostname wäre wertlos.
- Lösung: Stellen Sie “Check IP Method” auf
Web. Die OPNsense fragt dann einen externen Dienst (z.B.checkip.dyndns.org), wie ihre echte öffentliche IP lautet.
# 4. Day-2 Operations: Custom Provider
Alles mit einer URL updaten.
Wenn Ihr Provider nicht in der Liste steht, nutzen Sie den Typ Custom.
- Update URL:
https://api.duckdns.org/update?domains=...&token=...&ip=%IP% - Vorteil: Sie können so fast jeden Web-Dienst triggern, sobald sich Ihre IP ändert.
# 5. Troubleshooting & “War Stories”
Wenn der Name auf die alte IP zeigt.
# Top 3 Fehlerbilder
-
Symptom: “Authentication Error” im Log.
- Ursache: API-Token hat nicht die nötigen Rechte (z.B.
Zone.DNS:Editbei Cloudflare). - Lösung: Token-Berechtigungen im Provider-Portal prüfen.
- Ursache: API-Token hat nicht die nötigen Rechte (z.B.
-
Symptom: DDNS wird nicht aktualisiert.
- Ursache: Die IP hat sich nicht geändert, und der Provider erlaubt keine “No-Change” Updates (Spam-Schutz).
- Lösung:
Force UpdateButton nutzen, um die Funktion einmalig zu testen.
-
Symptom: TTL-Verzögerung (Hostname zeigt noch 10 Min auf alte IP).
- Lösung: Setzen Sie die TTL beim DNS-Provider auf den kleinstmöglichen Wert (z.B. 60 oder 120 Sekunden).
# “War Story”: Der “Banned” Hostname
Ein Admin stellte das Update-Intervall auf “alle 1 Minute”.
Das Ergebnis: Der DDNS-Provider (Dyn) blockierte den Account wegen “Abusive Updates”, da das Skript bei jedem Lauf einen Request schickte, obwohl die IP gleich blieb.
Lehre: Ein guter DDNS-Client (wie ddclient) schickt nur dann ein Update, wenn sich die IP wirklich geändert hat oder wenn der Provider nach 30 Tagen einen “Heartbeat” verlangt. Prüfen Sie das Caching-Verhalten Ihres Plugins.
# 6. Monitoring & Reporting
Status im Blick.
# DDNS Widget
Fügen Sie das Widget “Dynamic DNS” zum Dashboard hinzu.
- KPI: Status
Cached(Grün) bedeutet, der Hostname ist aktuell. - KPI:
Last UpdateZeitstempel.
# 7. Fazit & Empfehlung
Dynamic DNS macht professionelle Dienste an Privatanschlüssen erst möglich.
- Empfehlung: Nutzen Sie Cloudflare mit einem API-Token. Es ist extrem schnell und bietet zusätzliche Security-Layer (Proxy).
- Wichtig: Verwenden Sie für geschäftskritische Dienste (IPsec Tunnel) nach Möglichkeit immer eine feste IP vom ISP. DDNS ist ein exzellenter Fallback, hat aber immer eine kurze systembedingte Latenz beim IP-Wechsel.
# Anhang: Cheatsheet
| Provider | Typ | Besonderheit |
|---|---|---|
| No-IP | User/Pass | Klassiker, oft Free |
| Cloudflare | API Token | Schnell, sicher, CNAME Support |
| DuckDNS | Token | Ideal für Labs |
| Generic | HTTP GET | Für eigene APIs |