Freigabe für statische IPv6-Route (Subnet)

julizyfflich

Neuer User
Mitglied seit
24 Feb 2018
Beiträge
19
Punkte für Reaktionen
0
Punkte
1
Hallo,

ich brauche mal eure Unterstützung zu einem Thema, zu welchem ich - in dieser Konstellation - bisher nichts finden konnte:

Ausgangssituation

Ich habe in meinem lokalen Netzwerk einen Docker-Container aktiv, welchen ich nun auch per IPv6 anbinden will (war zuvor nur per IPv4 erreichbar). Die generelle Kommunikation via IPv6 in und aus dem Container funktioniert soweit, Details hierzu folgen weiter unten. Mein Problem ist aktuell, dass mein IPv6-Subnet aus dem Internet nicht erreichbar ist, und ich dieses nicht über die reguläre Freigabe (Internet > Freigaben) geöffnet bekomme.

Mein Setup sieht wie folgt aus:

Öffentliches Präfix2a02:xxxx:xxxx:4100::/56
Öffentliche Adresse der FritzBox2a02:xxxx:x000:d:cd68:7dbb:6d18:xxxx
Präfix des Heimnetzes2a02:xxxx:xxxx:4100::/64
ULA-Präfix im Heimnetzfd99:xxxx:xxxx:xxxx::/64
Adresse des Raspberry Pis, auf dem der Docker-Container läuft
ULA-Adresse
2a02:xxxx:xxxx:4100:22e5:3f04:e2a7:5221
fd99:xxxx:xxxx:xxxx:e9c3:d1b9:79a9:3634
Präfix des Docker-Container-Netzwerks2a02:xxxx:xxxx:4102::/64
Adresse des Raspberry Pis (Host) im Docker-Container-Netzwerk2a02:xxxx:xxxx:4102::1
Adresse des Containers im Docker-Container-Netzwerk2a02:xxxx:xxxx:4102::1111

Ich habe für das Subnet 2a02:xxxx:xxxx:4102::/64 in der FritzBox 6591 (7.13) unter Heimnetz > Netzwerk > Netzwerkeinstellungen > IPv6-Routen bereits die folgenden Routen angelegt (nur eine war gleichzeitig aktiv, nicht beide):

IPv6-Netzwerk 2a02:xxxx:xxxx:4102::
Präfixlänge 64
Gateway fd99:xxxx:xxxx:xxxx:e9c3:d1b9:79a9:3634 (ULA-Adresse des RPis)

IPv6-Netzwerk 2a02:xxxx:xxxx:4102::
Präfixlänge 64
Gateway 2a02:xxxx:xxxx:4100:22e5:3f04:e2a7:5221 (Öffentliche Adresse des RPis)

Bis hierher funktioniert soweit alles. Ich kann den Container vom Raspberry Pi aus via IPv6 anpingen, andersherum ebenfalls. Auch von anderen Geräten im Heimnetz kann ich den Container anpingen, sowie auch andersherum. Das Anpingen von z.B. google.de funktioniert aus dem Container ebenfalls.

Nun möchte ich den Container auch aus dem Internet erreichen und habe hierzu probiert, diesen von meinem vServer aus anzupingen, allerdings bekomme ich hierauf keine Reaktion:
Code:
[email protected] ~ # ping -6 -c 4 2a02:xxxx:xxxx:4102::1111
PING 2a02:xxxx:xxxx:4102::1111(2a02:xxxx:xxxx:4102::1111) 56 data bytes
^C
--- 2a02:xxxx:xxxx:4102::1111 ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3056ms
Das Anpingen des RPis im Docker-Netzwerk (2a02:xxxx:xxxx:4102::1), sowie das direkte Anpingen des Pis (2a02:xxxx:xxxx:4100:22e5:3f04:e2a7:5221) wurde (korrekterweise) von der FritzBox abgefangen:
Code:
[email protected] ~ # ping -6 -c 4 2a02:xxxx:xxxx:4102::1
PING 2a02:xxxx:xxxx:4102::1(2a02:xxxx:xxxx:4102::1) 56 data bytes
From 2a02:xxxx:x000:d:cd68:7dbb:6d18:xxxx icmp_seq=1 Destination unreachable: Administratively prohibited
From 2a02:xxxx:x000:d:cd68:7dbb:6d18:xxxx icmp_seq=2 Destination unreachable: Administratively prohibited
From 2a02:xxxx:x000:d:cd68:7dbb:6d18:xxxx icmp_seq=3 Destination unreachable: Administratively prohibited
From 2a02:xxxx:x000:d:cd68:7dbb:6d18:xxxx icmp_seq=4 Destination unreachable: Administratively prohibited

