Wechseln zu:Navigation, Suche
Wiki

Was ist SPDNS?

SPDNS 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.

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 lautet die Update-URL ?

Die Update-URL für SPDNS lautet:

update.spdns.de/nic/update?hostname=<domain>&myip=<ipaddr>

SPDNS-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

SPDNS-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

Verwendung mit Fremdhardware

ddclient

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.spdns.de
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.spdns.de
server=update.spdns.de
login=$USERNAME
password='$PASSWORD'
$HOSTNAME1,$HOSTNAME2

DDWRT

Eine Anleitung zur Konfiguration findet sich auf fr32k.de

SPDNS-Account in einer AVM FRITZ!BOX eintragen

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.spdns.de/nic/update?hostname=<domain>&myip=<ipaddr>

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

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

Eine beispielhafte Konfiguration:

Fritz box spdns.png

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.


Spdns request additional hosts.png

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

Parameter-Name Beispiel Erklärung
hostname beispiel1.spdns.de
beispiel1.spdns.de,beispiel2.spdns.de
Ein einzelner FQDN oder eine komma-separierte Liste (max 20 Einträge) von FQDNs die aktualisiert werden sollen
myip 192.2.0.1 Genau eine IPv4-Adresse, mit der die Hosts aktualisiert werden sollen
user spdnsUser1 [Optional] Der Name eines Benutzers, der diesen Host aktualisieren kann
pass geheimesP4asswort [Optional] Das Passwort eines Benutzers, der diesen Host aktualisieren kann
  • 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.

Wie ermittle ich meine öffentliche IP?

Um die öffentliche IP eines Gerätes zu vermitteln, stellen wir den Host checkip.spdns.de zur Verfügung. Dieser ist auch erreichbar unter myip.spdns.de und getip.spdns.de.

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.

Ausgabe als JSON-Objekt

Beim Aufruf von http://checkip.spdns.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.spdns.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>