DDNS - Kein IPv6 für "Anbieter Anpassen"?

Meeshaw

Benutzer
Mitglied seit
18. Jan 2017
Beiträge
24
Punkte für Reaktionen
1
Punkte
9
Hallo zusammen,

ich würde gerne mein AAAA Record über DDNS des Synology NAS aktualisieren, nur leider sehe ich keine IPv6 Variable dafür.
Kann mir jemand helfen?

Ich will sicherstellen das, sollte sich der Network Prefix mal ändern, ich mein NAS noch von extern erreichen kann.

Danke euch.


2023-07-22_23h11_56.png
 
Zuletzt bearbeitet:

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
13.766
Punkte für Reaktionen
3.740
Punkte
468
Es ist ein m.E. großes Manko beim DDNS-Client der Synology, dass dieser wohl nur IPv4 kann. Lediglich bei synology.me als DDNS-Provider kann man auch IPv6 updaten. Oder man braucht halt einen DDNS-Provider, bei dem in der Update-URL einfach gar nichts zu IP-Adressen angibt, und der dann die IP nimmt, über die die Verbindung reinkommt.
 
  • Like
Reaktionen: Meeshaw

Meeshaw

Benutzer
Mitglied seit
18. Jan 2017
Beiträge
24
Punkte für Reaktionen
1
Punkte
9
Alles klar, danke. Ich hatte die leise Hoffnung, dass es hier noch irgendein Trick gibt. Mein DNS Provider unterstützt zwar das Autodetect der IP Adressen, bei IPv6 wird allerdings nur die temporäre öffentlich angezeigt. Das bringt mir somit also nichts.
Dann werde ich wohl auf ein Cronjob ausweichen. Schade..
 

Meeshaw

Benutzer
Mitglied seit
18. Jan 2017
Beiträge
24
Punkte für Reaktionen
1
Punkte
9
Ich habe das jetzt mit einem Skript gelöst welches ich alle paar Stunden im Aufgabenplaner ausführe.

Quelle vom Skript

Bash:
#!/bin/bash

# Get public ipv6 address
ip=$(ip -6 addr list scope global $device | grep -v " fd" | sed -n 's/.*inet6 \([0-9a-f:]\+\).*/\1/p' | head -n 1)
USER=XXXXXX
PASSWORD=XXXXXX
URL=my.domain.com

# Exiting if ip address is empty
if [ -z $ip ];then
    echo "IP address is empty. Exiting!"
    exit 1
fi

# Exiting if ip address is unchanged
if [ $(cat address.txt) == "$ip" ];then
    echo "IP address is unchanged. Ending."
    exit 0
fi

#Make request to dns provider and set new ipv6
RESPONSE=$(curl "https://$URL:$PASSWORD@dyn.dns.he.net/nic/update?hostname=$URL&myip=$ip")

#echo $RESPONSE

# Return with code 0 if everything is ok and everything is ok, if ip address is in response
if [[ $RESPONSE =~ $ip ]];then
    echo "Finished. Everything is ok."
    
    #save ip address to address.txt to prevent updates on unchanged ip
    echo $ip > address.txt

    exit 0
else
    echo "Finished with errors!"
    exit 1
fi
 
  • Like
Reaktionen: nachrichten

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
13.766
Punkte für Reaktionen
3.740
Punkte
468
Ich würde sicherheitshalber noch die Variable "device" setzen. Sonst nimmt er immer die erste IPv6, die er findet.
 

Meeshaw

Benutzer
Mitglied seit
18. Jan 2017
Beiträge
24
Punkte für Reaktionen
1
Punkte
9
Danke für den Hinweis! Sieht jetzt so aus.

Bash:
#!/bin/bash

USER=XXXXXX
PASSWORD=XXXXXX
URL=my.domain.com
DEVICE=bond0

# Get public ipv6 address
ip=$(ip -6 addr list $DEVICE scope global | grep -v " fd" | sed -n 's/.*inet6 \([0-9a-f:]\+\).*/\1/p' | head -n 1)

# Exiting if ip address is empty
if [ -z $ip ];then
    echo "IP address is empty. Exiting!"
    exit 1
fi

# Exiting if ip address is unchanged
if [ $(cat address.txt) == "$ip" ];then
    echo "IP address is unchanged. Ending."
    exit 0
fi