--- 2a02:xxxx:xxxx:4102::1 ping statistics ---
4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 3004ms
ip6tables habe ich auf dem Pi während der Tests komplett deaktiviert.

Ergriffene Maßnahmen

Während der folgenden Tests, hatte ich die statische Route auf die öffentliche Adresse des Pis aktiviert:

IPv6-Netzwerk 2a02:xxxx:xxxx:4102::
Präfixlänge 64
Gateway 2a02:xxxx:xxxx:4100:22e5:3f04:e2a7:5221 (Öffentliche Adresse des RPis)


Um dieses Problem zu beheben, habe ich nun versucht, die Freigaben der FritzBox entsprechend einzustellen. Dazu habe ich in erster Instanz die Option "PING6 freigeben." für den Raspberry Pi aktiviert.Nun funktioniert das Anpingen des Pis über die öffentliche Adresse (2a02:xxxx:xxxx:4100:22e5:3f04:e2a7:5221), das Anpingen der Docker-Adresse (2a02:xxxx:xxxx:4102::1) wird weiterhin geblockt (siehe oben) und das Anpingen des Containers selbst (2a02:xxxx:xxxx:4102::1111) gibt ebenfalls keine Antwort.

Ping Pi öffentlich (2a02:xxxx:xxxx:4100:22e5:3f04:e2a7:5221): Erfolgreich
Ping Pi Docker Host (2a02:xxxx:xxxx:4102::1): Administratively prohibited
Ping Container (2a02:xxxx:xxxx:4102::1111): Timeout


In Stufe 2 habe ich für den Pi zusätzlich die Option "Firewall für delegierte IPv6-Präfixe dieses Gerätes öffnen." aktiviert. Dies hat dazu geführt, dass der Pi weiterhin direkt erreichbar ist, aber nun sowohl die Adresse im Docker-Netzwerk, als auch der Container in einen Timeout laufen (wie bisher nur der Container selbst).

Ping Pi öffentlich (2a02:xxxx:xxxx:4100:22e5:3f04:e2a7:5221): Erfolgreich
Ping Pi Docker Host (2a02:xxxx:xxxx:4102::1): Timeout
Ping Container (2a02:xxxx:xxxx:4102::1111): Timeout


Für Stufe 3 habe ich zusätzlich die Option "Dieses Gerät komplett für den Internetzugriff über IPv6 freigeben (Exposed Host)." aktiviert, aber dies hat an der Situation nichts verändert.

Ping Pi öffentlich (2a02:xxxx:xxxx:4100:22e5:3f04:e2a7:5221): Erfolgreich
Ping Pi Docker Host (2a02:xxxx:xxxx:4102::1): Timeout
Ping Container (2a02:xxxx:xxxx:4102::1111): Timeout


Ich habe auch versucht, für den Container eine eigene Freigabe zu erzeugen, aber dort habe ich nur die Möglichkeit, den Interface Identifier der IPv6 einzutragen. Auch wenn mir nahezu klar war, dass dies erfolglos bleiben wird, habe ich dort dennoch die Adresse ::0:0:0:1111 konfiguriert und alle 3 oben genannten Optionen aktiviert. Aber dies hatte keine Auswirkung auf die Erreichbarkeit.

Ping Pi öffentlich (2a02:xxxx:xxxx:4100:22e5:3f04:e2a7:5221): Erfolgreich
Ping Pi Docker Host (2a02:xxxx:xxxx:4102::1): Timeout
Ping Container (2a02:xxxx:xxxx:4102::1111): Timeout


Leider bin ich langsam ratlos, was ich noch machen kann, damit das Subnet 2a02:xxxx:xxxx:4102::/64 öffentlich erreichbar ist. Falls jemand hierzu irgendeine Idee haben sollte, würde ich mich freuen, wenn ihr mir diese mitteilen würdet :)

