DynDNS2 API

DynDNS2 Update-API.

Endpunkt, Authentifizierung, Parameter und Antwortcodes für Router, Firewalls, ddclient und eigene Integrationen.

DynDNS2 Update-Endpunkt

minIP verwendet das verbreitete DynDNS2-Prinzip. Dadurch funktionieren viele Router, Firewalls, NAS-Systeme und Standardclients ohne zusätzliche minIP-Software. Der empfohlene HTTPS-Endpunkt lautet:

https://update.minip.ch/nic/update

Für klassische Clients besteht ein Zugang aus einer Client-ID im Format mip_… und genau einem Update-Key im Format mipk_…. Der Update-Key dient als Passwort. Moderne Integrationen können denselben Key als Bearer-Token verwenden.

Basic Auth – empfohlen für Router

curl -u "mip_CLIENTID:mipk_UPDATEKEY" \
  "https://update.minip.ch/nic/update?hostname=home.minip.ch&myip=DEINE_PUBLIC_IPV4"

hostname enthält den vollständigen minIP-Hostnamen. myip steht für IPv4, myipv6 für IPv6. Ein Router kann beide Familien gemeinsam melden; minIP bewertet sie getrennt. Eine nicht publizierbare CGNAT-/private IPv4 verhindert deshalb kein gültiges AAAA-Update.

Bearer Auth für eigene Integrationen

curl -H "Authorization: Bearer mipk_UPDATEKEY" \
  "https://update.minip.ch/nic/update?hostname=home.minip.ch&myipv6=DEINE_PUBLIC_IPV6"

Ersetze die Platzhalter durch deine tatsächlich global routbare Adresse oder lasse einen kompatiblen Client die Adresse automatisch ermitteln. Private, CGNAT- und reservierte Adressen werden nicht publiziert.

Antwortcodes

AntwortBedeutung
good <IP>DNS-Adresse wurde erfolgreich geändert.
nochg <IP>Die Adresse war bereits aktuell.
badauthClient-ID oder Update-Key ist ungültig.
nohostDer Host gehört nicht zu diesem Update-Zugang oder die angeforderte Adressfamilie ist nicht aktiviert.
dnserrDas Update konnte nicht sicher publiziert werden, z. B. wegen einer nicht zulässigen Adresse oder eines DNS-Backendfehlers.
911Temporärer Dienst-/Rate-Limit-Zustand; Client sollte später erneut versuchen.

IPv4, IPv6, CGNAT und DS-Lite

minIP veröffentlicht ausschliesslich global routbare Adressen. Private IPv4, Loopback, Link-Local, CGNAT und reservierte Sonderbereiche werden nicht in öffentliche A-/AAAA-Records geschrieben. Für DS-Lite- und Starlink-Anschlüsse ist deshalb wichtig, dass der Router auch IPv6 über myipv6 aktualisiert, wenn seine IPv4 nur aus einem CGNAT-Bereich stammt.

Wird keine explizite Adresse angegeben, kann minIP je nach Request-Pfad die beobachtete öffentliche Quelladresse verwenden. Hinter lokalen Test-Proxys oder Docker ist diese Adresse jedoch oft intern; im Testbetrieb sollte deshalb myip beziehungsweise myipv6 explizit gesetzt werden.

Legacy Query-Parameter

Für ältere Geräte existiert eine Legacy-Kompatibilität mit Benutzer und Key in der URL. Diese Variante sollte ausschliesslich über HTTPS und nur dann verwendet werden, wenn der Client kein HTTP Basic Auth unterstützt. URL-Parameter können in Router-, Proxy- oder Diagnoselogs auftauchen.

https://update.minip.ch/nic/update?hostname=home.minip.ch&username=mip_CLIENTID&password=mipk_UPDATEKEY
Sicherheitsregel: Update-Key nie in Screenshots, Tickets oder Foren posten. Falls er offengelegt wurde, im minIP Manager neu erzeugen.

Integration testen

Lege zuerst einen Host im Manager an, ordne ihm einen Update-Zugang zu und teste dann mit Basic Auth. Ein erfolgreicher Request sollte good oder nochg liefern. Anschliessend zeigt der Manager sowohl den zuletzt publizierten Wert als auch den tatsächlich aufgelösten DNS-Istwert.

Mehrere Hostnamen und Update-Zugänge

Ein Update-Zugang kann mehreren eigenen minIP-Hosts zugeordnet werden. Der Hostname im Request wird trotzdem immer gegen den authentifizierten Zugang geprüft. Ein gültiger Key kann deshalb nicht beliebige fremde *.minip.ch-Namen aktualisieren. Für unterschiedliche Geräte oder Vertrauenszonen empfiehlt es sich, getrennte Update-Zugänge zu verwenden, damit ein offengelegter Key nur den zugeordneten Bereich betrifft.

Fehleranalyse bei nohost und badauth

badauth bedeutet, dass die Authentifizierung nicht akzeptiert wurde. Prüfe Client-ID und Update-Key. nohost bedeutet dagegen typischerweise, dass der Host nicht dem verwendeten Zugang zugeordnet ist oder die angeforderte Adressfamilie für diesen Host nicht aktiviert ist. Bei Windows CMD muss eine URL mit &-Parametern immer in Anführungszeichen stehen, da & sonst als Befehlsseparator interpretiert wird.

Rate Limits und sinnvolle Intervalle

DynDNS sollte auf Änderungen reagieren, nicht sekündlich pollen. Router-Intervalle von einigen Minuten sind für typische Heimanschlüsse ausreichend. minIP begrenzt Update-Anfragen zum Schutz des öffentlichen Dienstes. Bei einer temporären 911-Antwort sollte ein Client mit Abstand erneut versuchen und keine enge Retry-Schleife starten.

DNS-Istwert nach dem Update prüfen

Ein erfolgreicher HTTP-Request ist nur die erste Hälfte des Vorgangs. Im Manager zeigt minIP zusätzlich den aktuell aufgelösten DNS-Istwert. Dadurch lässt sich erkennen, ob der veröffentlichte A- oder AAAA-Record tatsächlich dem letzten erfolgreichen Update entspricht. Ein sichtbarer MISMATCH ist besonders hilfreich, wenn Records außerhalb von minIP verändert wurden oder ein DNS-Backend nicht den erwarteten Zustand liefert.