Dyndns dnshome.de IPv6

otto58

Mitglied
Mitglied seit
9 Jan 2007
Beiträge
320
Punkte für Reaktionen
10
Punkte
18
Ich habe einen Telekomanschluss mit Dual Stack und suche eine Alternative zu dyndns.org. Ziel ist es, an die IPv6 eines Windows Servers zu kommen.

Ich experimentiere zunächst auf einem Pi. Die ddclient.conf von der dnshome.de Seite https://www.dnshome.de/einrichtung-ddclient.php

protocol=dyndns2
ssl=yes # Erst ab ddclient Version 3.7 möglich, bitte prüfen
daemon=3600
use=web, web=ip.dnshome.de
server=www.dnshome.de
login=SUBDOMAIN.DOMAIN.TLD
password=PASSWORT
SUBDOMAIN.DOMAIN.TLD


funktioniert, aber ich bekomme ich nur eine IPv4. Mit der conf für "DS-Lite / IPv6 only" geht nichts.

Dagegen liefert der Aufruf im Browser: https://SUBDOMAIN.DOMAIN.TLD:[email protected]/dyndns.php nur die von mir gewünschte IPv6. Ich bekomme es aber nicht hin, die ddclient.conf zielführend "in IPv6" zu ändern.

  1. Hat jemand eine ddclient.conf für diese Zielstellung?
  2. Nutzt jemand ein Scrip (z.B. Perl), das Änderungen der IPv6 checkt und dann ggf. den https://... Aufruf macht?
  3. Gibt es einen anderen kostenlosen Dyndns-Service der einen eigenen Windows-Clienten (wie dyndns.org) anbietet und die IPv6 erfasst?
Gruß OTTO

 
Ich bekomme es aber nicht hin, die ddclient.conf zielführend "in IPv6" zu ändern.
1. Hat jemand eine ddclient.conf für diese Zielstellung?
Die steht ja auf deren Seite. Einfach hinzufügen: usev6=if, if=eth0 # Bitte prüfen ob dies auch das korrekte Netzwerkinterface ist
3. Gibt es einen anderen kostenlosen Dyndns-Service der einen eigenen Windows-Clienten (wie dyndns.org) anbietet und die IPv6 erfasst?
Die gibt es. dynv6 zum Beispiel.
 
@KunterBunter
Danke so geht es. Ich hatte das wohl auch schon mal probiert aber wohl nicht lange genug gewartet.

Jetzt habe ich nur das Problem if=eth0 "in Windows" zu übersetzen. Ich hatte gehofft, es gibt eine use=web Lösung.

Ich bin jetzt mehr auf der Linie eines Perl Scripts, das minütlich vom Windows Aufgabenplaner aufgerufen wird.
  1. Abfragen einer Internetseite, die mir die IP zurückgibt.
  2. Testen ob es eine gültige IPv6 ist und ob sie sich geändert hat.
  3. Wenn sie sich geändert hat, wird https://SUBDOMAIN.DOMAIN.TLD:[email protected]/dyndns.php aufgerufen.
Ich finde dazu nur keine Beispiele im Internet. Müsste aber doch gehen?
 
Also auf einem Raspberry iVm dem DDClient gibt es keine Möglichkeit IPv4 und IPv6 in einem Rutsch aktualisieren zu lassen (wenn dann wird IPv6 bevorzugt).

Hier ein Beispiel von DYNU

Du könntest hier allerdings -file [path-to-file] beim Aufruf anhängen.

Du erstellst also beispielsweise ddclientv4.conf und eine ddclientv6.conf

ddclientv4.conf:
Code:
daemon=60
syslog=yes
mail=root
mail-failure=root
pid=/var/run/ddclientv4.pid
                            
ssl=yes
use=web, web=checkip.dynu.com/, web-skip='IP Address'
server=api.dynu.com
protocol=dyndns2
login=xxxxx
password=xxxxx
xxx.ddnsfree.com,xxxx.freeddns.org,xxxxx.ddnsfree.com

ddclientv6.conf:
Code:
daemon=60
syslog=yes
mail=root
mail-failure=root
pid=/var/run/ddclient6.pid
                            
ssl=yes
usev6=if, if=eth0
server=api.dynu.com
protocol=dyndns2
login=xxxxx
password=xxxxx
xxx.ddnsfree.com,xxxx.freeddns.org,xxxxx.ddnsfree.com

Legst einen cronjob an
Code:
@reboot /usr/sbin/ddclient -file /etc/ddclientv4.conf
@reboot /usr/sbin/ddclient -file /etc/ddclientv6.conf
und schon wird die IPv4 über "web" ermittelt und gepusht und die IPv6 wird von Deinem Client über die Netzwerkschnittstelle ermittelt