Vielen Dank bereits vorab,

Julian
 

sonyKatze

Aktives Mitglied
Mitglied seit
6 Aug 2009
Beiträge
2,009
Punkte für Reaktionen
181
Punkte
63
Bevor ich mich jetzt in die ganzen IPv6-Netze einlesen … warum genau bekommt Dein Docker-Container keine IPv6-Adresse von der FRITZ!Box? Dann könnten wir uns das mit den Routen sparen und Du gibst einfach nur die MAC-Adresse in der FRITZ!Box an.
 

HabNeFritzbox

IPPF-Urgestein
Mitglied seit
12 Dez 2017
Beiträge
17,099
Punkte für Reaktionen
485
Punkte
83
Man kann beim Gerät in der FB auswählen ob man delegierte Subnet freigeben möchte. Wenn also Gerät via DHCPv6 nen Subnet anfordert wird es auch automatisch geroutet und mit den Haken auch vollständig freigegeben.
 

julizyfflich

Neuer User
Mitglied seit
24 Feb 2018
Beiträge
19
Punkte für Reaktionen
0
Punkte
1
Hallo, danke für die schnellen Antworten.

Bevor ich mich jetzt in die ganzen IPv6-Netze einlesen … warum genau bekommt Dein Docker-Container keine IPv6-Adresse von der FRITZ!Box? Dann könnten wir uns das mit den Routen sparen und Du gibst einfach nur die MAC-Adresse in der FRITZ!Box an.
Mir geht es darum, dass der Container eine feste IPv6-Adresse hat, die auch über Neustarts hinweg konstant bleibt, da ich in dem Docker-Container eine Pi-Hole-Instanz laufen lassen möchte, welche ich dann als DNSv6-Server in der FritzBox konfigurieren möchte. Zudem starte ich den ganzen Spaß via docker-compose, da habe ich bisher noch keine andere Möglichkeit gesehen, die IPv6 z.B. via SLAAC zu beziehen.

Man kann beim Gerät in der FB auswählen ob man delegierte Subnet freigeben möchte. Wenn also Gerät via DHCPv6 nen Subnet anfordert wird es auch automatisch geroutet und mit den Haken auch vollständig freigegeben.
Wo finde ich diese Option denn? Wenn ich unter Heimnetz > Netzwerk > Raspberry Pi (bearbeiten) nachschaue, sehe ich dort nichts von delegierten Subnets (Erweiterte Ansicht ist aktiv)
 

HabNeFritzbox

IPPF-Urgestein
Mitglied seit
12 Dez 2017
Beiträge
17,099
Punkte für Reaktionen
485
Punkte
83
Sorry, ich sehe gerade ist bei Portfreigaben, musst dort Gerät bearbeiten "Firewall für delegierte IPv6-Präfixe dieses Gerätes öffnen.".

Eine feste IP/Netz hast nicht als Privater Kunde, daher ändert sich es mit neuer Internet Verbindung. Klar diese kann Wochen/Monate halten, irgendwann wird diese doch mal getrennt und sei es weil FB neu startest für nen Update oder ähnliches.
 

julizyfflich

Neuer User
Mitglied seit
24 Feb 2018
Beiträge
19
Punkte für Reaktionen
0
Punkte
1
Das habe ich bereits ausprobiert, und das hat dazu geführt, dass zwar die "Destination unreachable: Administratively prohibited"-Meldung verschwand, allerdings die Pings dann in ein Timeout liefen.
 

sonyKatze

Aktives Mitglied
Mitglied seit
6 Aug 2009
Beiträge
2,009
Punkte für Reaktionen
181
Punkte
63
DNSv6-Server in der FritzBox konfigurieren möchte
Nur damit kein Missverständnis entsteht, nur zur Kontrolle: Du brauchst keinen DNS-Server auf IPv6, weil AAAA-Records – also IPv6-Adressen – auch über DNSv4 gehen. Außer Du willst unbedingt ein IPv6-only Netz aufbauen. Ganz andere Idee: Hast Du Dir mal angeschaut, wie die FRITZ!Box das macht? Die gibt ihren DNS-Server als Link-Local-Adresse raus. Kannst Du nicht diesen Weg gehen?
 

julizyfflich