#Make request to dns provider and set new ipv6
RESPONSE=$(curl "https://$URL:$PASSWORD@dyn.dns.he.net/nic/update?hostname=$URL&myip=$ip")

#echo $RESPONSE

# Return with code 0 if everything is ok and everything is ok, if ip address is in response
if [[ $RESPONSE =~ $ip ]];then
    echo "Finished. Everything is ok."
   
    #save ip address to address.txt to prevent updates on unchanged ip
    echo $ip > address.txt

    exit 0
else
    echo "Finished with errors!"
    exit 1
fi
 
Zuletzt bearbeitet:

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
13.766
Punkte für Reaktionen
3.740
Punkte
468
Wie kommst du auf "mngtmpaddr\ dynamic"? Ich dachte da eher an "eth0", "eth1" etc., je nachdem welcher LAN-Port genutzt wird.
 
  • Like
Reaktionen: Meeshaw

Meeshaw

Benutzer
Mitglied seit
18. Jan 2017
Beiträge
24
Punkte für Reaktionen
1
Punkte
9
(y)Habe ich im letzten Post nochmal angepasst.
Ich wollte damit nur erreichen das immer die globale Adresse gezogen wird und nicht die link local.
Da es aber eh nur eine globale gibt, macht das von dir genannte natürlich mehr Sinn, auf den Netzwerkport (bei mir bond0) einzuschränken.

1690372879543.png
 
Zuletzt bearbeitet:

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
13.766
Punkte für Reaktionen
3.740
Punkte
468
Meine DS1522+ hat beispielsweise 5 LAN-Ports. LAN1-4 (eth0-3) sind 1GBit, LAN5 (eth4) ist 10GBit. Angeschlossen sind LAN1 und LAN5.
Ohne die Device-Angabe hat das Script die IPv6 von LAN1 ermittelt.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Meeshaw

superwallah

Benutzer
Mitglied seit
08. Jun 2023
Beiträge
17
Punkte für Reaktionen
1
Punkte
3
Bash:
#Make request to dns provider and set new ipv6
RESPONSE=$(curl "https://$URL:$PASSWORD@dyn.dns.he.net/nic/update?hostname=$URL&myip=$ip")

Braucht he.net tatsächlich $URL:$PASSWORD vor der Update-URL und nicht $USER:$PASSWORD?
Bei Selfhost.de ist das anders.
 

Gunduran

Benutzer
Mitglied seit
19. Apr 2015
Beiträge
1
Punkte für Reaktionen
0
Punkte
1
Hallo Zusammen,
dafür braucht man mittlerweile kein Script mehr

DDNS-Einstellungen>
  • IPv4 deaktivieren
  • Bei IPv6 auf automatisch.
Falls das nicht funktioniert, ist nicht die richtige IPv6 Adresse im Netzwerkadapter eingestellt!
Man muss sicherstellen, dass man die wirklich globale Adresse auch sehen kann. Dies darf also nicht mit fd oder fe anfangen sondern wie bei mir z. B. 2a00: ....

Und so klappt es dann auch mit myds.me oder anderen synology Domänen
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
13.766
Punkte für Reaktionen
3.740
Punkte
468
Ja, aber halt nur bei Synology-DDNS.
 

Lightning

Benutzer
Mitglied seit
01. Mai 2019
Beiträge
8
Punkte für Reaktionen
1
Punkte
3
Servus,
@Gunduran: ich habe mir eine neue DDNS Adresse von Synology angelegt (synology.me). Entsprechend die Einstellungen im NAS gesetzt und ausprobiert. Erreichbar ist die DS nach wie vor bei mir leider nicht. Ich habe auch eine FB mit Glasfaseranschluss (Vodafone).
Gehts lediglich wenn man DS Lite auf einfaches DS umstellt? Oder habe ich vielleicht weitere Einstellungen übersehen?
Vielen Dank für eure Hilfe.
Gruß
 

Hagen2000

Benutzer
Mitglied seit
25. Mai 2016
Beiträge
339
Punkte für Reaktionen
117
Punkte
43
Bei einer FRITZ!Box musst Du im Rebind-Schutz eine Ausnahme für deinen Domainnamen erstellen. Ansonsten wird die Namensauflösung von der FRITZ!Box verweigert.
Mit DS Lite oder einfachem echten DS (= Dual Stack) hat das erst einmal nichts zu tun.
 
  • Like
Reaktionen: ctrlaltdelete


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat