Feste ULA / IPv6 im Heimnetz für OpenVPN und Pihole

meltinsands

New member
Hallo zusammen,

ich habe bisher meine OpenVPN Verbindung über IPv4 aufgebaut und möchte nun IPv6 ergänzen. Dazu ist es erforderlich, dass ich in der Fritzbox analog IPv4 eine statische Route zum OpenVPN Server sowie auch die Portfreigabe einrichte.

Bei IPv4 habe ich dazu für den OpenVPN Server (RaspberryPi) die IPv4 fest zugewiesen, doch bei IPv6 scheint das nicht so einfach zu gehen.

Kann mir jemand erklären, wie ich das lösen kann?

Viele Dank!
 
Die FritzBox kann keine definierbaren, festen IPv6-Adressen zuweisen. Das geht maximal mit einem richtigen DHCPv6-Server, dort kann man dann auch bei IPv6 statisches DHCPv6 machen. Allerdings erhältst Du im Normalfall "statische" ULA, wenn Du die Privacy Extensions (PE) abschaltest. Denn ohne die PE wird die InterfaceID einer IPv6 mittels EUI-64 aus der MAC berechnet und das liefert immer das gleiche Ergebnis.
 
Das heißt, ich würde dann mit "ip a ls |grep fd00" immer die gleiche Adresse erhalten und trage dann den Teil nach fd:: in Kombination mit der ULA als Gateway ein, korrekt?

Weißt du, warum man nicht die gesamte Adresse inklusive Präfix von fd00 angezeigt bekommt? Was ich meine, ist, dass ich nie die von mir hinterlegte ULA sehe, sondern scheinbar nur den Adressteil des Gerätes. Auch in der Fritzbox sehe ich nirgends die vollständige Adresse.
 
Das heißt, ich würde dann mit "ip a ls |grep fd00" immer die gleiche Adresse erhalten und trage dann den Teil nach fd:: in Kombination mit der ULA als Gateway ein, korrekt?
Ja, korrekt. Wenn Du die PE auf dem System abschaltest, dann wird die ULA automatisch sozusagen "statisch" und es wird immer die gleiche bleiben. So lange bis Du entweder die MAC-Adresse der Netzwerkkarte änderst oder ein neues ULA-Präfix definierst. ;) (Kleiner Scherz.)

Was soll das ls in "ip a ls"? Ich kenne den Befehl nur als "ip a".

Und was meinst Du mit dem Gateway? Den Teil verstehe ich nicht. Für gewöhnlich verwendet man im IPv6-Umfeld als Gateway tatsächlich eher LLA und nicht ULA. Das siehst Du z.B. auch dann, wenn Du Dir mal ein "route -6n | grep fe80" anschaust, da wird Dir auffallen, dass die Gateways jeweils LLAs sind.

Weißt du, warum man nicht die gesamte Adresse inklusive Präfix von fd00 angezeigt bekommt? Was ich meine, ist, dass ich nie die von mir hinterlegte ULA sehe, sondern scheinbar nur den Adressteil des Gerätes. Auch in der Fritzbox sehe ich nirgends die vollständige Adresse.
Nein, versteh ich nicht. Bei mir werden komplette Adressen angezeigt. Vielleicht kannst Du mal mit einem Screenshot zeigen?!

Dazu ist es erforderlich, dass ich in der Fritzbox analog IPv4 eine statische Route zum OpenVPN Server sowie auch die Portfreigabe einrichte.
Wobei mir jetzt gerade das noch aufgefallen ist. Was möchtest Du denn konkret haben? Soll von außen kommend ein VPN-Tunnel auf Basis von IPv6 aufgebaut werden können? Dann bringt Dir ULA mal gar nichts. Mich verwirrt das Wort "Portfreigabe" an der Stelle auch. Das impliziert nämlich, dass was von "außen" kommen soll. Das kann dann aber keine ULA sein, sondern muss eine GUA sein. Und auch hier ist es hilfreich die PE abzuschalten. Anschließend kannst Du eine "Portfreigabe" für die notwendigen OpenVPN-Ports für IPv6 machen und fertig.
 