Neuer User
Mitglied seit
24 Feb 2018
Beiträge
19
Punkte für Reaktionen
0
Punkte
1
Nur damit kein Missverständnis entsteht, nur zur Kontrolle: Du brauchst keinen DNS-Server auf IPv6, weil AAAA-Records – also IPv6-Adressen – auch über DNSv4 gehen. Außer Du willst unbedingt ein IPv6-only Netz aufbauen. Ganz andere Idee: Hast Du Dir mal angeschaut, wie die FRITZ!Box das macht? Die gibt ihren DNS-Server als Link-Local-Adresse raus. Kannst Du nicht diesen Weg gehen?
Hmm, kann sein, dass ich es auch falsch verstanden habe, aber wenn ich die IPv4 des Pi-Hole-Containers per DHCPv4 an die Clients verteilen würde, dann würde ja weiterhin der DNSv6-Server der FritzBox verwendet werden. D.h. IPv6-Requests würden dann ja am Pi-Hole vorbei, durch den FritzBox-DNSv6-Server zum externen DNS-Server geleitet werden, ohne gefiltert zu werden... Alternativ könnte ich natürlich auch IPv6 komplett deaktivieren, aber ich würde das Setup doch gerne auch zukunftssicher gestalten...

Die Variante der Fritzbox habe ich mir noch nicht im Detail angeschaut, da muss ich vielleicht mal nachlesen ;)
 

HabNeFritzbox

IPPF-Urgestein
Mitglied seit
12 Dez 2017
Beiträge
17,099
Punkte für Reaktionen
485
Punkte
83
Hast auch eine Pushmail bekommen? Ich habe Testweise mal aktiviert und ne Änderungsnotiz bekommen mit:
17.05.2020 13:32Exposed Host (*)-NAS (2003:xx:xxxx:xxxx::/62)-

Hast auch Ping6 auf dem RasPi freigegeben?

Du Hast oben was von /64 angegeben, bei mir wird /62 angegeben über die FB für das Subnet. Heimnetz hat /64.
 

sonyKatze

Aktives Mitglied
Mitglied seit
6 Aug 2009
Beiträge
2,009
Punkte für Reaktionen
181
Punkte
63
Wenn ich die IPv4 des Pi-Hole-Containers per DHCPv4 an die Clients verteilen würde, dann würde ja weiterhin der DNSv6-Server der FritzBox verwendet werden.
Du kannst den DNSv6-Server in der FRITZ!Box einstellen wie Du willst. Also dort Blödsinn eintragen. Du kannst sogar sagen, dass Du gar keinen DNSv6 verkündet haben willst. FRITZ!Box → Heimnetz → Netz → (Reiter) Netzeinstellungen → (Taste) IPv6.
 

julizyfflich

Neuer User
Mitglied seit
24 Feb 2018
Beiträge
19
Punkte für Reaktionen
0
Punkte
1
Hast auch eine Pushmail bekommen? Ich habe Testweise mal aktiviert und ne Änderungsnotiz bekommen mit
17.05.2020 13:32Exposed Host (*)-NAS (2003:xx:xxxx:xxxx::/62)-
Ja, die habe ich auch bekommen, allerdings in 2 Ausführungen:

Einmal mit 2a02:xxxx:xxxx:4100:22e5:3f04:e2a7:5221 und einmal mit 2102:xxxx:xxxx:4102::/64, beide als Protokoll "Exposed Host" und "an Computer" den Pi (mit jeweils einer dieser beiden Adressen).

Du Hast oben was von /64 angegeben, bei mir wird /62 angegeben über die FB für das Subnet. Heimnetz hat /64.
Hmm, seltsam... Ich kann mir das nur mit dem Default-Wert erklären, den die FritzBox bei Internet > Zugangsdaten > IPv6 > Bestimmte Länge für das LAN-Präfix anfordern (Default 62)
 

HabNeFritzbox

IPPF-Urgestein
Mitglied seit
12 Dez 2017
Beiträge
17,099
Punkte für Reaktionen
485
Punkte
83
@sonyKatze Man kann auch für IPv6 einen DNS im Heimnetz angeben.

@julizyfflich Kann sein dass der Docker Container einfach ganze blockt weil keine Freigabe offen ist? Wieso lässt Container über die Bridge laufen statt auf Host? Wegen 62, wenn bei dir 64 genannt wird, ist es ja ok. Evt. fordert mein NAS auch nur ein 62 an statt 64 und daher der Unterschied.
 