Auch wenn Du eine Lösung für Windows gesucht hast, aber zunächst den Versuch über DDClient auf "Linux" gegangen bist, dachte ich mir, auch wenn es Dir jetzt womöglich nicht direkt weiterhilft, denke ich doch, gibt es sicherlich sehr viele User, welche mittlerweile vor diesem Problem stehen.
Diese werden hiermit eine passende Lösung finden, nach welcher schon länger gesucht wird (denn ich hatte mich hiermit auch ein paar Abende in Ruhe beschäftigt, bis ich nun eine All-In-One-Lösung habe für verschiedene DynDNS-Anbieter mit der Option IPv4 - IPv6 - IPv4+IPv6).

//edit: achja, Du musst natürlich die Config auf Deine Bedürfnisse anpassen, aber da dnshome wohl auch auf "dyndns2" setzt, sollte das wohl das kleinste Problem sein.
 
Zuletzt bearbeitet:
Danke, aber ich habe mir für Windows ein "IPv6" Perl Sript für Google Domains und DnsHome zusammengepfuscht.
Da mein uralt ActivePerl "standalone" wohl kein IPv6 kann (in Verbindung mit Apache funktioniert IPv6) bin ich auf StrawberryPerl umgesteigen.

Code:
#!c:/strawberry/perl/bin/perl

use LWP

$browser = LWP::UserAgent->new;
@ns_headers = (
   'User-Agent' => 'Chrome/41.0',
  );

neu:
sleep(10);
# in Sekunden

$gtext = " ";
$htext = " ";

$url = 'https://ip.dnshome.de/';
$quelltext = $browser->get($url, @ns_headers);
$text = $quelltext->content;
$text =~ s/\n//g;

open (FILE, "D:/htdocs/cgi-bin/dyndnstest_cache.txt");
$cachetext = <FILE>;
close (FILE);

if ( ( $text ne $cachetext ) and ( $text =~ /^([a-f0-9]{1,4}:){7}[a-f0-9]{1,4}$/ ) )
   { open (FILE, ">","D:/htdocs/cgi-bin/dyndnstest_cache.txt");
     print FILE $text;
     close (FILE);
 
     $url = 'https://NUTZERNAME:[email protected]/nic/update?hostname=SUBDOMAIN.DOMAIN.DE&myip='.$text;
     $quelltext = $browser->get($url, @ns_headers);
     $gtext = $quelltext->content;
     $gtext =~ s/\n//g;
 
     $url = 'https://SUBDOMAIN.dnshome.de:[email protected]/dyndns.php';
     $quelltext = $browser->get($url, @ns_headers);
     $htext = $quelltext->content;
     $htext =~ s/\n//g;
     }
  else
   {
#     goto neu;
     $text = $text.'    Schleife';
    };

($sec,$min,$hour,$mday,$mon,$year,$wday,$ydat,$isdst) = localtime();
$year = $year + 1900;
$mon = $mon +1;
$ausgabe = sprintf (" %02d-%02d-%4d %02d:%02d:%02d  %s   Google: %s   Dnshome: %s\n", $mday, $mon, $year, $hour, $min, $sec, $text, $gtext, $htext );

open (FILE, ">>","D:/htdocs/cgi-bin/dyndnstest.txt");
print FILE "$ausgabe";
close (FILE);

goto neu;
 
exit;

Das Script "updater.pl" liegt bei mir im Verzeichnis D:/htdocs/cgi-bin und dort liegen dann auch die txt Dateien. Es muss kein cgi-bin sein, man kann jedes normale Verzeichnis verwenden.
Aufruf in der Powershell:
Code:
PS D:\htdocs\cgi-bin> c:\strawberry\perl\bin\./perl D:\htdocs\cgi-bin\updater.pl
Inhalt einer bat Datei, die im Autostart Ordner verlinkt werden kann:
Code:
start /B C:/strawberry/perl/bin/wperl D:/htdocs/cgi-bin/updater.pl
Für weniger Infos in dem log-File "dyndnstest.txt" muss "goto neu;" entkommentiert werden. Aber zum Spielen (dyndnstest_cache.txt löschen, Netzwerk unterbrechen am PC, neue IP des ISP) kann man sich das mal eine Weile angucken.
Der Test auf gültige IPv6 ist eingeschränkt und setzt sieben ":" und mindestens ein Zeichen davor|dazwischen|dahinter voraus, was bei meinem PC (Telekom-Anschluss) gegeben ist.

IPv4 und IPv6:
  • Bei Google Domains geht dies nicht, weil die IPv4 die IPv6 ersetzt und umgekehrt. Genauso steht es auch bei Google: "A- oder AAAA-Eintrag".
  • Bei dnshome könnte ich zusätzlich die Abfrage mit https://ip4.dnshome.de/ im Script verwenden, weiß aber nicht, was ich an Stelle https://SUBDOMAIN.dnshome.de:[email protected]/dyndns.php für die Übertragung der IPv4 verwenden müsste. Ist eigentlich nicht nötig, weil ich die IPv4 auch über meinen Router (Edgerouter) für die Subdomain bekommen könnte. Mit ping -4 und ping -6 bekomme ich gültige Antworten für die selbe subdomain.dnshome.de .
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.