Zum Inhalt springen

regfish DynDNS auf UniFi Dream Machine und Gateway einrichten

Ein UniFi-Gateway kann die öffentliche IPv4-Adresse Ihres Anschlusses selbst an regfish DynDNS melden. Ein Name wie home.example.com zeigt danach immer auf Ihren Anschluss, auch wenn der Provider die Adresse wechselt.

Die Anleitung gilt für alle Gateways, die über UniFi Network verwaltet werden: Dream Machine (auch Pro und SE), Dream Router, Cloud Gateway (Ultra, Max), die Gateway-Serie (UXG) und das ältere Security Gateway (USG).

Feld in UniFiWert
ServiceCustom
Hostnameder Name, der aktualisiert werden soll, z. B. home.example.com
Usernameein beliebiger Wert, das Feld darf nur nicht leer bleiben, z. B. regfish
PasswordIhr DynDNS-Token
Serverdyndns.regfish.de/?fqdn=%h.&ipv4=%i&forcehost=1&token=%p

Die Feldnamen stehen hier so, wie UniFi Network sie in der englischen Oberfläche zeigt. Die Schritte unten erklären jeden Wert.

  • eine Domain bei regfish, die die regfish-Nameserver verwendet (DynDNS schreibt in die Zone bei regfish, bei fremden Nameservern bleibt die Änderung wirkungslos)
  • DynDNS im dash aktiviert und das zugehörige Token
  • Administratorzugang zu UniFi Network
  • ein Gateway, das die öffentliche IPv4-Adresse direkt auf seinem WAN-Anschluss bekommt (siehe Doppeltes NAT)

Öffnen Sie Domains → Ihre Domain → DynDNS, direkte Adresse: dash.regfish.de/my/domains/<tld>/<sld>/dyndns

Die DynDNS-Einstellungen einer Domain im regfish dashDie DynDNS-Einstellungen einer Domain im regfish dash

Ist DynDNS noch aus, setzen Sie den Schalter DynDNS aktivieren und bestätigen mit Übernehmen. Kopieren Sie das angezeigte Token.

Öffnen Sie in UniFi Network Settings → Internet und wählen Sie die WAN-Verbindung, über die der Anschluss läuft, meist Primary (WAN1). Im Abschnitt Dynamic DNS legen Sie mit Create New Dynamic DNS einen neuen Eintrag an.

Je nach Version von UniFi Network liegt der Abschnitt an etwas anderer Stelle. Die Felder sind überall dieselben.

Service: Custom. Einen eigenen Eintrag für regfish gibt es in der Liste nicht, der Dienst wird vollständig über die Server-Angabe beschrieben.

Hostname: der Name, der auf Ihren Anschluss zeigen soll, ohne Protokoll und ohne Punkt am Ende, z. B. home.example.com oder www.example.com. Er muss zu der Domain gehören, deren Token Sie verwenden.

Username: ein beliebiger Wert wie regfish. regfish wertet ihn nicht aus, UniFi lässt das Feld aber nicht leer speichern.

Password: das DynDNS-Token aus Schritt 1.

Server: genau diese Zeile, ohne https:// davor:

dyndns.regfish.de/?fqdn=%h.&ipv4=%i&forcehost=1&token=%p

UniFi ersetzt die Platzhalter vor jedem Aufruf selbst:

dyndns.regfish.de/?fqdn=%h.&ipv4=%i&forcehost=1&token=%p
%h
der Inhalt des Felds Hostname. Der Punkt dahinter macht den Namen absolut, deshalb gehört er nicht ins Feld selbst.
%i
die IPv4-Adresse, die das Gateway auf seinem WAN-Anschluss hat.
forcehost=1
legt den A-Record an, falls es den Namen in der Zone noch nicht gibt.
%p
der Inhalt des Felds Password, also Ihr Token.

Zeigt Ihre Version zwei getrennte Felder für Server und Pfad, tragen Sie dyndns.regfish.de als Server ein und den Rest ab /?fqdn= als Pfad.

Für eine zweite Domain legen Sie einen zweiten Eintrag mit deren eigenem Token an. Ein Token gilt immer nur für die Domain, für die es erzeugt wurde.

Speichern Sie den Eintrag. Kurz danach meldet das Gateway seine Adresse zum ersten Mal, später bei jedem Wechsel der WAN-Adresse.

Im dash sehen Sie den Erfolg unter Domains → Ihre Domain → DNS → DNS-Einträge: Der A-Record des Namens trägt die aktuelle Adresse und den Kommentar Regfish DynDNS mit Zeitstempel. Haben Sie im dash die Benachrichtigung für DynDNS eingeschaltet, kommt zusätzlich eine E-Mail.

Von einem Rechner aus lässt sich das Ergebnis direkt im DNS nachsehen:

Terminal-Fenster
dig +short home.example.com A

Die Ausgabe muss mit der öffentlichen Adresse Ihres Anschlusses übereinstimmen.

Bleibt der Eintrag aus, trennt ein Aufruf von Hand die Frage, ob es am Gateway oder am Token liegt. Er setzt den Namen auf die Adresse, von der die Anfrage kommt, aus Ihrem Netz also auf dieselbe wie das Gateway:

Terminal-Fenster
curl 'https://dyndns.regfish.de/?fqdn=home.example.com.&thisipv4=1&forcehost=1&token=IHR_TOKEN'

success|100|update succeeded! oder success|101|already up-to-date! heißt: Token und Name stimmen, der Fehler liegt in der Konfiguration von UniFi. Jede andere Antwort erklärt die Tabelle unter Fehlerbilder.

Doppeltes NAT: wenn vor dem Gateway ein weiterer Router steht

Abschnitt betitelt „Doppeltes NAT: wenn vor dem Gateway ein weiterer Router steht“

UniFi meldet die Adresse seines eigenen WAN-Anschlusses. Hängt davor noch ein Router, etwa eine FRITZ!Box oder der Router des Providers, ist das eine private Adresse aus dessen Heimnetz. regfish speichert dann genau diese, und der Name ist von außen nicht erreichbar.

Gateway direkt am Modem

  1. Internet
  2. Modemreicht nur durch, kein eigenes Routing
  3. UniFi-GatewayWAN: 203.0.113.42

regfish speichert 203.0.113.42, der Name ist erreichbar.

Gateway hinter einem Router

  1. Internet
  2. FRITZ!Boxöffentlich: 203.0.113.42
  3. UniFi-GatewayWAN: 192.168.178.20

regfish speichert 192.168.178.20, von außen nicht erreichbar.

Erkennbar ist das an der WAN-Adresse, die UniFi Network für das Gateway anzeigt: Beginnt sie mit 192.168., 10. oder 172.16. bis 172.31., steht ein weiterer Router davor. Zwei Wege führen heraus:

  1. Den vorderen Router zum reinen Modem machen. Viele Provider-Router und Modems kennen dafür einen Bridge- oder Modem-Modus. Die Einwahl übernimmt dann das UniFi-Gateway, es bekommt die öffentliche Adresse selbst, und diese Anleitung funktioniert unverändert.
  2. DynDNS am vorderen Router einrichten. Der kennt die öffentliche Adresse. Für die FRITZ!Box steht der Ablauf im Rezept DynDNS mit der FRITZ!Box. Eingehende Verbindungen müssen Sie dann an beiden Routern weiterleiten.

Beginnt die WAN-Adresse mit 100.64. bis 100.127., vergibt Ihr Provider keine eigene öffentliche IPv4-Adresse (Carrier-Grade NAT, häufig bei DS-Lite-Anschlüssen). Dann hilft DynDNS für IPv4 nicht weiter: Fragen Sie beim Provider nach einer öffentlichen IPv4-Adresse oder erreichen Sie den Anschluss über IPv6.

Die Antworten des Diensts zeigt UniFi nicht an. Sie sehen sie beim Test mit curl und, für die einen Teil der Ablehnungen, in der Benachrichtigungs-E-Mail, sofern diese im dash eingeschaltet ist.

Antwort oder SymptomUrsacheAbhilfe
error|401|Authentication failedToken falsch, unvollständig kopiert oder leerToken im dash neu kopieren und ins Feld Password setzen
error|406|Record not foundforcehost=1 fehlt, und den Namen gibt es noch nichtServer-Angabe exakt wie oben übernehmen
error|412|FQDNs … formatHostname mit https:// oder mit Punkt am Ende eingetragenHostname ohne Protokoll und ohne Schlusspunkt
error|415|You cannot configure load balancingzu dem Namen gibt es mehr als einen A-Recordüberzählige A-Records im dash löschen
error|403|Forbidden, Record is inactiveder A-Record ist im dash deaktiviertRecord aktivieren
error|403|Blocked by Domain Guardiander Domain-Wächter sperrt Zonenänderungenim Domain-Wächter die Ausnahme für DynDNS setzen
HTTP-Status 429zu viele Anfragen, oft nach mehreren falschen Tokensdie Wartezeit aus Retry-After abwarten, dann mit korrektem Token erneut
Record trägt eine private Adressedoppeltes NATsiehe Doppeltes NAT

Diese Einrichtung pflegt den A-Record, also IPv4. Soll der Name auch einen AAAA-Record mit der IPv6-Adresse bekommen, eignet sich ein kleines Skript auf einem Gerät im Netz, das dyndns6.regfish.de aufruft. Den Ablauf zeigt das Rezept DynDNS per Update-URL.

Wer das Token hat, kann die Adresse umschreiben, auf die Ihre Domain zeigt. In UniFi steht es im Klartext in der Konfiguration und damit auch in jedem Backup des Controllers. Geben Sie solche Backups und Administratorzugänge deshalb nur weiter, wo es nötig ist.