Zuletzt bearbeitet:

julizyfflich

Neuer User
Mitglied seit
24 Feb 2018
Beiträge
19
Punkte für Reaktionen
0
Punkte
1
Ich gehe heute Nachmittag / Abend mal in die Details und werde mal den Docker-Container, mit dem ich das Ganze teste, bereitstellen. Der Container läuft jedenfalls durch die docker-compose Konfiguration über ein separates Interface im Bridge-Mode.
 

julizyfflich

Neuer User
Mitglied seit
24 Feb 2018
Beiträge
19
Punkte für Reaktionen
0
Punkte
1
Habe ich geschrieben. Oder was meinst Du?
Ah okay, der Hinweis mit dem DNSv6-Server war nicht schlecht. Dann dürfte es prinzipiell auch ausreichen, wenn ich in der FritzBox einfach einen nicht existierenden DNSv6-Server konfiguriere. Dann sollten die Clients (in der Hoffnung, dass das keine Timeouts und damit vermeidbare Delays ergibt) nur noch die Möglichkeit haben, den Pi-Hole-Server via IPv4 zu kontaktieren, die IPv6-Adresse zur Domain zu bekommen, und damit weiter zu arbeiten...

Das werde ich mal ausprobieren und testen, ob das bereits ausreicht.

Allerdings würde mich - weil ich jetzt einfach neugierig bin - trotzdem interessieren, warum ich von Außen nicht auf die IPv6-Subnets drauf komme o_O
 

HabNeFritzbox

IPPF-Urgestein
Mitglied seit
12 Dez 2017
Beiträge
17,099
Punkte für Reaktionen
485
Punkte
83
Wieso gibst dort nicht die Adresse vom RasPi an? Wieso überhaupt im Docker und nicht direkt nativ? Oder wenn im Docker dann auf Host statt Bridge?

So wäre es Heimnetz, und müsstest auch keine Port für Container angeben. So hast im Heimnetz auch keine Beschränkungen, und wenn von extern Zugreifen möchtest, kannst reguläre Portfreigaben machen ohne Routen, Subnet freigeben oder ähnlichem.

Wenn PiHole nutzt, hoffe ich hast auch eigenen DNS drauf wie Unbound, dass Root Server direkt befragt werden, finde es widersinnig Google und co zu blocken für Werbung, um dann Google DNS als Resolver zu nutzen.
 

julizyfflich

Neuer User
Mitglied seit
24 Feb 2018
Beiträge
19
Punkte für Reaktionen
0
Punkte
1
So, nach ein paar Tagen des Ausarbeitens kann ich nun Rückmeldung geben.

Die Lösung, die bisher seht gut funktioniert, sieht vor, dass ich einen Docker-Container mit dem Pi-Hole habe, welcher ausschließlich via IPv4 erreichbar ist. Den DNSv6-Server in der FritzBox habe ich auf fd99:xxxx:xxxx:xxx(x+1):ffff:ffff:ffff:ffff (das x+1 soll bedeuten, dass ich das nächste Subnet angesprochen habe, um "zufälligen" Überschneidungen in den ULAs vorzubeugen) gestellt.

Das Pi-Hole spricht nun einen Unbound-Server im Docker-Container an (Danke für den Hinweis an dieser Stelle), welcher wiederum direkt die DNS-Root-Server kontaktiert (hatte bisher den Cloudflare-DNS im Pi-Hole konfiguriert).

Auf das Host-Network habe ich bei den Docker-Containern verzichtet, da ich zum einen die Abkapselung mag, zum anderen noch einen Nginx-Reverse-Proxy im Docker-Container laufen habe, welcher mit den getrennten Bridged Networks ohne Probleme zurecht kommt.

Letztendliches Fazit ist also, dass ich für den DNS-Server (Pi-Hole) lokal gar keine IPv6 benötige und auch mit der IPv4 im NAT sehr gut zurecht komme. Vollkommen sinnlos war das Fragen für mich aber nun doch nicht, da ich mein Setup so noch weiter optimieren konnte ;)

Vielen Dank an alle Beteiligten :)
 
Zuletzt bearbeitet: