hansdampf06
Goto Top

FortiGate und genericDDNS

Hallochen Gemeinde,

aufgrund eines Standort- und somit Anschlusswechsels übernimmt vorerst die FortiGate (60D) das PPPoE (bei der Telekom) - soweit alles gut. Demgemäß soll auch das Dynamic DNS von der FortiGate erledigt werden und hierbei den bisherigen Account bei ddnss.de benutzen. Dieser Anbieter ist natürlich in der expliziten Auflistung in der FortiGate nicht vorhanden, so dass als ddns-server der Wert genericDDNS auszuwählen ist.

Bei ddnss.de erfolgte das Update über URL entweder per User + Password oder per Key. Die Syntax sieht so aus:
http://ddnss.de/upd.php?user=USER&pwd=PASS&host=HOSTNAME.ddnss.de
oder
http://ddnss.de/upd.php?key=SCHLÜSSEL&host=HOSTNAME.ddnss.de
Beides geht natürlich auch per HTTPS.

Leider ist im Internet so gut wie nichts brauchbares an Informationen für diese Variante zu finden. Orientiert an dem, was zu finden ist, lautet die Konfiguration:

config system ddns
    edit 1
        set ddns-server genericDDNS
        set ddns-domain "HOSTNAME.ddnss.de"  
        set monitor-interface "WAN_VLAN7"  
        set ddns-server-ip 85.114.136.161
        set ddns-zone "HOSTNAME"  
        set ddns-ttl 482
        set ddns-auth tsig
        set ddns-keyname "key"  
        set ddns-key 'ENC ...'  
    next
end

Der von ddnss.de im Account vorgegebene SCHLÜSSEL wurde vor der Eingabe über einen base64-Generator konvertiert und dann bei ddns-key eingegeben.

Die FortiGate probiert zwar regelmäßig ein Update, aber es wird immer folgende Fehlermeldung ausgeworfen:

1684926852: Start to update genericDDNS (HOSTNAME.ddnss.de)
1684926852: next wait timeout 10 seconds
generic_ddns_handler(): bad key name
1684926852: Failed on update genericDDNS (HOSTNAME.ddnss.de), next try at 1684926972

Zu dieser Fehlermeldung konnte ich nichts finden. Was ist in diesem Fall die richtige Angabe für ddns-keyname? Der Parameter kann jedenfalls nicht undefiniert gelassen werden, weil dann die FortiGate bei der Konfiguration meckert.

Ich verstehe die CLI-Syntax so, dass die FortiGate den Parameter ddns-server-ip als Äquivalent für "http://ddnss.de" verwendet. Muss etwa irgendwie die gesamte restliche URL bei ddns-keyname / ddns-key angegeben werden? Was gehört dann zu welchem der beiden Parameter?

Vielen Dank im Voraus für Euren Input und viele Grüße
HansDampf06

PS: Beim vormals verwendeten Draytek Vigor130 (Angabe der URL sowie von User und Password) beziehungsweise Speedport Pro Plus (User und Password) ist die Verwendung des ddnss.de-Accounts problemfrei möglich.

Content-Key: 7288526125

Url: https://administrator.de/contentid/7288526125

Printed on: April 28, 2024 at 08:04 o'clock

Member: HansDampf06
HansDampf06 May 24, 2023 at 12:35:47 (UTC)
Goto Top
In der CLI-Referenz ist hinsichtlich dem Parameter genericDDNS angemerkt, dass (nur) solche DDNS-Server unterstützt werden, die RFC2136 entsprechen. Dem hatte ich bisher keine nähere Beachtung geschenkt.

Deswegen bin ich jetzt dem dann doch noch näher nachgegangen und bin so ganz oben in den aufgelisteten Suchergebnissen auf den entsprechenden Wikipedia-Artikel zum DynDNS gestoßen. Dort wird beschrieben, dass es zwei Verfahren für das DDNS-Update gibt: (1) per URL / HTTP oder (2) gemäß RFC2136/RFC3007. Übertrage ich diese Beschreibung auf die FortiGate, so ist das FortiOS - im Gegensatz zu Draytek Vigor130 / Speedport Pro Plus - nach seinen Konfigurationsmöglichkeiten wohl nur zur zweiten Variante, aber nicht zur ersten in der Lage. Dann kann natürlich ein Account bei ddnss.de, der auf die erste Variante setzt, nicht aktualisiert werden. Mithin muss das DNS-Update auch scheitern.

Somit bliebe wohl nur, entweder bei ddnss.de anzufragen, ob auch eine Update-Möglichkeit per RFC2136/RFC3007 besteht (eher unwahrscheinlich), oder auf den Parameter FortiGuardDDNS und somit auf einen ganz anderen FQDN zu wechseln. Freilich müssen dann alle Anwendungen, die auf den bisherigen FQDN abstellen, angepasst werden.

Kann jemand diese Erkenntnis bestätigen? Oder gäbe es noch einen anderen (einfache(re)n) Weg?

Viele Grüße
HansDampf06
Member: godlie
godlie May 24, 2023 at 13:12:22 (UTC)
Goto Top
Hallo,

ich würde das ganze über einen Shedule Trigger in Verbindung einer Webhook Action realisieren.

Bei der Webhook Action kannste alles mitgeben was du brauchst, als Trigger einen Sheduled Trigger erstellen

https://docs.fortinet.com/document/fortigate/7.4.0/administration-guide/ ...
https://docs.fortinet.com/document/fortigate/7.4.0/administration-guide/ ...

grüße