DD-WRT - DDNS (Custom): Wie wird die IP übergeben?
Hallo,
leider blick ich's nicht.
Die Aufgabe
Ich versuche beim Hoster Strato eine Subdomäne als DynDNS-Ziel zu verwenden.
Das Update soll ein DD-WRT-Router automatisiert ausführen.
System und Daten
Router-Firmware: DD-WRT v3.0-r33413 std (09/27/17)
Stratopaket:
Domain: meinedomain.de
Meine Subdomain: sub.meinedomain.de
Wan-IP: 82.149.225.21
Benutzername: www.meinedomain.de
DDNS-Passwort: geheim
Forschung und Recherche
Die vorbreitenden Einstellungen in meinem Strato-Paket habe ich vorgenommen.
https://www.strato.de/faq/article/671/So-einfach-richten-Sie-DynDNS-fuer ...
Zum Thema DDWRT und DDNS habe ich u.a. das hier gefunden:
https://www.dd-wrt.com/wiki/index.php/DDNS_-_How_to_setup_Custom_DDNS_se ...
In dem Zusammenhang habe ich Folgendes gelernt:
Um zu Prüfen was eigentlich passiert und welche Daten aus welchen Konfigurationsfeldern wie übertragen werden, habe ich auf meinem Webspace eine PHP-Datei hinterlegt, die alle an sie übermittelten Get- und Post-Daten in eine Textdatei schreibt.
Mit eigenem PHP-Skript (testscript.php)
POST-Daten wurden keine übermittelt.
Als GET-Daten wurde übermittelt:
DD-WRT übermittelt also keine Daten, die nicht entweder in Feld "URL" oder im Feld "Hostname" eingetragen sind.
Die Url, die tatsächlich aufgerufen wird resultiert aus der Anfügung des Feldinhaltes "Hostname" an den Feldinhalt von "URL".
Aus obigen (sinnlosen) Beispiel erfolgt also dieser Aufruf:
Aufruf per Browser
Möchte ich die IP per Browser aktualisieren, so kann ich diese Url verwenden:
(Das fordert noch zuvor zur Eingabe von Benutzername und Kennwort auf.)
(Benutzername und Kennwort können auch in die Url geschrieben werden.)
Der Aufruf funktioniert und wird mit wird mit
Es funktioniert mit
In einigen Beispielen im Web sind noch weitere Variablen angefügt:
Für die prinzipielle Funktion scheinen sie aber nicht nötig zu sein.
Aufruf per Router
Einstellungen
DDNS Service : Custom
DYNDNS Server: dyndns.strato.com
Username : www.meinedomain.de
Password : geheim
Hostname : sub.meinedomain.de
URL : http://dyndns.strato.com/nic/update/?hostname=
[Save] klicken zum Speichern.
Beim Drücken von [Apply] wird die Aktualisierung ausgelöst.
Per Telnet oder ssh kann die Aktualisierung auch per Kommando ausgelöst werden.
Im Log und in der Statusausgabe erscheint:
Es sieht also so aus, als hätte es funktioniert, allerdings wird die IP bei Strato nicht aktualisiert.
Die sub.meinedomain.de hat dann immernoch die verhergehende IP.
Meine Frage
Im Aufruf per Browser enthält die URL die IP-Nummer als GET-Variable:
Im Aufruf per Router ist das nicht der Fall.
Ich könnte sie dort auch händisch eintragen, aber das wäre absurd.
Gibt es eine DD-WRT-Variable, die ich dort verwenden muss, beispielsweise:
oder wie wird die aktuelle WAN-IP an den DDNS-Server übermittelt?
Gruß Frank
leider blick ich's nicht.
Die Aufgabe
Ich versuche beim Hoster Strato eine Subdomäne als DynDNS-Ziel zu verwenden.
Das Update soll ein DD-WRT-Router automatisiert ausführen.
System und Daten
Router-Firmware: DD-WRT v3.0-r33413 std (09/27/17)
Stratopaket:
Domain: meinedomain.de
Meine Subdomain: sub.meinedomain.de
Wan-IP: 82.149.225.21
Benutzername: www.meinedomain.de
DDNS-Passwort: geheim
Forschung und Recherche
Die vorbreitenden Einstellungen in meinem Strato-Paket habe ich vorgenommen.
https://www.strato.de/faq/article/671/So-einfach-richten-Sie-DynDNS-fuer ...
Zum Thema DDWRT und DDNS habe ich u.a. das hier gefunden:
https://www.dd-wrt.com/wiki/index.php/DDNS_-_How_to_setup_Custom_DDNS_se ...
In dem Zusammenhang habe ich Folgendes gelernt:
- Benutzername und Kennwort wird benötigt um eine ht-access-Anmeldung durchzuführen.
- Die eigentlichen Konfigurationsdaten werden als Get-Daten übertragen.
- Bei Strato kann man dafür ein gesondertes Kennwort hinterlegen
- DD-WRT legt Dateien an im Ordner /tmp/ddns/
- inadyn.conf (Die im Webinterface vorgenommene Konfiguration)
- ddns.log (Das Ergebnis der Aktualisierung)
- inadyn_ip.cache (Inhalt: Externe IP-Nummer zur Zeit der letzen Aktualisierung)
- inadyn_time.cache (Inhalt: Unixzeit der letzen Aktualisierung)
- Positive Antworten des DDNS-Servers sind:
- good 82.149.225.21 (IP-Adresse wurde erfolgreich aktualisiert)
- nochg 82.149.225.21 (Alles gut, aber die IP-Adresse war im Moment schon hinterlegt)
- nochg heißt "No Change" und nicht "und noch ein G".
Um zu Prüfen was eigentlich passiert und welche Daten aus welchen Konfigurationsfeldern wie übertragen werden, habe ich auf meinem Webspace eine PHP-Datei hinterlegt, die alle an sie übermittelten Get- und Post-Daten in eine Textdatei schreibt.
Mit eigenem PHP-Skript (testscript.php)
DDNS Service : CustomDYNDNS Server: egal.deUsername : egalPassword : egalHostname : hammer&obst=apfelURL : http://www.meinedomain.de/testscript.php?farbe=rot&werkzeug=
POST-Daten wurden keine übermittelt.
Als GET-Daten wurde übermittelt:
farbe=rotwerkzeug=hammerobst=apfel
DD-WRT übermittelt also keine Daten, die nicht entweder in Feld "URL" oder im Feld "Hostname" eingetragen sind.
Die Url, die tatsächlich aufgerufen wird resultiert aus der Anfügung des Feldinhaltes "Hostname" an den Feldinhalt von "URL".
Aus obigen (sinnlosen) Beispiel erfolgt also dieser Aufruf:
http://www.meinedomain.de/testscript.php?farbe=rot&werkzeug=hammer&obst=apfel
Aufruf per Browser
Möchte ich die IP per Browser aktualisieren, so kann ich diese Url verwenden:
https://dyndns.strato.com/nic/update?hostname=sub.meinedomain.de&myip=82.149.225.21
https://www.meinedomain.de:geheim@dyndns.strato.com/nic/update?hostname=sub.meinedomain.de&myip=82.149.225.21
Der Aufruf funktioniert und wird mit wird mit
good 82.149.225.21
oder nochg 82.149.225.21
quittiert.Es funktioniert mit
http
und mit https
.In einigen Beispielen im Web sind noch weitere Variablen angefügt:
&wildcard=NOCHG
&mx=NOCHG
&backmx=NOCHG
Für die prinzipielle Funktion scheinen sie aber nicht nötig zu sein.
Aufruf per Router
Einstellungen
DDNS Service : Custom
DYNDNS Server: dyndns.strato.com
Username : www.meinedomain.de
Password : geheim
Hostname : sub.meinedomain.de
URL : http://dyndns.strato.com/nic/update/?hostname=
[Save] klicken zum Speichern.
Beim Drücken von [Apply] wird die Aktualisierung ausgelöst.
Per Telnet oder ssh kann die Aktualisierung auch per Kommando ausgelöst werden.
/usr/sbin/inadyn -u benutzername -p kennwort --verbose 5 --input_file /tmp/ddns/inadyn.conf
Im Log und in der Statusausgabe erscheint:
Sun Apr 8 16:29:08 2018: INADYN: Started 'INADYN Advanced version 1.96-ADV' - dynamic DNS updater.
Sun Apr 8 16:29:08 2018: I:INADYN: IP address for alias 'sub.meinedomain.de' needs update to '82.149.225.21'
Sun Apr 8 16:29:08 2018: I:INADYN: Alias 'sub.meinedomain.de' to IP '82.149.225.21' updated successfully.
Es sieht also so aus, als hätte es funktioniert, allerdings wird die IP bei Strato nicht aktualisiert.
Die sub.meinedomain.de hat dann immernoch die verhergehende IP.
Meine Frage
Im Aufruf per Browser enthält die URL die IP-Nummer als GET-Variable:
myip=82.149.225.21
Im Aufruf per Router ist das nicht der Fall.
Ich könnte sie dort auch händisch eintragen, aber das wäre absurd.
Gibt es eine DD-WRT-Variable, die ich dort verwenden muss, beispielsweise:
%IP%
oder <IP>
oder wie wird die aktuelle WAN-IP an den DDNS-Server übermittelt?
Gruß Frank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 370534
Url: https://administrator.de/contentid/370534
Ausgedruckt am: 21.11.2024 um 22:11 Uhr
8 Kommentare
Neuester Kommentar
Mit der Übergabe der IP als Wert, könnte man auch von B aus eine Umleitung von A nach C vornehmen.
Mag sein, DynDNS ist aber eher als "Prosumer" Feature gedacht, nicht für den Einsatz im/durch Unternehmen.Zum Rest:
Frag doch einfach mal bei Strato nach. Die haben idR eine gute FAQ. Normalerweise erlauben DynDNS Anbieter nur eine bestimmte Änderungen in einem bestimmten Zeitinterval