Problem Custom (v6) DynDNS und Selfhost
-
Hallo zusammen, mir ist heute ein Problem mit einem selbst erstellten DynDNS IPv6 (Selfhost) Eintrag aufgefallen.
Bei Ergebnis gibt man unter anderem die IP Adresse als Platzhalter %IP% ein. Das funktionierte bei mir nicht und es kam im Logfile die Meldung, dass das Ergebnis nicht übereinstimmt. Ich habe dann die von Selfhost zurückgegebne IPv6 Adresse statt den Platzhalter eingegeben und es funktionierte. Ich habe dann die auf dem WAN Interface ausgelesene IPv6 Adresse mit der von Selfhost zurückgegebenen verglichen und dabei ist mir folgendes aufgefallen:
WAN Interface IPv6 (%IP%)
2001:18b4:3200:7f4a:20d:b9ff:fe45:b718Selfhost Wert
2001:18b4:3200:7f4a:020d:b9ff:fe45:b718Selfhost gibt die IPv6 Adresse ungekürzt zurück und die pfSense ließt sie gekürzt aus und lässt die vorangestellte 0 weg.
Gibt es eine Möglichkeit das zu korrigieren?
-
@nonick und warum willst du etwas korrigieren was so richtig ist? Laut ipv6 Definition ist es völlig legitim in der Schreibweise führende 0 wegzulassen.
2a06:45:13::99
sagt also das gleiche aus wie
2a06:0045:0013:0000:0000:0000:0000:0099
-
Hallo Jens, danke für deine Antwort.
Mir ist die Schreibweise von IPv6 Adressen schon klar. Mein Problem ist ein anderes.
Bei den Custom (v6) Einstellungen gibt es das Feld: Ergebnis passt. Dort wird die aktuelle IPv6 Adresse vom WAN Interface mit der von Selfhost im DNS hinterlegten verglichen. Ist das Ergebnis gleich, dann ist keine Aktualisierung notwendig. Wenn nicht, dann wird die aktuelle IPv6 WAN Adresse zu Selfhost übermittelt und im DNS aktualisiert.
Ich gebe in dem Feld Ergebnis passt für Selfhost bei erfolgreicher Aktualisierung folgendes ein: status=200 updateip=%IP%
Die pfSense trägt dann für den Platzhalter %IP% die aktuelle IPv6 Adresse vom WAN Interface ein. Das Ergebnis sieht dann so aus:status=200 updateip=2001:18b4:3200:7f4a:20d:b9ff:fe45:b718
Selfhost gibt aber als Antwort die ungekürzte Adresse zurück:
2001:18b4:3200:7f4a:020d:b9ff:fe45:b718
Damit passt das Ergebnis nicht, im Logfile steht
/services_dyndns_edit.php: phpDynDNS (): (Fehler) Das Ergebnis passt nicht. [status=200 updateip=2001:18b4:3200:7f4a:020d:b9ff:fe45:b718 ]
Die pfSense vergleicht einfach nur stur die 2 IPv6 Adressen:
WAN=2001:18b4:3200:7f4a:20d:b9ff:fe45:b718
Selfhost Rückgabewert= 2001:18b4:3200:7f4a:020d:b9ff:fe45:b718Meiner Meinung nach ist der pfSense die Schreibweise von IPv6 Adressen nicht klar und ist der Meinung, es handelt sich um 2 verschiedene Adressen.
Das dem so ist sieht man daran, das wenn ich statt dem Platzhalter %IP% die aktuelle IPv6 Adresse vom WAN Interface ungekürzt eintrage, es dann funktioniert.
LG, Micha
-
@nonick Ah, jetzt verstehe ich etwas besser was gemeint ist. Muss das Result Matching überhaupt gemacht werden? Soweit ich das verstanden hatte, ist das Feld optional und muss nicht geprüft werden, der Push mit der IPv6 Adresse geht aber trotzdem raus?
-
Leider ist das die Voraussetzung damit der dyndns Service ein force Update macht. Ohne dem prüft dieser nur und da dann ohne diesen Ergebnis immer alles OK ist, geschieht dann keine Aktualisierung.
Zur Zeit helfe ich mir damit, dass ich in dem Feld den korrekten Wert "status=200 updateip=%IP%" eingetragen habe. Dadurch kommt es nach einem IP Wechsel immer dazu, dass das Ergebnis nicht passt und der dyndns Service löst das force Update aus.
Meine Sorge war am Anfang, dass der dyndns Service alle 10 min. ein force Update auslöst (da so das Ergebnis nie passt) und Selfhost mir irgendwann aufs Dach steigt. Das passiert aber nicht, der dyndns Service führt das nur einmal aus und legt sich dann wieder hin.
Schön wäre es, wenn es richtig funktionieren würde.
-
OK jetzt die zweite Preisfrage: Warum pushst du dann überhaupt ein IPv6 Update, wenn es keines geben müsste oder verstehe ich dein Problem falsch? Wenn es doch kein Prefix Change gibt und du kein Update machen musst, warum dann überhaupt das Ganze?
-
Durch die Zwangstrennung und neuen IPv6 Präfix muss ja die neue Adresse dem DNS (Selfhost) mitgeteilt werden. Der dyndns Service erkennt nach der Trennung die neue IPv6 Adresse, macht aber nicht gleich ein force Update. Der Dienst fragt erst bei Selfhost nach, ob die neue IPv6 Adresse vielleicht schon im DNS steht. Die dann darauf folgende Fehlerantwort kann der dyndns Service aber nicht überprüfen, da kein Eintrag im Feld "Ergebnis passt" steht und geht dann davon aus das alles OK ist. Dadurch geschieht dann keine Aktualisierung der neuen IPv6 Adresse.
Das Feld "Ergebnis passt" ist wichtig, nur dadurch erfährt der dyndns Service überhaupt erst was richtig oder falsch ist und handelt entsprechend. Das ist auch der Grund warum ich in das Feld was geschrieben habe, dadurch passt das Ergebnis nie und es kommt zum force Update. Glücklicherweise macht er das nur einmal, sonst würde ich von Selfhost Probleme bekommen.
-
@nonick Gut also doch dynamisches Prefix, ich dachte schon das ist sinnfreies pushing wegen einem halb-kaputten dyndns Dienst. Wäre nicht der erste. Anyway ich denke die einzige korrekte Antwort wäre eine Anfrage im Dyndns bzw. IPv6 Forenbereich nach einem Selfhost v6 Eintrag, der das Ganze richtig behandelt und auf die Eigenheiten des Dienstes eingeht. Alles kann man an der Stelle eben dann doch nicht mit customV6 abdecken, wenn jeder Dienst leider anders reagiert. Da bin ich immer wieder recht froh um DNS Dienste wie bei Cloudflare, die einen das DNS nicht nur selbst konfigurieren lassen, sondern auch API Updates unterstützen und damit dritte DynDNS Anbieter überflüssig machen.
Gruß
-
Ein richtiger Selfhost v6 Eintrag wäre natürlich das beste. Das mit dem DNS Dienst bei Cloudflare muss ich mir mal anschauen. Da könnte man so ein Problem einfach lösen.
-
@nonick könntest du mir sagen, wie du das genau gemacht hast mit selfhost und v6??
-
Habe mir einfach einen Customv6 angelegt:
Interface WAN
Interface for Update WAN
Username die Kundennummer
Password ist klar
Update URL: https://Username=Username:Password=Password@carol.selfhost.de/nic/update?myip=%IP%&hostname=eigenedyndomainDone
-
@nocling vielen Dank!
Klappt bei mir aber leider nicht...Update URL soll so aussehen? https://Username=12345:Password=67890@carol.selfhost.de/nic/update?myip=%IP%&hostname=example.de
-
Bei mir läuft das seit nem Jahr oder länger ohne Probleme.
Ansonsten mal in die Logs schauen, ich hatte auch erst Probleme und habe es dann mit den Logs dann mit der URL zum laufen gebracht.
Die passenden Einträge für die Domain bezüglich aaaa und Wildcard muss zuvor aber noch anlegen, sonst kann das gar nicht funktionieren.
-
@nima Da ich gerade wieder neue Hardware bekommen habe und die teilweise neu konfigurieren musste, habe ich mal wieder die Custom (v6) mit Selfhost getestet. Wie zu erwarten funktioniert das nicht, auch nicht mit den Einstellungen von @NOCling. Nach einem Neustart des Routers bleibt weiterhin die alte IPv6 Adresse im DNS von Selfhost. Selbst wenn der Cronjob der Sense läuft, wird die aktuelle IPv6 Adresse nicht an Selfhost übermittelt. Dafür wird dann im Widget und in den DynDNS Einstellungen alles grün mit korrekter IPv6 Adresse angezeigt . Nur ein manuelles Speichern mit force Update übermittelt die korrekte Adresse an Selfhost.
Ich mache es weiterhin wie schon seit pfSense Version 2.3 mit einem eigenen Script, der schon vielen Jahre mit verschiedenen pfSense Versionen und Hardware zuverlässig funktioniert.
-
@nonick said in Problem Custom (v6) DynDNS und Selfhost:
Dafür wird dann im Widget und in den DynDNS Einstellungen alles grün mit korrekter IPv6 Adresse angezeigt . Nur ein manuelles Speichern mit force Update übermittelt die korrekte Adresse an Selfhost.
Hast du im Custom nen eigenen Block im Check Bereich wo er das Ergebnis prüft? Bislang war das meistens der Knackpunkt, sonst hatte ich mit Dyns nie wirklich Probleme.
-
@nonick bei mir funktioniert das auch nicht. Daher würde mich dein Script sehr interessieren. Würdest du das teilen?