Zuletzt bearbeitet:
Ich glaube, mir geht gleich ein Licht auf... (hoffe ich zumindest) 😁

Und: IPv4 ist Kindergarten gegen IPv6. Diese X verschiedenen Adressen und unterschiedlichen Typen machen es mir gerade etwas schwer, meine IPv4 Logik noch auf IPv6 zu übertragen.

Wenn ich dir mit LLA richtig folge, könnte ich die Privacy Extension aktiviert lassen, da die ULA nicht mehr eindeutig sein muss, wenn ich die LLA als Gateway nutzen kann, korrekt?

Bei "ip -6 addr" erhalte ich eine fe80:: Adresse mit dem Vermerk "valid_lft forever preferred_lft forever". Diese wäre also diejenige, welche sich nicht ändert und ich als Gateway eintragen kann?

Beispiel:
ULA des OpenVPN-Netzes ist fd:1111:1111:1111::/64
LLA des RPi/OpenVPN-Server ist: fe:2222:2222:2222:2222:2222:2222:2222

Ein Beispiel, wie ich es nun in der f!b eingeben würde, findest du anbei. Sieht das richtig aus? (Die Route muss natürlich noch aktiviert werden.)
 

Anhänge

  • Bildschirmfoto 2023-09-21 um 13.18.36.png
    Bildschirmfoto 2023-09-21 um 13.18.36.png
    68,4 KB · Aufrufe: 6
Zuletzt bearbeitet:
Ja, korrekt. So würde man eine statische IPv6-Route eintragen, in dem man sie auf die LLA (Link Local Address) des anderen Gateways zeigen lässt. Also im obrigen Beispiel würde in der FritzBox die LLA Deines OpenVPN-Servers eingetragen mit dem ULA-Präfix, das sich hinter ihm verbirgt.

Dabei handelt es sich beim einem Netz des Scopes fc00::/7 um sogenannte ULA (Unique Local Address), das sind "alle" Adressen zwischen fc00:000:000:000:000:000:000:0000 bis fdff:ffff:ffff:ffff:ffff:ffff:ffff:ffff. Der Subscope fc00::/8 ist dabei offiziell noch "reserviert" und sollte man global registrierte Private-ULA aufnehmen.

Was schwebt Dir denn nun vor? Willst Du "von außen" auch über IPv6 einen OpenVPN-Tunnel herstellen können oder möchtest Du in Deinem OpenVPN-Tunnel neben privaten IPv4 auch noch ULA-IPv6 "bereitstellen"?
 
Zuletzt bearbeitet:
Willst Du "von außen" auch über IPv6 einen OpenVPN-Tunnel herstellen können oder möchtest Du in Deinem OpenVPN-Tunnel neben privaten IPv4 auch noch ULA-IPv6 "bereitstellen"?

Wichtig war mir erstmal, dass ich mit OpenVPN über IPv6 auf mein Heimnetz zugreifen kann. Werde mir die nächsten Tage mal Zeit nehmen, den Server, die Clients und die Firewall umzustellen. Hoffe, da kommen keine neuen Stolpersteine mehr dazu.

Die Kommunikation über "bekannte IP Adressen" innerhalb des Netzes findet dann vermutlich der Einfachheit halber über IPv4 statt. Einen DHCPv6 Server möchte ich mir nicht extra zulegen. Die andere Option wäre, habe ich dich korrekt verstanden, die Deaktivierung der Privacy Extension. Weitere Vorschläge gerne willkommen!

Ich habe bisher über die CCD von OpenVPN eine feste IP der Clients im Servernetz 10.8.0.0 vergeben. Wäre so etwas auch bei IPv6 noch möglich: ifconfig-push fd00:aaa:bbb:ccc::10/64

Dabei handelt es sich beim einem Netz des Scopes fc00::/7 um sogenannte ULA (Unique Local Address), das sind "alle" Adressen zwischen fc00:000:000:000:000:000:000:0000 bis fdff:ffff:ffff:ffff:ffff:ffff:ffff:ffff.
Heißt das, /64 wäre in meinem Beispiel falsch?
 
