Wechseln zu:Navigation, Suche
Wiki

Was ist SPDYN?

SPDYN ist ein Dienst mit dem Maschinen, die nur über eine dynamische IP verfügen, per Hostname erreichbar gemacht werden können. Dadurch sind zum Beispiel Administration und VPN-Einwahl möglich, ohne dass die aktuelle IP-Adresse erst vor Ort erfragt werden muss.

Unterstützt der Server die Verwendung von IPv6-Adressen?

Seit dem 12.05.2014 nimmt der Server auch Updates von IPv6-Adressen an. Vorraussetzung ist, dass für den jeweiligen Hostnamen ein AAAA-Record angelegt wurde.

Wie lautet die Update-URL ?

Die Update-URL für SPDYN lautet: update.spdyn.de/nic/update?hostname=<domain>&myip=<ipaddr>

Der Update-Server ist sowohl über Port 80/tcp (Plaintext HTTP), als auch auf Port 443/tcp (HTTPS) erreichbar. Sofern der Client es unterstützt, empfehlen wir die Verwendung des HTTPS-Servers, da die Zugangsdaten hier nicht unverschlüsselt übertragen werden. Sowohl die Securepoint UTM v10, als auch die UTM v11 verwenden ausschließlich den HTTPS-Update-Server.

Update-Tokens

Ein Update-Token ist ein spezielles Passwort, das ausschließlich die Aktualisierung des Hosts erlaubt, für den es erzeugt wurde. Weitere Informationen finden sich in einem eigenen Artikel.

Gelöschte Hosts

SPDNS Gelöschte Hosts

SPDYN-Account in einer Securepoint UTM v10 eintragen

Vorlage:V10 Die DynDNS-Einstellungen finden Sie im Menü Netzwerk -> Netzwerkkonfiguration -> DynDNS.
Dort haben Sie die Möglichkeit bis zu 5 DynDNS-Accounts einzutragen.

Eine beispielhafte Konfiguration:

Sp utm dyndns.png

SPDYN-Account in einer Securepoint UTM v11 eintragen

Vorlage:V11 Die DynDNS-Einstellungen finden Sie im Menü "Netzwerk" -> "Netzwerk-Konfiguration". Klicken Sie dort im Tab "Schnittstellen" auf das Schraubenschlüssel-Symbol neben dem Interface, für das Sie den DynDNS-Namen konfigurieren wollen. Es öffnet sich ein neues Fenster, in dem Sie auf dem Tab "DynDNS" die entsprechenden Einstellungen vornehmen können.

Eine beispielhafte Konfiguration:

Dyndns-v11.png

Bietet Securepoint einen Update-Client für $SOMEOS an?

Wir stellen ausschließlich den Dyndns-Update-Server zur Verfügung. Alle Securepoint- und Terra-Firewalls unterstützen die Verwendung von spdyn.de von Haus aus.

Let's encrypt

Let's encrypt limitiert die Anzahl der neu erstellten Zertifikate pro 2ndlevel-Domain und Zeiteinheit. Sollte dieses Limit erreicht sein, wird folgende Fehlermeldung zurückgegeben:

Error: urn:acme:error:rateLimited :: There were too many requests of a given type :: Error creating new cert :: Too many certificates already issued for: $SOMEDOMAIN

Es wird aktuell geprüft, ob ein Eintrag in die Public-Suffix-List sinnvoll ist - erst dann würde das Rate-Limiting für unsere Domains aufgehoben werden.

Verwendung mit Fremdhardware

ddclient

Hinweis: ddclient unterstüzt das Update per SSL erst ab Version 3.7.0. Ab dieser Version kann die Zeile "ssl=yes" einkommentiert werden.

Geräte mit öffentlicher IP

Wenn das Gerät auf einem Interface direkt die öffentliche IP verwendet, kann die folgende Konfiguration verwendet werden:

# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf

protocol=dyndns2
use=if, if=eth0
server=update.spdyn.de
#ssl=yes
login=$USERNAME
password='$PASSWORD'
$HOSTNAME

Geräte in einem privaten Netz

Ist der ddclient auf einem Gerät im internen Netzwerk installiert, muss die öffentliche IP vorher von einem Server im Internet abgefragt werden. Das kann mit der folgenden Konfiguration realisiert werden:

# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf

protocol=dyndns2
use=web, web=checkip.spdyn.de
server=update.spdyn.de
#ssl=yes
login=$USERNAME
password='$PASSWORD'
$HOSTNAME1,$HOSTNAME2

