# DynDNS

## Client-Einrichtung

Es muss ein Client konfiguriert werden der die aktuelle IP-Adresse regelmäßig an den DynDNS-Dienst übergibt.
Der Client entscheidet dabei ob eine IPv4- oder eine IPv6-Adresse gesetzt wird.

Bei IPv6 sollte beachtet werden, dass IPv6-Adressen von den meisten Routern unmittelbar einem internen Gerät zugeordnet werden.
Das Gerät dass die Aktualisierung vornimmt wird auch das Gerät sein dass von außen direkt erreichbar ist.

### Mögliche Parameter
 
 Alle Parameter können mit einem & (Kaufmanns-Und) getrennt gesetzt werden.

 [key]
Der Parameter 'key' identifiziert und authentifiziert den Aufruf und ist für die Aktualisierung zwingend erforderlich.
Der in den nachfolgenden Beispielen verwendete Key 'abcdefghijklmnopqrstuvwxyz1234567890'
muss dabei durch den eigentlichen Key, welcher zugeschickt wurde, ersetzt werden.
Die Verwendung eines falschen Keys kann zu einer Sperre führen wodurch anschließend kein Aufruf mehr möglich ist.

 [only_update_protocol]
Bei Bedarf kann der Parameter 'only_update_protocol' zusätzlich gesetzt werden.
Dadurch wird nur der Eintrag des aktuell verwendeten Protokolls aktualisiert.
Der Eintrag des jeweils anderen Protokolls (IPv4 <=> IPv6) wird dann nicht entfernt.
Wünscht man die Nutzung beider IP-Protokolle parallel und will sicherstellen dass diese auch aktuell sind, sollte dieser Parameter gesetzt werden.

 [mail_notification]
Sofern gewünscht kann der Parameter 'mail_notification' gesetzt werden.
Dadurch wird bei jedem Update eine E-Mail an die hinterlegte E-Mail-Adresse versandt.

 [mail_notification_level]
Sofern gewünscht kann der Parameter 'mail_notification_level' gesetzt werden und so der Benachrichtigungstyp genauer eingestellt werden.
mail_notification_level=0 - keine E-Mail
mail_notification_level=1 - sende nur bei Fehlern eine E-Mail (Standard)
mail_notification_level=2 - sende bei jeder Änderung eine E-Mail (wie mail_notification)
mail_notification_level=3 - sende immer eine E-Mail

 [purge]
Erzwingt die Bereinigung aller derzeitig gesetzten Einträge bevor neue gesetzt werden.

 [debug]
Der Parameter 'debug' aktiviert eine ausführliche Ausgabe.
Ohne diesen Parameter erfolgt aus Sicherheitsgründen keine Rückmeldung.
Sollte nur bei Problemen gesetzt werden.


### Browser

Die DynDNS-Adresse kann auch manuell über den Browser aktualisiert werden.
Dies dient auch zu Testzwecken.
	
	https://dyndns.darkrealm.de?debug&key=abcdefghijklmnopqrstuvwxyz1234567890


### Linux-Client

Um die DynDNS-Adresse von einem Linux-System aktualisieren zu lassen,
kann einer der nachfolgenden Cronjobs (Befehl: 'crontab -e') eingerichtet werden.

Sollen beide Protokolle immer aktualisiert werden, sollten zwei Cronjobs (die unteren beiden Beispiele) gesetzt werden.

Beispiele:
			0       */4       *       *       *       curl --data 'key=abcdefghijklmnopqrstuvwxyz1234567890' "https://dyndns.darkrealm.de"

			0       */4       *       *       *       curl --data 'mail_notification&key=abcdefghijklmnopqrstuvwxyz1234567890' "https://dyndns.darkrealm.de"
			
			10       */4       *       *       *       curl --ipv4 --data 'only_update_protocol&key=abcdefghijklmnopqrstuvwxyz1234567890' "https://dyndns.darkrealm.de"
			20       */4       *       *       *       curl --ipv6 --data 'only_update_protocol&key=abcdefghijklmnopqrstuvwxyz1234567890' "https://dyndns.darkrealm.de"


### Einrichtung in Fritzbox

Bei der Fritzbox kann das Protokoll (IPv4 oder IPv6) nicht erzwungen werden.
 
URL: https://dyndns.darkrealm.de?user=<username>&password=<pass>&host=<domain>&ip=<ipaddr>&ip6=<ip6addr>
Benutzername: fritzbox
Passwort: abcdefghijklmnopqrstuvwxyz1234567890 [Im Passwortfeld wird der Key hinterlegt]
Domain: beispiel.domain.de [vollständige DynDNS-Domain eintragen]

Source: https://en.avm.de/service/knowledge-base/dok/FRITZ-Box-7590/30_Setting-up-dynamic-DNS-in-the-FRITZ-Box/
