Raspberry Pi VPN – Teil 5: Vorarbeiten für ein VPN unter IPv6

Raspberry Pi VPN

Der vorhergegangene Artikel hat sich mit dem Aufbau eines VPN-Servers unter IPv4 beschäftigt. Nun kommt das gleiche für IPv6. Da dieses Thema etwas umfangreicher ist, teile ich es auf zwei Beiträge auf. In diesem ersten erledigen wir die Vorarbeiten. Der Raspberry Pi wird grundkonfiguriert und im Heimnetzwerk angeschlossen. Dann werden wir überprüfen, ob er auch eine IPv6 Adresse hat. Wenn das der Fall ist können wir dynamisches DNS und eine Freigabe am Router einrichten – alles mit IPv6 versteht sich. Wem die Funktion eines Virtual Private Network noch nicht vertraut ist, oder wer sich unklar ist, ob er IPv4 oder IPv6 verwenden soll, dem empfehle ich die ersten drei Artikel dieser Serie.

Was wird benötigt

Diese Liste unterscheidet sich auf den ersten Blick nur wenig von der im vorangegangenen Artikel – die Feinheiten liegen bei den letzten drei Punkten. Also was brauchen wir für ein VPN unter IPv6:

  • Einen Raspberry Pi 3 oder neuer. Es geht sicher auch mit einem Raspi 2, aber der hat kein WLAN on board.
  • Einen LAN oder WLAN Anschluss für den Raspberry Pi im eigenen Heimnetzwerk.
  • Eine global routbare IPv6 Adresse für unseren Raspberry PI, deren Präfix aber periodisch wechseln darf.
  • Einen DDNS-Provider, der IPv6 unterstützt (das wird in diesem Artikel weiter unten erklärt)
  • Ein Android Smartphone als äußeren Tunnelendpunkt. Die Konfiguration erfolgt in einem späteren Artikel. Das Smartphone muss beim Tunnelbetrieb ebenfalls mit einem IPv6-Netzwerk verbunden sein.

Vorarbeiten

Raspberry Pi Grundkonfiguration

Kümmern wir uns zuerst um den Raspberry Pi. Wie man dessen Betriebssystem Raspbian aufspielt und grundsätzlich einrichtet, habe ich bereits öfter in meinem Blog beschrieben, so dass ich hier auf einen früheren Artikel verweise und nur kurz die Schritte dazu aufzähle.

  • Raspbian downloaden, und zwar die aktuelle Lite-Version. Wir werden den RasPi per SSH administrieren und brauchen keinen grafischen Desktop. Ich verwende Raspbian Stretch Lite in der Version vom 13.11.2018, aber jede neuere Version dürfte ebenso gut funktionieren.
  • Raspbian entpacken und auf die SD-Karte schreiben
  • SSH aktivieren
  • WLAN konfigurieren (nur falls WLAN verwendet werden soll, wer den RasPi per Kabel ans LAN anschließt, kann diesen Schritt überspringen.)
  • SD-Karte in den Raspberry Pi stecken und Raspi hochfahren.
  • Per SSH am RasPi anmelden (Rechnername: raspberrypi, Username: pi, Passwort: raspberry)
  • In raspi-config das Passwort ändern, einen anderen Hostnamen vergeben und die Localisation Options an deutsche Verhältnisse anpassen
  • Raspberry Pi neu booten.

Software richten wir jetzt noch nicht ein – zuerst braucht es ein paar weitere Vorarbeiten.

IPv6 für den Raspberry PI

Die gute Nachricht gleich zuerst: Unser Raspberry Pi hat bereits IPv6 aktiviert und eine (oder mehrere) IPv6 Adressen erhalten, obwohl wir weder am RasPi noch am DHCP-Server (Router) etwas dafür eingerichtet hatten. Wir sind noch per SSH mit dem Raspberry Pi verbunden und können das gleich mal mit ifconfig überprüfen:

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.167  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::7755:bf46:529:6c60  prefixlen 64  scopeid 0x20<link>
        inet6 2001:a61:3555:d001:caf0:a067:58b1:4753  prefixlen 64  scopeid 0x0<global>
        inet6 fd00::443c:43c5:6e21:e64e  prefixlen 64  scopeid 0x0<global>
        ether b8:27:eb:aa:f7:71  txqueuelen 1000  (Ethernet)
        RX packets 1530  bytes 144740 (141.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 700  bytes 132086 (128.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Ich habe hier nur das wlan0 Interface heraus kopiert, da mein Raspberry Pi keinen LAN Anschluss hat. Andernfalls wäre es Interface eth0. Wir sehen neben einer IPv4 Adresse hat der RasPi drei IPv6 Adressen. Ich kann im Rahmen dieses Artikels natürlich nicht IPv6 komplett erklären, aber ein paar Dinge können wir hier bereits erkennen:

  • Unter IPv6 kann ein Interface mehrere IP-Adressen haben und im Normalfall hat es das auch.
  • Die IPv6 Adressen konfigurieren sich quasi automatisch, ohne dass wir irgendwas per DHCP einrichten müssen, wie bei IPv4.
  • Ein Interface kann gleichzeitig IPv4 und IPv6 Adressen haben.

Lenken wir unser Augenmerk auf die zweite IPv6 Adresse, also die, die in meinem Beispiel mit 2001 beginnt. Das ist eine global routbare IPv6-Adresse, sie ist also im gesamten Internet nur einmal vorhanden und würde unser Router das zulassen, könnte sie auch aus dem Internet angesprochen werden. Woher weiß ich das? Man sieht es zum einen am Beginn des Präfix, wenn die ersten drei Bits binär = 001 sind, dann befinden wir uns in einem bereits zugewiesenen Bereich der globalen Unicast-Adressen. (Das kann man googeln oder ein schlaues Buch lesen.) Und diese drei Bits, durch eine 0 ergänzt, geben die hexadezimale 2 aus besagtem Adressbeginn 2001. Zum anderen entspricht der komplette Präfix also 2001:a61:3555:d001 genau dem Präfix, den meine Fritz!Box vom Provider erhalten hat.

Der Präfix ist die vordere Hälfte einer IPv6 Adresse (Präfix incl.Subnetzanteil). Die hintere Hälfte (64 Bit) nennt sich Interface ID und steht für das Endgerät.

Und damit kommen wir zum ersten Problem. Ich mache die selbe Abfrage wie eben einen Tag später und erhalte:

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.167  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::7755:bf46:529:6c60  prefixlen 64  scopeid 0x20<link>
        inet6 2001:a61:357f:2801:9e3b:68db:5992:3e4a  prefixlen 64  scopeid 0x0<global>
        inet6 fd00::443c:43c5:6e21:e64e  prefixlen 64  scopeid 0x0<global>
        ether b8:27:eb:aa:f7:71  txqueuelen 1000  (Ethernet)
        RX packets 15136  bytes 1499650 (1.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3332  bytes 488108 (476.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Man sieht es deutlicher, wenn ich die beiden global unicast Adressen direkt untereinander schreibe:

inet6 2001:a61:3555:d001:caf0:a067:58b1:4753  prefixlen 64  scopeid 0x0<global>
inet6 2001:a61:357f:2801:9e3b:68db:5992:3e4a  prefixlen 64  scopeid 0x0<global>

Während die erste und dritte IPv6 Adresse gleich geblieben sind, hat sich die 2. also die globale Unicast-Adresse verändert und zwar nicht nur im Präfix (erste Hälfte der Adresse) sondern ebenfalls in der Interface ID. Was ist passiert?

Bei IPv4 wissen wir, dass der Router täglich vom Provider eine neue IP-Adresse zugeordnet bekommt, während die internen Adressen unverändert bleiben. Zwischen interner und externer IPv4-Welt passiert NAT, die Network Address Translation. Die gibt es bei IPv6 aber nicht, weil auch interne Adressen global sein können. Trotzdem bekommt der Router täglich einen neuen IPv6 Präfix, den er an alle internen Geräte weitergibt. Aus Präfix

2001:a61:3555:d001

wird

2001:a61:357f:2801

Man sieht, dass der Anfang gleich bleibt und sich nur die hinteren Stellen verändern, was durchaus zu erwarten ist, da alle Adressen aus dem Pool des selben Providers stammen. Aber warum ändert sich auch die Interface ID, also die zweite Hälfte der IPv6 Adresse, die für das Gerät steht? Die Antwort lautet:

Privacy Extensions

Diese Datenschutz-Erweiterungen wurden eingeführt, um einem Problem zu begegnen, das es bei IPv4 so deutlich nicht gibt. Wenn die Internet-Adresse meines Computers in meinem internen Netz (bis auf den wechselnden Präfix) immer global gleich bleibt, dann ist mein Rechner auch im Internet identifizierbar und anhand der IPv6-Adrresse trackbar. Das ist im Sinne des Datenschutzes natürlich nicht erwünscht, deshalb sorgen die Privacy Extensions dafür, dass die Interface ID nicht mehr von der MAC-Adresse des Interfaces abgeleitet wird und dass sie sich darüber hinaus regelmäßig ändert. Damit ist im Internet kein Zusammenhang meiner IP-Adresse von gestern mit der von heute ableitbar.

Was für einen Client einen Zugewinn an Sicherheit darstellt, ist für einen Server allerdings kontraproduktiv. Der soll ja immer unter der selben Adresse erreichbar sein. Das gilt auch für unseren VPN-Server, die Freigabe am Router, damit er aus dem Internet erreichbar ist, bezieht sich immer auf die selbe Interface ID. Deshalb können wir die Privacy Extension an unserem Raspberry Pi in diesem Fall nicht gebrauchen und werden dieses Feature abschalten.

Privacy Extensions abschalten

Dazu bearbeiten wir am Raspberry Pi eine Konfigurationsdatei mit:

sudo nano /etc/dhcpcd.conf

und kommentieren dort die Zeile slaac private aus. (ein # davor schreiben!) Danach ist ein Reboot des Raspberry Pi fällig. Bei der erneuten Kontaktaufnahme mit dem Raspberry Pi per SSH werden wir dann eine Warnung erhalten, weil die IP-Adresse nicht mehr zum gespeicherten Schlüssel passt:

ssh pi@raspi167
Warning: the ECDSA host key for 'raspi167' differs from the key for the IP address 'fd00::ba27:ebff:feaa:f771'
Offending key for IP in /home/helmut/.ssh/known_hosts:22
Matching host key in /home/helmut/.ssh/known_hosts:291
Are you sure you want to continue connecting (yes/no)? yes

Die Warnung bestätigen wir mit yes und schauen uns danach die IP-Adressen mit ifconfig an:

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.167  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fd00::ba27:ebff:feaa:f771  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::ba27:ebff:feaa:f771  prefixlen 64  scopeid 0x20<link>
        inet6 2001:a61:357f:2801:ba27:ebff:feaa:f771  prefixlen 64  scopeid 0x0<global>
        ether b8:27:eb:aa:f7:71  txqueuelen 1000  (Ethernet)
        RX packets 107  bytes 12566 (12.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 100  bytes 18343 (17.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Die IPv6 Adressen leiten sich nun von der MAC-Adresse (ether) ab und die Interface ID wird immer gleich bleiben.

Dynamisches DNS für IPv6 einrichten

Dynamischem DNS habe ich mich ausführlich in einem der vorhergegangenen Artikel gewidmet. Deshalb hier nur kurz:
Privatkunden erhalten von Ihren Internet Service Providern in der Regel keinen festen IPv6-Präfix, sondern einen, der sich regelmäßig (täglich) ändert. Wenn wir nun vom Smartphone aus einen VPN-Tunnel ins heimische Netz aufbauen wollen, müssen wir am Smartphone Kenntnis über die gerade aktuelle IPv6 Adresse des VPN-Servers haben. Deshalb bedienen wir uns der Hilfe eines DDNS-Dienstleisters im Internet, der uns jederzeit Auskunft über die aktuell gültige IPv6 Adresse geben kann.

Account bei einem DDNS-Dienstleister einrichten

Wichtig ist, dass der DDNS-Anbieter auch mit IPv6 umgehen kann, was nicht selbstverständlich ist. DDNS-Services können beispielsweise sein:

  • MyFRITZ! für alle Nutzer einer Fritz!Box. Wer über eine Fritz!Box mit dem Internet verbunden ist, der hat einen DDNS-Dienst quasi schon mit dabei und der kann auch IPv6. In der Konfigurationsoberfläche der Fritz!Box kann ein My!FRITZ-Konto eingerichtet werden mit Mailadresse, Nutzernamen und Passwort um damit die Fritz!Box aus dem Internet administrieren zu können. Danach können wir an der Fritz!Box unter Internet – Freigaben – MyFRITZ!-Freigaben eine neue Freigabe für unseren Raspberry Pi und Port 1194 anlegen. Als Schema können wir http:// auswählen, auch wenn das nicht stimmt – bei dem ermittelten DNS-Namen, lassen wir das führende http:// dann gedanklich einfach wieder weg. Die Fritz!Box richtet gleichzeitig auch eine IPv6-Freigabe ein, an der wir eine Korrektur vornehmen müssen. Unter Internet – Freigaben – IPv6 ergänzen wir für unseren VPN-Server die vorhandene TCP-Freigabe um einen zusätzlichen Eintrag für UDP und den Port 1194. (Nach Rückmeldung eines Lesers dieses Blogs im Januar 2021, legt MyFRITZ! immer auch einen IPv4 DDNS Eintrag an, der sich nicht separat löschen lässt. Damit ist MyFRITZ zwar sehr gut für Dual-Stack geeignet, für reines IPv6 aber eher weniger.)
  • Wer eigene Webseiten bei einem entsprechenden Provider hosten lässt, der kann dort mal nachsehen, ob nicht etwa ein DDNS-Dienst mit zum Dienstleistungsumfang gehört. Wenn ja und wenn der Dienst auch IPv6 beherrscht, dann hat diese Variante die Vorteile, dass es nichts zusätzlich kostet, dass wir eine Subdomäne unserer eigenen Domäne nutzen können und dass keine regelmäßigen Aktivierungen nötig sind. All-Inkl kann das zum Beispiel.
  • Für diejenigen, die keinen der beiden vorgenannten Varianten nutzen können oder wollen, finden sich zahlreiche Anbieter im Internet. Einfach mal googeln nach „DDNS IPv6 Anbieter„. Im Internet gibt es auch entsprechende Vergleichslisten. Die einzelnen Anbieter unterscheiden sich in folgenden Punkten: Manche sind kostenpflichtig, andere fordern statt dessen, dass man sich in regelmäßigen Abständen online in seinem DDNS Account einloggen muss. In jedem Fall muss der Anbieter IPv6 verstehen.

Allen dynamischen DNS Services ist gemein, dass man als Nutzer dort eine Subdomäne registriert – manchmal kann man dabei sogar zwischen verschiedenen Hauptdomänen wählen. Der eigene Internet Router oder der VPN-Server selbst meldet dann bei jedem Wechsel die aktuelle IP-Adresse an den Dienst und wir können diese jederzeit unter dem Namen der Subdomäne abfragen.

Ich verwende nachfolgend die dritte der oben aufgeführten Varianten und nehme deSEC beispielhaft als DDNS-Dienst. deSEC beherrscht IPv6, ist kostenlos und hat mir persönlich gut gefallen. Die Anmeldung erfolgt auf https://desec.io/#!/de/product/dyndns, dort geben wir eine Email-Adresse ein und unseren Wunschnamen für eine Subdomäne. Darauf hin bekommen wir ein Bestätigungs-Mail mit folgenden Informationen, die wir gleich noch brauchen werden:

url:      https://update.dedyn.io/
username: jsonp.dedyn.io
password: ykie2S7rLUF8nRYWXP34hhu9

Die Url bezeichnet den Internetnamen des DDNS-Servers und dazu erhalten wir einen Nutzernamen, der gleichzeitig auch der neue Domänenname unseres VPN-Servers ist, und ein Passwort. Der DDNS-Dienst ist nun bereit um Updates der IP-Adresse zu empfangen. Wenn das später einmal funktioniert, können wir jederzeit einen Status abrufen (die Adresse dazu wird ebenfalls im Bestätigungsmail mitgeteilt). Das sieht dann aus wie im Bild rechts.

IPv6 Adresse bei Änderungen an DDNS melden

Jetzt müssen wir nur noch die IPv6 Adresse des VPN-Servers an den DDNS-Dienst bei deSEC melden und zwar immer dann, wenn sie sich ändert. Bei IPv4 haben wir gesehen, dass der Internetrouter (Fritz!Box) den DDNS-Dienst beschickt, aber da ist es um die IP-Adresse des Routers selbst gegangen. Bei IPv6 müssen wir die Adresse des VPN-Servers melden – der Internetrouter scheidet hier also aus (es sei denn, wir wählen die Variante mit MyFRITZ!). Wenn der Internetrouter das nicht kann, dann liegt es nahe, den Raspberry Pi selbst dazu zu bewegen, seine IPv6 Adresse dem DDNS mitzuteilen. Und ein Raspberry Pi kann das natürlich. Das Tool der Wahl heißt ddclient und das müssen wir erst einmal installieren mit:

sudo apt install ddclient

Die Installation startet auch gleich einige Installationsabfragen. Ich verzichte hier auf einzelne Screenshots und beschreibe nur die jeweils nötigen Eingaben.

  • Anbieter des dynamischen DNS-Dienstes: anderer
  • Dynamischer DNS-Server: update.dedyn.io
  • Protokoll für die dynamische DNS-Aktualisierung: dyndns2
  • Benutzername für den dynamischen DNS-Dienst: <eigene Subdomäne>.dedyn.io (im Beispiel oben wäre das jsonp.dedyn.io)
  • Passwort für den dynamischen DNS-Dienst: <PW aus der Bestätigungsmail>
  • Passwortwiederholung: <dito>
  • Netzwerk-Schnittstelle für den dynamischen DNS-Dienst: wlan0 (bzw eth0, falls der RasPi am Kabel hängt)
  • Vollqualifizierte DynDNS-Domainnamen: <eigene Subdomäne>.dedyn.io (im Beispiel oben wäre das jsonp.dedyn.io)

Nach der Installation überprüfen wir zwei Konfigurationsdateien:

sudo cat /etc/ddclient.conf
# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf

protocol=dyndns2
usev6=if, if=wlan0
if-skip=Scope:Link
ssl=yes
server=update6.dedyn.io
login=jsonp.dedyn.io
password='ykie2S7rLUF8nRYWXP34hhu9'
jsonp.dedyn.io

Wichtig für IPv6 sind die Einträge usev6=if, if-skip=Scope:Link und server=update6.dedyn.io. Falls die nicht vorhanden sind, dann bitte ergänzen mit sudo nano /etc/ddclient.conf!

sudo cat /etc/default/ddclient
# Configuration for ddclient scripts 
# generated from debconf on Sa 16. Mär 19:34:10 CET 2019
#
# /etc/default/ddclient

# Set to "true" if ddclient should be run every time DHCP client ('dhclient'
# from package isc-dhcp-client) updates the systems IP address.
run_dhclient="false"

# Set to "true" if ddclient should be run every time a new ppp connection is 
# established. This might be useful, if you are using dial-on-demand.
run_ipup="false"

# Set to "true" if ddclient should run in daemon mode
# If this is changed to true, run_ipup and run_dhclient must be set to false.
run_daemon="true"

# Set the time interval between the updates of the dynamic DNS name in seconds.
# This option only takes effect if the ddclient runs in daemon mode.
daemon_interval="300"

In dieser Datei sollte alles stimmen, beim letzten Eintrag könnte man das Intervall zur Prüfung der eigenen IPv6 Adresse ändern. Gegen 300 Sekunden ist aber nichts einzuwenden. Als nächstes probieren wir ddclient von Hand aus mit:

sudo ddclient -force
SUCCESS:  updating jsonp.dedyn.io: good: IP address set to 2001:a61:359e:c01:ba27:ebff:feaa:f771

Im Falle von SUCCESS hat ddclient erfolgreich mit dem DDNS-Server kommunizieren können, dann sollte eine Check-Abfrage bei deSEC ein ähnliches Bid ergeben, wie weiter oben bereits dargestellt. Wenn kein SUCCESS kommt, dann stimmt die Konfiguration von ddclient nicht, oder der Raspberry Pi hat keinen Internetzugang. Als letztes prüfen wir, ob ddclient am Raspberry Pi als Daemon (Serverdienst) läuft mit ps ax. Irgendwo in der Prozessliste muss ddclient - sleeping for x seconds auftauchen, falls nicht, würde ich zuerst einen Reboot probieren.

Freigabe am Router einrichten

Wenn wir mit dem Smartphone aus dem Internet auf den VPN-Server im internen Heimnetz zugreifen wollen, dann genügt es nicht, den Namen unseres Raspberry Pi zu kennen oder abgeleitet davon dessen IPv6 Adresse. Damit das möglich wird, müssen wir am Internetrouter eine Freigabe einrichten. Die kann bei einer Fritz!Box wie folgt aussehen:

IPv6 Freigabe an einer FritzBox

Die Eingabemaske erreichen wir auf einer Fritz!Box unter Internet – Freigaben – IPv6- Neues Gerät. Dort wählen wir den Raspberry Pi aus, verwenden UDP und Port 1194. Der Router wird dann künftig aus dem Internet ankommende Pakete für den Raspberry Pi auf Port 1194 zu unserem VPN-Server durchlassen.

Vorarbeiten abgeschlossen

Dieser Artikel war recht umfangreich. Wir haben den Raspberry Pi grundinstalliert, die Privacy Extensions abgeschaltet, dynamisches DNS für IPv6 eingerichtet und dafür einen Uploader installiert und schließlich am Router eine Freigabe für den VPN-Server eingerichtet. Damit sind alle Vorarbeiten erledigt und wir können im nächsten Artikel die VPN Server Software auf dem Raspberry Pi installieren.

Zu kompliziert? Zu trockene Materie? Zu viel schwierige Netzwerk-Technik? Dann hier vielleicht mal kurz unterbrechen und vorab einen Blick in Artikel 11 werfen! Dort gibts zur Wiederholung und Vertiefung ein paar übersichtliche Netzwerkdiagramme.

Weitere Artikel in dieser Kategorie:

26 Kommentare

  1. olli

    hallo, danke für diese sehr schöne Anleitung :)

    versuche gerade auf dem raspi einen VPN-Server einzurichten.

    wenn ich wg0 mit ifconfig anzeige, wird keine ipv6 Adresse angezeigt:
    wg0: flags=209 mtu 1420
    inet 10.6.0.1 netmask 255.255.255.0 destination 10.6.0.1
    unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 1000 (UNSPEC)
    RX packets 0 bytes 0 (0.0 B)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 0 bytes 0 (0.0 B)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    Wie kann ich für wg0 eine ipv6 adresse bekommen?

    Antworten
    1. Helmut (Beitrag Autor)

      Was ist denn wg0 für ein Interface?

      Antworten
  2. Ali

    Hallo,

    ich finde, dass das eine sehr gute Anleitung ist. Jedoch bin ich auf einige Probleme gestoßen.
    1. Bei der Registrierung auf deSEC hab ich keine e-Mail mit username und password zugeschickt bekommen, ich habe das Passwort anschließend geändert um eins zu haben, ich denke mal nicht, dass das ein Problem sein sollte oder?
    2. Das zweite Problem ist, dass ich bei dem Befehl *ddclient -force* die Fehlermeldung
    file /var/cache/ddclient/ddclient.cache, line 3: Invalid Value for keyword ‚ip‘ = “
    bekomme. Eine Idee wie ich diesen Fehler beheben könnte?

    Meine aktuelle ddclient.conf:

    # Configuration file for ddclient generated by debconf
    #
    # /etc/ddclient.conf

    protocol=dyndns2
    usev6=if, if=eth0
    ssl=yes
    server=update.dedyn.io
    login=****.dedyn.io
    password=****
    ****.dedyn.io
    (Passwort und Domain hab ich ausgeblendet).

    Meine ddclient.cache Datei:

    ## ddclient-3.8.3
    ## last updated at Sat Mar 28 13:38:17 2020 (1585402697)
    atime=1585402697,backupmx=0,custom=0,host=****.dedyn.io,ip=,mtime=0,mx=,script=/nic/update,static=0,status=noconnect,warned-min-error-interval=0,warned-min-interval=0,wildcard=0,wtime=0 provadis.dedyn.io

    Hoffe, dass man mir helfen kann.

    Was ich noch fragen wollte: Ist es möglich die aktuellen Informationen zu der Domain, wie sie oben abgebildet ist auch im Nachhinein über eine grafische Oberfläche einzusehen oder ist das nur noch über Kommanozeile möglich?

    Beste Grüße

    Antworten
    1. Helmut (Beitrag Autor)

      Hallo Ali,
      in der Cachedatei steht in Zeile 3 u.a.nur „ip=“ und nicht die IPv6 Adresse Deines RasPi. Das würde ich so interpretieren, dass ddclient keine IPv6 ermitteln konnte. Also mal checken, ob der Interfacename stimmt und das Interface auch eine IPv6-Adresse hat.
      Deine Frage: „Ist es möglich die aktuellen Informationen zu der Domain, wie sie oben abgebildet ist auch im Nachhinein über eine grafische Oberfläche einzusehen oder ist das nur noch über Kommanozeile möglich?„.
      Bezieht sich das auf ddclient oder deSEC? Am Raspberry oder am Smartphone? Welche Informationen möchtest Du denn angezeigt bekommen?

      Antworten
  3. Sven

    Hi Helmut,
    vielen Dank für deinen sehr informativen und für mich auch verständlichen Seiten! ;-)
    Ich habe nun den dyndns eingerichtet bekommen und mit success beantwortet worden.
    Aber wenn ich meine IPv6 vom Netz (http://www.ipv6now.com.au/pingme.php) an Pingen möchte kommt immer „icmp_seq=1 Destination unreachable: Administratively prohibited“. Ist das in diesem Zustand noch egal oder habe ich irgend ein Problem mit Firewall oder ähnlichem? Dieses Pingen ist im Teil 13 zum beginn beschrieben aber dieses läuft bei mir nicht.Hättest du mir diesbezüglich eine Idee.

    Antworten
    1. Helmut (Beitrag Autor)

      Vorsicht mit Teil 13, dort beschreibt Gastautor Stefan ein etwas anderes Szenario.
      Wenn der Ping über die IPv6-Adresse (also nicht über den Domänennamen) fehlschlägt, kann es nichts mit DynDNS zu tun haben, weil eine Namensauflösung bei diesem Ping nicht stattfindet.
      Meine Vermutung wäre die Freigabe an der Fritzbox. Hast Du die eingerichtet?

      Antworten
  4. Sven

    Gut dass es bei Teil 13 um etwas anders dreht war mich schon klar aber das ich nicht auf dem Pi komme aus dem Internet ist schon irgend wie komisch.
    Habe die udp 1194 wie angegeben eingerichtet und den Haken beim Ping v6 gesetzt. Habe es auch mal versucht alle Haken zu setzen aber ich bekomme eine Verbindung mit dem Pi hin. Mit der Fritzbox IP geht es zwar, aber mit den 2 IPv6 vom Pi eben nicht. Gibt es in der Fritz box noch was wo die Firewall irgend wie öffnen würde für dir IPv6 des Pi’s? Auch die IPv6 die im Freigabefenster des Ports stehen ging nichts. Weiß leider nicht wo ich nun weiter machen soll. Glaube aber auch dass ich in diesem Zustand nicht weiter machen muss mit dem VPNTunnel.
    Habe dann noch versucht bei „Internet“ „Zugangsdaten“ „IPv6“ den „Globale Adresse automatisch aushandeln“ markiert war zu ändern aber ab dann läuft das Internet nicht mehr. Glaube dass mein Provider mir irgendwie das Leben schwer macht. Und für die Leichte Lösung mit einer IPv4 Adresse wollen sie 2,50€ pro Monat was ich wirklich nicht einsehe.

    Antworten
    1. Helmut (Beitrag Autor)

      Lässt sich der Raspberry denn im internen Netz mit seiner globalen IP pingen?
      Versuch mal nicht diese Ping-Webseite zu verwenden – wer weiß, ob nicht die ein Problem hat. Nimm lieber alternativ eine Ping-App am Smartphone. Damit kannst Du es im WLAN und im mobilen Internet testen.

      Antworten
  5. Sven

    Wäre ne nette Idee aber auf dem Land ist leider nicht so viel los mit GSM Empfang.
    Habe nun mein Problem auch gelöst.
    In der Freigabe der Fritzbox steht der „Interface Identifier“ aber leider sind die 2 mittleren Bytes für die statische Suffix nicht wie es gehört auf „ff fe“ ergänzt sondern mit irgend welchen Ziffern. Habe diese 2 dann von Hand in der Fritzbox geändert und ab dann gibt es auch Pings, vom Handy(beim Sonntagsspaziergang) und über die oben genannte Internetseite. Weiß nun nicht ob das kommt wenn man die Freigabe vor dem umstellen auf „slaac“ auf „hwaddr“ macht oder sonst die Reihenfolge nicht einhält. Leider müsste aber noch das 2te Bit des ersten Bytes der MAC Adresse gedreht werden aber das habe ich bis dato noch nicht gemacht. Ebenso habe ich noch den Haken bei „Firewall für delegierte IPv6-Präfixe dieses Gerätes öffnen“ in der Freigabe der Fritzbox gesetzt. Was nun den letztendlichen Ausschlag gab kann ich leider nicht mehr sagen.
    Hoffe ich konnte damit anderen Helfen denn dieses Problem ist wohl weit verbreitet aber da ja, wie es sich gehört, die meisten ihre IPv6 Adressen unkenntlich machen sieht man es eben auch nicht! :-/

    Antworten
    1. Helmut (Beitrag Autor)

      Die Privacy Extensions müssen in der Tat abgeschaltet werden, bevor man die Freigabe an der Fritzbox macht, sonst trägt man dort die falsche Interface-ID ein.

      Antworten
  6. Gunther

    Mein Raspi hat auf eth0 2 IPv6, eine mit prefixlen 64, welche aus ether abgeleitet ist und eine mit prefixlen 128. DDCLIENT überträgt leider die mit 128….

    Wie bekomme ich DDCLIENT dazu die IPv6 mit prefixlen 64 zu übertragen?

    Antworten
  7. Jens

    Puh, nach langem probieren, habe ich endlich die Sache mit dyndns mit ipv6 hinbekommen. Der Trick war beim ddclient in der Config folgendes einzutragen:
    server=update6.dedyn.io
    Drauf gekommen bin ich als ich mir bei desec mal die fad angesehen hatte.
    (die 6 war das entscheidende). Nun klappt es.

    Vielleicht so als Tipp für andere….

    Antworten
    1. Helmut (Beitrag Autor)

      Vielen Dank Jens, für den Hinweis. Ich hab es im Beitrag oben entsprechend geändert.

      Antworten
  8. Gunther

    Vielen Dank für den Tipp. Leider hat er noch keine Abhilfe geschaffen…

    ifconfig zeigt:
    inet6 2a02:8070:6192:3600:ba27:ebff:fe57:xxxx prefixlen 64 scopeid 0x0
    inet6 2a02:8070:6192:3600:1cf8:9cdf:3bda:6d0b prefixlen 128 scopeid 0x0

    DDClient überträgt leider trotz angepasstem Config File auf update6 noch den IPv6 mit prefixlen 128 und nicht den prefixlen 64

    sudo ddclient -force
    SUCCESS: updating xxx.dedyn.io: good: IP address set to 2a02:8070:6192:3600:1cf8:9cdf:3bda:6d0b

    Die IPV6 mit prefixlen 64 ist die von der MAC-Adresse des Interfaces abgeleitete IP die meines Erachtens nach übertragen werden muss – oder habe ich hier einen Denkfehler?

    Für jeden Tipp bin ich sehr dankbar!

    Antworten
  9. Robert

    Hi Gunther,
    ich habe dasselbe Problem. Hast du mittlerweile eine Lösung finden können?
    Viele Grüße!

    Antworten
  10. Ingo

    Hallo zusammen,

    mir ist nicht klar wie die „Variante mit MyFRITZ“ funktioniert.
    Hab ich nen Gedankenfehler?
    MyFritz schlüsselt mir lediglich meine IPV6-Adresse meiner Fitz-Box auf. Laut Beschreibung brauche ich aber eine Aufschlüsselung für meinen IPV6-Adresse vom VPN-Server, da es bei IPV6 kein Adress-Forwarding gibt.

    Vielen Dank schonmal für die Antwort und vielen Dank für den Autor dieser Homepage.
    Grüße Ingo

    Antworten
    1. Helmut (Beitrag Autor)

      Vollkommen richtig Ingo,

      aber es reicht nicht, lediglich MyFritz einzurichten. Du musst auch – wie oben im Text beschrieben – eine MyFritz-Freigabe (IPv6) für Deinen VPN-Server eintragen.

      Antworten
  11. Lars

    Ein kleiner Tipp bezüglich der Fritz Box. Wenn man den Part mit der IPv6 Interface-ID erledigt hat, muss man in der Fritz Box die Interface-ID manuell anpassen, weil noch die alte Interface-ID in der Fritz Box verharrt. Das war nämlich bei mir noch der Fall.

    Antworten
  12. Nick

    Hallo mit Bezug auf den Kommentar von Jens vom 9.11.2020.
    Bei mir funktioniert es nur, wenn ich den Server ohne die 6 (woher auch immer die kommen soll) angebe.

    Antworten
  13. Marcus

    Hallo,

    ich komme nochmal zurück auf den Beitrag von Gunther vom 16.11.2020.

    Konnte das Problem jemand lösen???

    Grüße

    Antworten
  14. Christian Scheibel

    Hallo Helmut, auch von mir ein dickes Danke für diese tolle Anleitung. Eigentlich hat bisher alles geklappt. Nur die Port Freigabe an der Fritz!Box scheint nicht so gehen. Aber ich fange mal lieber von vorne an.

    Mein PI hängt direkt per Kabel an der Fritz!Box die mit einen IPV6 Anschluss der Deutschen Glasfaser läuft.
    ifconfig liefert mir zwei IPV6 Adressen zurück, eine bei eth0 und eine bei Global. Ich habe für alles weitere die von eth0 verwendet und privacy natürlich deaktiviert. bei dedyn.io habe ich einen DynDNS Account angelegt. Auch das Update der Adresse habe ich eingerichtet. Das scheint alles zu gehen. Beim PingV6 der DynDNS (scheibel.dedyn.io) kommt die Antwort von meiner IPV6 Adresse des PI zurück.

    Aber der Portscan http://www.ipv6tech.ch/ liefert immer closed, und eine VPN Verbindung kann ich auch nicht herstellen.
    Selbst wenn ich in der Fritz!Box auswähle die Firewall komplett für dieses Gerät zu deaktivieren habe ich kein Erfolg.
    Hast du noch eine Idee was ich versuchen könnte um das Problem einzukreisen? Danke im Voraus!

    Gruß Christian

    Antworten
  15. Christian Scheibel

    Hallo Helmut,

    kaum schreibe ich es, habe ich es gefunden. An der Fritz!Box muss bei IPV6 folgende Einstellung gemacht sein.

    Aktivieren Sie die Option DHCPv6-Server in der FRITZ!Box für das Heimnetz aktivieren und Nur DNS-Server
    zuweisen.

    Und zack es geht. jetzt kann ich endlich weiter machen mich um das IPV4 vs. IPV6 kümmern.

    Antworten
  16. Bernd

    Hallo zusammen, irgendwo muss ich noch einen Denkfehler haben. Die Portfreigaben sind eingerichtet, allerdings gibt die Fritzbox die IPv6 nicht an Myfritz weiter, wenn sich diese ändert. Kennt jemand das Problem und weiß wie ich das lösen kann?
    Viele Grüße
    Bernd

    Antworten
  17. Rolf

    Hallo liebe Leute, ich probiere seit langer Zeit und bekomme keine Verbindung vom Raspi zum Internet. Ich bin nach Anleitung für IPv6 vorgegangen. Habe in Fritzbox meinen Raspi freigegeben, den Updateserver mit der 6 ergänzt aber ich bekomme keine Verbindung zu deSEC um meine DynDNS zu aktivieren. Ich bin langsam am verzweifeln.

    Gruß
    Rolf

    Antworten
  18. Trevon2

    Ich Scheitere ebenfalls. Ich glaube das liegt daran das mein Provider kein echtes ipv6 hat sondern 6RD nutzt.

    Falls dem nicht so ist, und das funktionieren kann/soll -> Bitte um aufklärung

    Antworten
  19. Chris

    Hallo Helmut,

    das ist eine der besten Anleitungen zu dem Thema! Herzlichen Dank dafür.

    Alles hat reibungslos funktioniert.

    Viele Grüße
    Chris

    Antworten

Schreibe einen Kommentar zu Helmut Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert