Zwei Möglichkeiten, FastDDNS auf pfSense zu betreiben
Ihr hostname-Panel bietet zwei Setups. Methode 2 fügt FastDDNS zum integrierten DDNSServices > Dynamic DNS-Client als Custom-Anbieter hinzu — diese Variante sollten Sie beibehalten, da pfSense sie in der Konfiguration speichert und sichert. Methode 1 fügt ein Einzeilen-Skript in die Shell ein, das einen Cron-Job installiert, der alle zwei Minuten ausgeführt wird. Es funktioniert sofort, aber pfSense verwaltet diesen Job nicht.
Die Nummerierung unten folgt den Bezeichnungen in Ihrem Panel, nicht der von uns empfohlenen Reihenfolge. Richten Sie Methode 2 für die langfristige Nutzung ein; greifen Sie auf Methode 1 zurück, wenn Sie sofort ein Update senden möchten, ohne sich durch ein Formular klicken zu müssen.
| Methode 2 — integrierter DDNS-Client | Methode 1 — Crontab-Skript | |
|---|---|---|
| Wo Sie arbeiten | Services > Dynamic DNS in der Web-Oberfläche | Diagnostics > Command Prompt, oder per SSH |
| In der pfSense-Konfiguration gespeichert | Ja | Nein — siehe das Limit unten |
| Übersteht eine Konfigurationswiederherstellung oder Neuinstallation | Ja | Nein |
| Wann ein Update gesendet wird | Wenn sich die Adresse der überwachten Schnittstelle ändert, plus eine tägliche Nachprüfung | Alle 2 Minuten, unabhängig davon |
| Einrichtungsaufwand | Sieben Felder, vier davon aus dem Panel kopiert | Einmal einfügen |
| Geeignet für | Die dauerhafte Einrichtung | Ein sofortiges erstes Update oder einen schnellen Test |
Bevor Sie starten
Vier Dinge, und zwei davon entscheiden, ob der Fernzugriff überhaupt funktioniert.
- Ein FastDDNS-hostname. Erstellen Sie kostenlos einen unter FastDDNS, öffnen Sie ihn anschließend und scrollen Sie zu DDNS Configuration Parameters > Firewall pfSense.
- Admin-Zugang zur pfSense-Weboberfläche, sowie Shell-Zugang, wenn Sie Methode 1 verwenden möchten.
- Eine echte öffentliche IP-Adresse auf der WAN-Schnittstelle. Wenn Ihr ISP Sie hinter einem Carrier-Grade NAT platziert, kann Dynamic DNS nicht helfen — der hostname würde auf eine Adresse zeigen, die niemand außerhalb des ISP erreichen kann. Überprüfen Sie die WAN-Adresse auf dem pfSense-Dashboard oder führen Sie den CGNAT-Checker in der FastDDNS Mobile-App aus.
- Firewall- und NAT-Regeln für alles, worauf Sie zugreifen möchten. DDNS sorgt nur dafür, dass der Name auf die richtige Adresse zeigt; den Zugangsweg müssen Sie weiterhin selbst einrichten. Überprüfen Sie dies anschließend mit Port Check.
Auf dem pfSense-Dashboard bedeutet eine Adresse in 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 oder 100.64.0.0/10 auf der WAN-Schnittstelle, dass ein Gerät außerhalb Ihres Netzwerks NAT durchführt. Der 100.64.0.0/10-Bereich ist für Carrier-Grade NAT reserviert.
Methode 2 — FastDDNS als benutzerdefinierten Dynamic-DNS-Client hinzufügen
Diese Einrichtung sollten Sie beibehalten. pfSense speichert sie in config.xml, sodass sie nach einer Konfigurationswiederherstellung wieder verfügbar ist und eine Neuinstallation übersteht.
Schritt 1 — Die Update-URL aus Ihrem hostname-Panel kopieren
Öffnen Sie Ihren hostname, scrollen Sie zu DDNS Configuration Parameters und erweitern Sie Firewall pfSense. Alles, was Sie für beide Methoden benötigen, befindet sich in diesem einen Panel:

Kopieren Sie die Update-URLFeld unter Method 2. Es enthält bereits Ihr hostname und Ihre Zugangsdaten:
https://client.fastddns.net/?hostname=myhome.fastddns.net&user_name=YOUR-USERNAME&user_pass=YOUR-UPDATE-PASSWORDDie drei Werte in Großbuchstaben stehen für die privaten Angaben Ihres Kontos — das Panel trägt sie für Sie ein.
Schritt 2 — öffnen Sie den Dynamic DNS-Client
Gehen Sie im pfSense-Webinterface zu Services > Dynamic DNS und klicken Sie auf + Add.
Schritt 3 — füllen Sie die Felder aus
| Feld | Wert | Warum |
|---|---|---|
| Service Type | Custom |
FastDDNS ist nicht in der integrierten Anbieterliste enthalten und muss es auch nicht sein |
| Interface to Monitor | WAN |
Die Schnittstelle, deren Adressänderung ein Update auslösen soll |
| Hostname | Ihr FastDDNS-hostname | Die Update-URL enthält ihn bereits. Beim Typ Custom ist dies daher hauptsächlich das Label, das Sie in der Liste sehen |
| Update URL | die URL aus Schritt 1 | Fügen Sie sie vollständig ein. Es gibt nichts %IP% zum Ersetzen — FastDDNS registriert die Adresse, von der die Anfrage kommt |
| Force IPv4 DNS Resolution | aktiviert | Löst den Update-Host ausschließlich über IPv4 auf, sodass FastDDNS Ihre IPv4-WAN-Adresse statt einer IPv6-Adresse registriert |
| Result Match | leer lassen | pfSense vergleicht diesen Wert mit der vollständigen Antwort. FastDDNS antwortet goodmit einer Antwort nach einer Änderung und nochgmit einer anderen Antwort, wenn sich nichts geändert hat. Daher passt kein einzelner fester String zu beiden — die Anweisungen des Panels geben keinen vor |
| Description | FastDDNS.net |
Freitext zur eigenen Referenz |

Schritt 4 — speichern und anschließend die Statusspalte lesen
Klicken Sie auf Save & Force Update. Zurück auf der Services > Dynamic DNS-Liste sollte die Spalte Zwischengespeicherte IP nun Ihre aktuelle WAN-Adresse anzeigen. Ein leerer Eintrag oder ein Eintrag, der nach einer erzwungenen Aktualisierung unverändert bleibt, bedeutet, dass die Aktualisierung nicht durchgeführt wurde — die untenstehende Tabelle zur Fehlerbehebung erklärt die möglichen Gründe.
Wichtig bei dieser Methode: Sie wird durch Ereignisse ausgelöst, nicht durch einen Zwei-Minuten-Heartbeat. Netgate dokumentiert, dass der Dienst aktualisiert wird, wenn sich die Schnittstellenadresse ändert. pfSense enthält außerdem einen standardmäßigen Cron-Eintrag, der /etc/rc.dyndns.update einmal täglich um 01:01 Uhr als Sicherheitsnetz ausführt. Eine fehlgeschlagene Aktualisierung wird also erneut versucht — nur nicht innerhalb weniger Minuten. Wenn Sie sofort eine Aktualisierung benötigen, verwenden Sie Save & Force Update.
Wenn Sie denselben Endpunkt lieber mit Ihrem eigenen Skript ansteuern möchten, sind die Parameter in der FastDDNS-Client-API-SeiteDokumentation dokumentiert.
Die folgende Schritt-für-Schritt-Anleitung stammt aus einer älteren Aufnahme. Daher sieht das Panel anders aus als auf den Screenshots hier. Die Felder und die Reihenfolge der Schritte sind jedoch gleich.
Methode 1 — das einzeilige Crontab-Skript
Schritt 1 — Kopieren Sie das Skript aus Ihrem hostname-Panel
Kopieren Sie im selben Firewall pfSense-Panel das Feld unter Method 1. Es handelt sich um eine einzige Zeile, die dieselbe Update-URL verwendet:
((crontab -l >/dev/null && crontab -l | grep -i "client.fastddns.net") || ((crontab -l; echo '*/2 * * * * fetch "URL" -o /dev/null || curl -s "URL"') | crontab -; fetch "URL" -o /dev/null || curl -s "URL"; printf "\n\nAdded Dynamic DNS Script to crontab successfully\n\n"; exit 1;)) && printf "\n\nFastDDNS is available \n\n";In der tatsächlichen Zeile ist jedes URL oben Ihre vollständige Update-URL aus Schritt 1 von Methode 2. Kopieren Sie sie aus dem Panel, statt sie manuell zusammenzustellen.

Schritt 2 — Führen Sie es aus
Fügen Sie die Zeile in Diagnostics > Command Prompt im Execute Shell Command-Feld ein und drücken Sie Execute. Eine SSH-Sitzung oder Option 8 an der Konsole funktioniert genauso gut.
Die Warnung von Netgate gilt allgemein für diese Seite: Alles, was Sie einfügen, wird mit vollständigen Rechten ausgeführt, und ein fehlerhafter Befehl kann die Firewall unbrauchbar machen. Fügen Sie nur die Zeile aus Ihrem Panel ein, nichts anderes. Der Befehl muss außerdem vollständig ausgeführt werden und zurückkehren — das ist bei diesem Befehl der Fall, weshalb er hier sicher ausgeführt werden kann.
Schritt 3 — Was die beiden Meldungen bedeuten
Suchen Sie am Ende der Ausgabe nach einer dieser beiden Zeilen. Sie bedeuten Unterschiedliches:
| Nachricht | Was passiert ist |
|---|---|
| Added Dynamic DNS Script to crontab successfully | Es gab keinen FastDDNS-Eintrag in der Crontab. Daher wurde einer hinzugefügt und sofort ein Update gesendet. |
| FastDDNS is available | Ein Eintrag war bereits vorhanden. Daher wurde nichts geändert. |
Die Überprüfung ist ein einfacher grep-Befehlgrep nach client.fastddns.net im gesamten Crontab. Das verhindert, dass Sie den Job zweimal installieren. Es bedeutet aber auch: Wenn Sie einen zweiten hostname auf derselben Firewall hinzufügen, findet das Skript den ersten und fügt nichts hinzu. Die Cron-Zeile für den zweiten hostname muss manuell hinzugefügt werden.
Dasgrep ist auch der Grund, warum der zweite Durchlauf mehr als diese eine Zeile ausgibt: Ein Treffer wird ausgegeben, und die übereinstimmende Zeile ist der Cron-Eintrag. Sie enthält Ihre vollständige Update-URL einschließlich Benutzername und Passwort. Wenn Sie dies über die Schulter einer anderen Person hinweg ausführen oder die Ausgabe in ein Ticket einfügen, sollten Sie diese Zeile entfernen.
Die geplante Zeile selbst führt fetchfetch aus, den FreeBSD-Downloader, den pfSense mitliefert, und verwendet bei einem Fehler curlcurl.
Schritt 4 — die wichtige Einschränkung, die Sie kennen sollten, bevor Sie sich darauf verlassen
pfSense speichert seine eigenen geplanten Aufgaben in der Konfigurationconfig.xml und erstellt daraus die System-Crontab neu. Ein mit crontab -ecrontab - hinzugefügter Job befindet sich stattdessen in der Crontab des Root-Benutzers. pfSense verwaltet sie nicht und nimmt sie nicht in ein Konfigurationsbackup auf. Daraus ergeben sich zwei Konsequenzen:
- Wenn Sie eine Konfiguration wiederherstellen oder die Firewall neu installieren, ist der Job nicht mehr vorhanden. Der Dynamic-DNS-Client aus Methode 2 wäre hingegen weiterhin vorhanden.
- Wenn pfSenseSystem > Advanced > Miscellaneous RAM-Disks für
/tmpund/varaktiviert hat, befindet sich die Crontab des Root-Benutzers im RAM. Netgate dokumentiert, dass beim Neustart nur RRD-Daten, DHCP-Leases, Protokolle und Captive-Portal-Daten von diesen RAM-Disks erhalten bleiben. Eine Crontab gehört nicht dazu.
Nichts davon bedeutet, dass Methode 1 falsch ist. Sie ist eine gute Möglichkeit, die Aktualisierung jetzt einzurichten, aber keine gute Lösung, um sie ein Jahr lang zuverlässig laufen zu lassen. Wenn Sie einen Cron-Job möchten, den pfSense tatsächlich beibehält, installieren Sie das Cron-Paket und fügen Sie dieselbe Zeile darüber hinzu.
Eine weitere ältere Aufnahme, die den Skriptweg im vorherigen Panel-Design zeigt.
Prüfen Sie, ob der hostname tatsächlich aktualisiert wird.
Welche Methode Sie auch verwendet haben, überprüfen Sie das Ergebnis aus drei Blickwinkeln.
In pfSense zeigt Services > Dynamic DNS für jeden Eintrag eine Zwischengespeicherte IP an – sie sollte mit Ihrer WAN-Adresse übereinstimmen. Wenn Sie stattdessen Methode 1 verwendet haben, bestätigen Sie, dass der Job existiert, und führen Sie ihn einmal manuell über die Shell aus:
crontab -l
fetch -o - "PASTE-YOUR-UPDATE-URL-HERE"Dieser zweite Befehl gibt die Antwort des Servers aus. Sie sollte mit good beginnen, wenn sich die Adresse gerade geändert hat, oder mit nochg, wenn sie bereits korrekt war – FastDDNS kann die aufgezeichnete Adresse anhängen. badauth ist die einzige Antwort, die das Problem eindeutig identifiziert: Der Benutzername oder das Update-Passwort ist falsch. Jede andere Antwort oder gar keine Antwort ist nicht selbsterklärend – lesen Sie, was tatsächlich zurückkam, und prüfen Sie dann das Systemprotokoll.
Lösen Sie den hostname von außerhalb auf und vergleichen Sie ihn mit Ihrer öffentlichen Adresse:
nslookup myhome.fastddns.netZum Schluss zeigt Ihr hostname-Panel einen Zuletzt aktualisiert-Zeitstempel an, der sich von Not yet updated beim ersten Melden der Firewall ändert. FastDDNS übernimmt eine neue Adresse innerhalb von 60 Sekunden, auch wenn ein lokaler DNS-Cache die alte Adresse möglicherweise etwas länger beibehält.
Fehlerbehebung bei pfSense-DDNS
| Was Sie sehen | Warum | Was zu tun ist |
|---|---|---|
Die Antwort lautet badauth |
Falscher Benutzername oder falsches Update-Passwort in der URL | Kopieren Sie die Update-URL erneut aus dem Panel. Wenn Sie von einem anderen Anbieter wechseln, lesen Sie die Anleitung zu Ersetzen einer No-IP- oder DynDNS-Serveradresse |
| Cached IP bleibt nach dem Speichern leer | Der Client konnte den Update-Host nicht erreichen, oder die URL wurde beim Einfügen abgeschnitten | Verwenden Sie Save & Force Update, und lesen Sie dann Status > System Logs > System > General; das Aktivieren von Verbose Logging im Eintrag zeigt den vollständigen Austausch an |
| Der hostname wird in eine IPv6-Adresse aufgelöst | Der Update-Host wurde über IPv6 erreicht. Daher wurde diese Adresse aufgezeichnet | Setze ein Häkchen bei Force IPv4 DNS Resolution im Dynamic-DNS-Eintrag und erzwinge ein Update |
| Jedes Update wird als fehlgeschlagen protokolliert, obwohl der hostname korrekt ist | Result Match ist auf eine feste Zeichenfolge gesetzt, und die Antwort wechselt zwischen good und nochg |
Leere das Result Match-Feld, um die Ergebnisprüfung auszuschalten |
| Methode 1 funktionierte, hörte dann aber nach einem Neustart oder einer Konfigurationswiederherstellung auf | Der Cron-Job liegt außerhalb von config.xml und kann auf einem RAM-Datenträger liegen |
Stelle stattdessen Methode 2 ein oder füge die Zeile über das Cron-Paket hinzu |
| Der hostname wird aufgelöst, aber auf deinem port antwortet nichts | DDNS funktioniert; der Weg ins Netzwerk nicht | Füge die NAT- und Firewall-Regeln hinzu und teste dann von außen mit Port Check |
| Der hostname wird auf eine Adresse aufgelöst, die nicht deiner öffentlichen IP entspricht | Die Firewall befindet sich hinter einer weiteren NAT-Schicht, oft CGNAT | Vergleiche die WAN-Adresse im Dashboard mit der von einer öffentlichen IP-Abfrage gemeldeten Adresse. Wenn sie voneinander abweichen, frage deinen ISP nach einer öffentlichen IP |
| Alles funktionierte, dann hörte es nach Monaten auf | Ein kostenloser hostname wird einmal jährlich verlängert, und ein temporärer hält 30 Tage | Verlängere ihn in deinem Konto oder wechsle zu einem Plan, dessen Hostnames nicht ablaufen |
Halte deine Update-URL privat
Die Update-URL enthält deinen hostname, Benutzernamen und dein Update-Passwort als einfache Abfrageparameter. Sie wird in dieser Form in der pfSense-Konfiguration und bei Methode 1 im Crontab gespeichert – jeder, der ein Konfigurations-Backup lesen kann, kann diese Zugangsdaten lesen. Behandle einen pfSense-Konfigurations-Export wie eine Passwortdatei und füge niemals eine unredigierte Update-URL in einen Forenbeitrag oder ein Support-Ticket ein. Wenn du das bereits getan hast, ändere das Update-Passwort in deinem Konto und konfiguriere den Eintrag neu.
Häufig gestellte Fragen
Soll ich den Dynamic DNS-Client oder das Cron-Skript verwenden?
Verwende den Dynamic DNS-Client unter Dienste > Dynamic DNS für alles, was du dauerhaft nutzen möchtest. pfSense speichert ihn in der Konfiguration, sodass er Teil eines Backups ist und nach einer Neuinstallation wiederhergestellt wird. Das Cron-Skript ist der schnellere Weg für ein erstes Update, aber pfSense verwaltet diesen Job nicht, und er kann bei einem Neustart oder einer Konfigurationswiederherstellung verloren gehen.
Muss ich für das DDNS-Update selbst einen port öffnen?
Nein. pfSense öffnet eine ausgehende HTTPS-Verbindung zu FastDDNS, daher ist für das Update keine eingehende Regel erforderlich. Für die Dienste, die du über den hostname erreichen möchtest, benötigst du aber weiterhin port forwarding und Firewall-Regeln, etwa port 554 für RTSP oder den Web-port einer Kamera.
Warum fordert mich das Panel auf, die IPv4-Auflösung zu erzwingen?
Weil FastDDNS die Adresse aufzeichnet, von der deine Anfrage kommt. Wenn pfSense den Update-Host auf eine IPv6-Adresse auflöst und die Verbindung über IPv6 herstellt, zeichnet FastDDNS diese Adresse auf, und dein A record ist anschließend falsch oder leer. Durch das Erzwingen der IPv4-Auflösung läuft das Update über dasselbe Protokoll wie die Adresse, die du veröffentlichen möchtest.
Funktioniert das, wenn mein ISP CGNAT verwendet?
Nein. Hinter einem Carrier-Grade NAT hat Ihre Firewall keine eigene öffentliche IP, sodass es keine Adresse gibt, auf die ein hostname sinnvoll verweisen könnte, und eingehende Verbindungen vom ISP blockiert werden. Dynamisches DNS löst wechselnde Adressen, nicht fehlende. Fragen Sie Ihren ISP nach einer öffentlichen IP-Adresse oder nutzen Sie einen Dienst, der ausgehende Verbindungen tunnelt.
Betreiben Sie etwas anderes am Netzwerkrand? Dieselbe Update-URL funktioniert überall dort, wo eine geplante HTTPS-Anfrage ausgeführt werden kann, einschließlich der MikroTik RouterOS-Konfiguration.





