TS: Probleme bei DynDNS mit no-ip.com und Fritz-Box, aber PHP-Fehler gefunden...

Hello,

seit ein paar Tagen habe ich Probleme mit meinem DynDNS in der Fritzbox.
Anbieter ist no-ip.com. Es hatte bis jetzt längere Zeit einwandfrei funktioniert. Ich habe nichts geändert und kein Update bekommen.

Beim Versuch, den Melde-Request manuell ausführen zu lassen, bekomme ich immer einen Status 401 als Antwort.

Beide Varianten scheitern:


https://USERNAME:PASSWOERT@dynupdate.no-ip.com/nic/update?hostname=test.ddns.net&myip=79.255.90.65  

wobei USERNAME und PASSWORT base64-encoded sind  

https://CREDENTIALS@dynupdate.no-ip.com/nic/update?hostname=test.ddns.net&myip=79.255.90.65  

wobei CREDENTIALS = base64_encode(username + ':' + passwort) ist
(Pseudo-Code)  

Witzigerweise hatte die erste Variante bei der manuellen Meldung eine Zeit lang funktioniert, obwohl die eigentlich falsch ist...

Browser

Wenn man das im Browser durchführt kommt also das "401-Popup". Wird das dann mit den passenden Werten ausgefüllt, kommt ein OK für die übermittelte IP. Die ist dann auch sofort im DNS verfügbar.

PHP

Wenn ich das Ganze in PHP versuche, bekomme ich auch den Status 401.

Wie müsste der Ablauf aussehen, damit ich es mittels PHP-Script Host2Host hinbekomme?

Bisher sieht es im Kern so aus;

$remote_url = 'https://dynupdate.no-ip.com/nic/update?hostname=test.ddns.net&myip=' . trim($ip);

$_opts = 
   array
   (
       'http'=>array
       (
           'method'=>"GET",
           'header' => "Authorization: Basic " .    
                base64_encode("$username:$password")
       )
   );

$context = stream_context_create($_opts);

## Open the file using the HTTP headers set above
$result = file_get_contents($remote_url, false, $context);

Der letzte Fehler lag in der $remote_url, in der ich anstelle eines '&' ein '&' notiert hatte. Das gehört in den HTML-Kontext, aber nicht in die zu übermittelnde URL.

Es funktioniert nun so.

Warum aber meine Fritzbox nicht mehr mit no-ip.com zusammenarbeitet, habe ich noch nicht herausgefunden.

.
Glück Auf
Tom

  1. seit ein paar Tagen habe ich Probleme mit meinem DynDNS in der Fritzbox.

    a) https://USERNAME:PASSWOERT@dynupdate.no-ip.com …
    b) https://CREDENTIALS@dynupdate.no-ip.com …
    

    Warum aber meine Fritzbox nicht mehr mit no-ip.com zusammenarbeitet, habe ich noch nicht herausgefunden.

    Womöglich haben sich die Macher der Fritzbox darauf verlassen, dass die Varianten a) oder b) noch funktionieren, denn

    Ich habe nichts geändert und kein Update bekommen.

    Da kann es ja nur an der abgeschalteten, respektive gefixten Schnittstelle von no-ip.com liegen, bei welcher es bis dato noch möglich war, die CREDENTIALs per GET zu übertragen, was eben unsicher ist. Soll heißen: Nach dem nächsten Update der Fritzbox geht es wohl (hoffentlich) wieder.

    Tipp:

    Aus einem ähnlichem Grund habe ich bei meinem Hoster einfach zwei CNAME-Records für meine Hostnamen auf den bei myfritz.net gelegt.

    Etwas wie nslookup code.fastix.org zeigt das.