Die Kommunikation über "bekannte IP Adressen" innerhalb des Netzes findet dann vermutlich der Einfachheit halber über IPv4 statt. Einen DHCPv6 Server möchte ich mir nicht extra zulegen. Die andere Option wäre, habe ich dich korrekt verstanden, die Deaktivierung der Privacy Extension. Weitere Vorschläge gerne willkommen!
Naja, eigentlich Hostnamen (FQDN) also ein ordentlich gepflegtes lokales DNS. Mal im ernst, wer will sich 128 Bit lange Adressen, die hexadezimal notiert werden merken?! Ich nutze bei mir im Heimnetz egal, ob IPv4 oder IPv6 eigentlich nie IP-Adressen, dafür habe ich meinen DNS-Server. Ich spreche alle Devices über ihren FQDN an.


Heißt das, /64 wäre in meinem Beispiel falsch?

Nein, die /64 sind nicht falsch, weil Du kein riesiges Präfix möchtest, sondern ein normales Client-Präfix und da ist /64 genau richtig.
 
Naja, eigentlich Hostnamen (FQDN) also ein ordentlich gepflegtes lokales DNS. Mal im ernst, wer will sich 128 Bit lange Adressen, die hexadezimal notiert werden merken?! Ich nutze bei mir im Heimnetz egal, ob IPv4 oder IPv6 eigentlich nie IP-Adressen, dafür habe ich meinen DNS-Server. Ich spreche alle Devices über ihren FQDN an.

Ich hatte mir das auch nicht vor zu merken, aber zum Beispiel nutze ich eine NAS im Client Netz für Backups und da ist eine feste IP schon vorteilhaft. IPv6 unterstützt das System aber ohnehin noch nicht.

Wenn mir mal danach ist, welchen DNS Server nutzt du?

Das mit der CCD weißt du nicht zufällig? Probiere es ansonsten einfach mal aus.
 
Für den Start könntest Du so ziemlich alles mit PiHole abbilden. Alternativ geht auch der Unbound DNS. Von Vorteil ist auf jeden Fall das deaktivieren der PEs, weil Du dann "stabile" ULA für alle Geräte hast. Als "Nebeneffekt" allerdings auch "stabile" GUA. Wobei ich persönlich das mit den Privacy Extenstions übertrieben finde und es nervt mich mehr als das es was nützt. :D
 
Zuletzt bearbeitet:
Bitte nochmal um kurze Störung ;)

Ist mir jetzt erst aufgefallen, dass mir bei der fe80:: kein weiteres Präfix angezeigt wird und ich quasi nur die InterfaceID sehe. Ich habe daher die Stellen in der IPv6 Route leer gelassen. Ist das so richtig? (ich vermute es)

FYI: Im Anhang geht die erste Route zum VPN Netz und die zweite Route zum Client Netz. Das Gateway ist jeweils der VPN Server.
 

Anhänge

  • Bildschirmfoto 2023-09-21 um 15.40.33.png
    Bildschirmfoto 2023-09-21 um 15.40.33.png
    48,7 KB · Aufrufe: 4
fe80::/10 ist das Präfix und steht für Link Local Adress... oder was meinst Du mit Präfix?
Wenn Du die beiden ULA-Netze etwas sinnvoller gewählt hättest, wärst Du auch mit einer Route hingekommen. :D
Dafür müssten es lediglich benachbarte Netze sein.

Die beiden ULA-Subnetze "fd00::ace:0/64" und "fd00::ace:1/64" könntest Du z.B. einfach mit fd00::ace:0/63 "abfrühstücken".
 
Das mit dem Abkürzen ist schon fortgeschritten, ich halte es erstmal einfach aber umständlich 😁 Aber Danke für den Hinweis!

Ich meinte, dass mir bei ip -6 addr nach dem Präfix fe80:: direkt die ID angezeigt wird. Also im Prinzip fe80:0:0:0:id:id:id:id. Scheint aber richtig zu sein und wollte nur sicher gehen.
 
Zurück
Oben