ddclient unter Windows

Eine Anleitung zur Konfiguration unter Windows befindet sich hier.

inadyn

ACHTUNG: inadyn unterstützt zum gegenwärtigen Zeitpunkt (05.04.2014) kein Update der IP über eine SSL-Verbindung!

inadyn -u $USERNAME -p $PASSWORD -a $HOSTNAME --dyndns_server_name update.spdyn.de --dyndns_server_url /nic/update? --ip_server_name checkip.spdyn.de:80 / 

FRITZ!BOX

Die DynDNS-Einstellungen finden Sie im Menü Erweiterte Einstellungen -> Internet -> Freigaben -> Dynamic DNS.
Für die Verwendung des Securepoint Dynamic DNS Service, wählen Sie als Dynamic DNS-Anbieter "Benutzerdefiniert" aus und tragen folgende URL als Update-URL ein:
update.spdyn.de/nic/update?hostname=<domain>&myip=<ipaddr>

ACHTUNG: die spitzen Klammern sind keine Platzhalter, sondern müssen genau so eingegeben werden.

Ab der FRITZ!OS Version 05.50 unterstützt die Fritzbox das Update auch über SSL. Die Update-URL ändert sich dann wie folgt:
https://update.spdyn.de/nic/update?hostname=<domain>&myip=<ipaddr>

Sofern die FIrmware es erlaubt, kann auch parallel ein IPv4- und ein IPv6-Host aktualisiert werden. Dafür bietet es sich an, den gleichen Hostnamen zu verwenden. In das Feld "Update-URL" wird dann eingetragen:
https://update.spdyn.de/nic/update?hostname=<domain>&myip=<ipaddr> https://update.spdyn.de/nic/update?hostname=<domain>&myip=<ip6addr>

ACHTUNG: Beim parallelen Update von IPv4 und IPv6 kann die Token-Authentifizierung nicht verwendet werden!

Eine beispielhafte Konfiguration:

FritzBox-spDNS.jpeg

Ergänzen Sie die weiteren Felder Domainname mit Ihrem Hostname, Benutzername mit Ihrem SPDYN-Login sowie Kennwort und Kennwortbestätigung mit Ihrem SPDYN-Kennwort.

OpenWRT

Eine Anleitung zur Konfiguration findet sich ebenfalls auf fr32k.de

Hinweis: Standardmäßig unterstützt OpenWRT zum gegenwärtigen Zeitpunkt (08.05.2014) nur Updates über den HTTP-Server. Informationen zum Aktivieren des Udpates über SSL finden sich im OpenWRT Wiki.

Das Feld Custom Update-URL muss wie folgt befüllt werden (der Text in eckigen Klammern muss genau so übernommen werden):
http://[USERNAME]:[PASSWORD]@update.spdyn.de/nic/update?hostname=[DOMAIN]&myip=[IP]

Beispiel-Konfiguration: Spdns-openwrt.png

Zyxel

Folgende Konfiguration funktioniert auf einer Zyxel USG40:
ZyxelUSG40.png

Was bedeutet das Symbol vor dem Hostnamen auf der Profilseite?

Dieses Symbol zeigt den Status des Update-Tokens für diesen Host an:

Symbol Erklärung
Bullet black.png Für diesen Host kann kein Token generiert werden. Das ist der Fall, wenn dieser Host weder ein A- noch ein AAAA-Record ist.
Bullet red.png Für diesen Host ist kein aktives Token vorhanden. Eine Aktualisierung der IP kann nur mit den Zugangsdaten des User-Accounts erfolgen.
Error.png Für diesen Host existiert ein aktives Token, dieses wurde aber bisher nicht verwendet.
Bullet green.png Für diesen Host existiert ein aktives Token, welches auch bereits mindestens einmal für ein Update verwendet wurde.

Welche Rückgabecodes schickt der Server beim Update einer IP?

Rückgabecode Erklärung
abuse Der Host kann nicht aktualisiert werden, da er aufgrund vorheriger fehlerhafter Updateversuche gesperrt ist.
badauth Ein ungültiger Benutzername und/oder ein ungültiges Kennwort wurde eingegeben.
good Die Hostname wurde erfolgreich auf die neue IP aktualisiert.
!yours Der angegebene Host kann nicht unter diesem Benutzer-Account verwendet werden.
notfqdn Der angegebene Host ist kein FQDN.
numhost Es wurde versucht, mehr als 20 Hosts in einer Anfrage zu aktualisieren.
nochg Die IP hat sich zum letzten Update nicht geändert. Werden innerhalb eines kurzen Zeitraumes weiterhin Updateversuche dieses Hosts vorgenommen, wird dieser für eine bestimmte Zeitspanne keine Updates mehr entgegen nehmen können.

Wie können mehr als 5 Hosts über einen Account verwaltet werden?

Zunächst haben Sie die Möglichkeit bis zu 5 Hosts zu verwalten.
Sind diese 5 Hosts erreicht, können Sie weitere Hosts beantragen.
Klicken Sie hierfür auf den Button Request additional hosts/Weitere Hosts beantragen.


Spdns request additional hosts.png

Welche Variablen können in der Update-URL angegeben werden?

Parameter-Name Beispiel Erklärung
hostname beispiel1.spdyn.de oder
beispiel1.spdyn.de,beispiel2.spdyn.de
Ein einzelner FQDN oder eine komma-separierte Liste (max 20 Einträge) von FQDNs die aktualisiert werden sollen
myip 192.2.0.1 oder
2001:868:100:901:53::1
Genau eine IP-Adresse, mit der die Hosts aktualisiert werden sollen
user spdynUser1 [Optional] Der Name eines Benutzers, der diesen Host aktualisieren kann.
Wenn Update-Tokens verwendet werden, kommt hier ebenfalls der Hostname hin.
pass geheimesP4ssw0rt [Optional] Das Passwort eines Benutzers, der diesen Host aktualisieren kann.
Wenn Update-Tokens verwendet werden, ist das der Platz für das Token.
  • Der user- und pass-Parameter sind nur dann zu verwenden, wenn keine HTTP Basic-Auth durchgeführt wird. Fehlen sowohl der Authorization-Header, als auch die user/pass-Kombination schlägt das Update mit dem badauth Return-Code fehl.
  • Ein vorhandener Authorization-Header überschreibt evtl als Parameter übergebene Username/Passwort Kombinationen
  • Befindet sich die im Parameter myip übergebene IP in einem privaten Subetz (10.0.0.0/8, 172.16.0.0/20 oder 192.168.0.0/16), wird das Update-Skript stattdessen die für den Verbindungsaufbau verwendete öffentliche IP zum Update verwenden. Dieses Verhalten wird nur aktiviert, wenn sowohl der myip-Parameter, als auch die Client-IP der HTTP-Verbindung eine IPv4-Adresse ist.

Wie ermittle ich meine öffentliche IP?

Um die öffentliche IP eines Gerätes zu vermitteln, stellen wir den Host checkip.spdyn.de zur Verfügung. Dieser ist auch erreichbar unter myip.spdyn.de und getip.spdyn.de. Der Host liefert die von der HTTP-Verbindung verwendete IPv4- oder IPv6-Adresse zurück. Sollten die Internetverbindung sowohl über IPv4 als auch IPv6 erfolgen ("Dual Stack") empfiehlt sich die Verwendung von checkip4.spdyn.de (besitzt ausschließlich einen A-Record, ist also über IPv6 nicht zu erreichen) bzw. checkip6.spdyn.de (besitzt nur einen AAAA-Record und antwortet somit nicht auf IPv4-Anfragen).

Die Ausgabe der IP erfolgt entweder als Plaintext (das ist der Standard), JSON oder XML.

Die Plaintext-Seite zeigt immer nur die eine IP-Adresse an, von der die Verbindung zu unserem Server aufgebaut wurde.

Bei der JSON/XML-Ausgabe werden unter Umständen mehrere IP-Adressen angezeigt, je nachdem ob die Verbindung durch einen oder mehrere Proxies erfolgt.

Die Header werden dabei in der folgenden Reihenfolge ausgewertet (weiter vorne in der Liste = höhere Priorität):

  • Vom Server erkannte Quell-IP
    • REMOTE_ADDR > HTTP_CLIENT_IP
  • Vom Client gesendete Header:
    • HTTP_X_FORWARDED_FOR > HTTP_X_FORWARDED > HTTP_X_CLUSTER_CLIENT_IP > HTTP_FORWARDED_FOR > HTTP_FORWARDED

Die vom Client gesendeten Header werden nur angezeigt, aber ansonsten vom Update-Server ignoriert. Anders verhält es sich bei der REMOTE_ADDR.

Wenn versucht wird, einen Hostnamen so zu aktualisieren, dass er er auf eine private IP zeigt, wird der Update-Server stattdessen die erkannte öffentliche IP des Clients verwenden. Das ermöglicht die Verwendung unseres Dienstes auch mit Clients, die keine Möglichkeit haben, ihre öffentliche IP vor dem Update selber festzustellen.

ACHTUNG: Auch wenn ein Update von einem solchen Client funktioniert, "weiß" dieser Client vermutlich nicht, wann sich seine öffentliche IP ändert und wird den Host nach einem 24h-Reconnect nicht automatisch aktualisieren. Im Allgemeinen reicht dann ein manueller oder über einen Cronjob gesteuerter Neustart des Dyndns-Clients.

Hinweis: Die checkip-Hosts antworten nur auf Plaintext-HTTP-Anfragen auf Port 80.

Ausgabe als JSON-Objekt

Beim Aufruf von http://checkip.spdyn.de/json werden die gefundenen IP-Adressen nach folgendem Schema mit dem MIME-Type application/json ausgegeben:

{
	"ipinfo":[{
		"ip":"192.0.0.1",
		"source":"REMOTE_ADDR"
	},{
		"ip":"10.0.0.1",
		"source":"HTTP_X_FORWARDED_FOR"
	},{
		"ip":"10.0.0.2",
		"source":"HTTP_X_FORWARDED_FOR"
	}]
}

Ausgabe als XML

Beim Aufruf von http://checkip.spdyn.de/xml werden die gefundenen IP-Adressen nach folgendem Schema mit dem MIME-Type text/xml ausgegeben:

<ipinfo>
    <ip ip="192.0.0.1" source="REMOTE_ADDR"/>
    <ip ip="10.0.0.1" source="HTTP_X_FORWARDED_FOR"/>
    <ip ip="10.0.0.2" source="HTTP_X_FORWARDED_FOR"/>
</ipinfo>

Logmeldungen auf der Webseite

Ungültiger Hostname: $HOSTNAME

Kategorie: Fehler
Ursache: Die Zugangsdaten für den Account waren korrekt, aber der angegebene Host existiert nicht oder der Benutzer hat keine Berechtigung zum Aktualisieren dieses Hosts
Lösung: Tragen Sie in Ihrem Dyndns-Client den korrekten Hostnamen ein.

OK, keine Änderung: $IP

Kategorie: Warnung
Ursache: Es erfolgte eine Aktualisierung des Hostnamens, dabei wurde aber wieder die gleiche IP verwendet, wie vorher.
Lösung: Es ist keine Aktion des Nutzers notwendig, solange diese Meldung nicht zu oft erscheint. Die Richtlinie ist hier, dass nicht mehr als ein Update je 30 Minuten erfolgen sollte. Wird diese Meldung zu oft erzeugt, werden weitere Update-Versuche dieses Hosts für eine bestimmte Zeit unterbunden.

Bitte verwenden Sie als Update-Server in Ihrem Client "update.spdyn.de" (Aktuelle Einstellung: $SOME_OTHER_HOST)

Kategorie: Warnung
Ursache: Ihr Dyndns-Client hat den Host erfolgreich aktualisiert, aber sich dabei nicht zum korrekten Update-Server verbunden.
Lösung: Im Dyndns-Client muss als Update-Server "update.spdyn.de" angegeben werden.
HINWEIS: Sobald wir auch die Aktualisierung von IPv6-Adressen (AAAA-Records) zulassen, wird diese Meldung zur Kategorie Fehler. Eine Aktualisierung von Hosts ist dann nur noch über eine der folgenden Hostnamen möglich:

  • update.spdyn.de (IPv4/IPv6) [bevorzugter Server]
  • update4.spdyn.de (IPv4)
  • update6.spdyn.de (IPv6)

Logmeldungen des DynDNS-Clients in der Securepoint UTM

SSL peer certificate or SSH remote key was not OK

Der DynDNS-Client in der Securepoint UTM validiert das Zertifikat des eingetragenen Update-Servers, bevor die Aktualisierung durchgeführt wird. Diese Fehlermeldung wird erzeugt, wenn diese Validierung fehlschlägt, weil:

  • das Server-Zertifikat nicht für den im Feld "Update-Server" eingetragenen Host ausgestellt wurde
  • das Server-Zertifikat abgelaufen ist
  • die Zertifikats-Kette des Server-Zertifikats unvollständig ist