FRITZ!Box und mehrere IPv6 Adressen

Moin

Danke für dieses sehr coole Projekt! War in wenigen Minuten auf einer Ubuntu Server 18.04 VM installiert und läuft via IPv4 problemlos wie es scheint. Was mir etwas Kopfzerbrechen macht, ist die IPv6 Konfiguration im Zusammenspiel mit der FRITZ!Box 7490. Gefunden habe ich dies in der FAQ, was mich aber auch noch nicht ans Ziel bringt. Der Reihe nach:

FRITZ!Box -> Heimnetz -> Netzwer -> Netzwerkeinstellungen -> IPv6-Adressen:

  • Unique Local Addresses (ULA) immer zuweisen
  • ULA-Präfix manuell festlegen: fd00:::/64

Pi-hole Ubuntu Server 18.04 VM:

IP Adressen "geflushed" und neu gebootet, dann

ts@pihole:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether ba:2b:45:a0:df:37 brd ff:ff:ff:ff:ff:ff
    inet 192.168.205.204/24 brd 192.168.205.255 scope global ens18
       valid_lft forever preferred_lft forever
    inet6 fd00::7a2b:f87e:773c:b0c3/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 7119sec preferred_lft 3519sec
    inet6 2003:e3:63f3:7e00:b468:f8c:bfb6:dbaa/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 7119sec preferred_lft 1719sec
    inet6 fd00::b82b:45ff:fea0:df37/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 7119sec preferred_lft 3519sec
    inet6 2003:e3:63f3:7e00:b82b:45ff:fea0:df37/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 7119sec preferred_lft 1719sec
    inet6 fe80::b82b:45ff:fea0:df37/64 scope link
       valid_lft forever preferred_lft forever

Vielleicht eine blöde Frage, aber wo kommen die vielen IPv6 Adressen her und vor allem welchen ist die Adresse, die ich in der FRITZ!Box unter "Lokaler DNSv6-Server" eintragen muss?

Ich würde mich sehr über eine Antwort freuen!

Beste Grüße und schöne Feiertage!

Thorsten

Achtung, nur zwei Doppelpunkte verwenden!

Um die Schreibweise zu vereinfachen, können führende Nullen in den Blöcken wegfallen. Eine Folge von 8 oder mehr Nullen kann man einmalig durch zwei Doppelpunkte ("::") ersetzen.
Siehe: IPv6 - Internet Protocol Version 6

IPv6 funktioniert ein wenig anders als IPv4.
Mit IPv6 hat eine Netzwerkschnittstelle mehrere IP Adressen.
Auch kriegt der Client die Adresse nicht mehr vom Router zugewiesen, sondern er kriegt nur noch das Netzwerkpräfix zugewiesen. Die Adresse baut sich der Client danach selbst.
Dafür gibt es zwei gängige Wege. Zum einen baut er sich die Adresse aufgrund seiner MAC Adresse. Sofern Privacy Extensions aktiviert sind, was für einen Server bsp. recht ungünstig ist, baut sich der Client eine weitere Adresse aufgrund seiner MAC Adresse und dem ZeitstempelDaraus baut er sich dann einen SHA1 Hash Wert, den er so verwenden kann. Diese Adresse ändert ständig und ist somit nicht zu verwenden.

Bei einem Server, so wie es auch der PiHole ist, willst Du eine einfache IP Adresse.
Weise ihm deshalb eine eigene Adresse zu.

Zu den einzelnen Adressen findest Du hier etwas Lesestoff:

Da bei Dir Privacy Extensions aktiviert sind und so der Client die IP Adressen immer mal wieder ändert, schlage ich vor, Du weist Deinem Client eine fixe IPv6 Adresse zu.
Bsp: fd00::204 generiert aus 192.168.205.204
Diese Adresse kannst Du dann im PiHole verwenden.
Wenn Du keine fixen IP Adressen verwenden willst, so kannst Du die IP Adresse (ULA), welcher der Client aus der MAC Adresse generiert, nehmen.
In Deinem Fall dürfte das die hier sein: fd00::b82b:45ff:fea0:df37/64

Wichtig ist, dass PiHole aber auf die richtige IPv6 Adresse hört. Du findest diese Adresse unter Settings > System > PiHole IPv6 address
Sollte es nicht diese Adresse sein, musst Du händisch eingreifen. fd00::b82b:45ff:fea0:df37/64
Aus diesem Grund habe ich fixe IPv6 Adressen vorhin auch vorgeschlagen. Einmal fix konfiguriert und ruhe ist, ganz egal, welche Adresse wann unter welchen Umständen noch einmal ändert.

Moin

Herzlichen Dank für Deine ausführliche Antwort! Zwischenzeitlich habe ich mich auch ein wenig in IPv6 eingelesen damit ich Deine Ausführungen besser verstehe. Es funktioniert zwar noch immer nicht, aber ich habe den Eindruck, einer Lösung dennoch näherzukommen... :wink:

Hier einmal der Reihe nach alle Schritte, die ich bzgl. IPv6 Konfiguration von Pi-hole und der Fritzbox unternommen habe:

Netzwerkkonfiguration unter Ubuntu Server 18.04 LTS

Die Netzwerkkonfiguration erfolgt hier via netplan. Also habe ich - wie von Dir vorgeschlagen - eine feste IPv4 und eine feste IPv6 Adresse vergeben:

ts@pihole:~$ cat /etc/netplan/01-ens18.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    ens18:
      dhcp4: no
      dhcp6: no
      addresses:
        - 192.168.205.204/24
        - fd00::204/64
      gateway4: 192.168.205.1
      nameservers:
        addresses:
        - 192.168.205.1
        - 8.8.8.8

Fragen hier: muss ich ein "gateway6" (die IPv6 Adresse der Fritzbox) angeben? Und muss ich hier unter "nameservers" einen IPv6 Nameserver (ebenfalls die Fritzbox) angeben?

Damit sieht die Netzwerkkonfiguration dann so aus:

ts@pihole:~$ ip a
2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether ba:2b:45:a0:df:37 brd ff:ff:ff:ff:ff:ff
    inet 192.168.205.204/24 brd 192.168.205.255 scope global ens18
       valid_lft forever preferred_lft forever
    inet6 fd00::7a2b:f87e:773c:b0c3/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 7090sec preferred_lft 3490sec
    inet6 2003:e3:63ce:2400:38c0:989:75de:6602/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 7090sec preferred_lft 1092sec
    inet6 fd00::b82b:45ff:fea0:df37/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 7090sec preferred_lft 3490sec
    inet6 2003:e3:63ce:2400:b82b:45ff:fea0:df37/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 7090sec preferred_lft 1092sec
    inet6 fd00::204/64 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::b82b:45ff:fea0:df37/64 scope link
       valid_lft forever preferred_lft forever

Den oberen Teil ignoriere ich jetzt einfach mal. Aus der Ausgabe "inet6 fd00::204/64 scope global" folgere ich, dass das Interface die oben konfigurierte IPv6 Adresse erhalten hat. Soweit so gut!

Konfiguration FRITZ!Box 7490

Unter Heimnetz -> Netzwerk -> Netzwerkeinstellungen -> IPv4-Adressen:

Unter "Lokaler DNS Server" die IPv4 Adresse von Pi-hole (192.168.205.204) eingetragen.

Unter Heimnetz -> Netzwerk -> Netzwerkeinstellungen -> IPv6-Adressen:

  • Haken gesetzt bei "ULA Präfix manuell festlegen: fd00:(leer):(leer):(leer)/64. Ist das überhaupt nötig? Die Fritzbox hat die ULA fd00::464e:6dff:fedf:49e8/64.
  • Unter "DNSv6-Server im Heimnetz" Haken gesetzt bei "DNSv6-Server auch über Router Advertisement bekannt geben (RFC 5006)"
  • Unter "Lokaler DNSv6-Server" die IPv6 Adresse von Pi-hole (fd00:0:0:0:0:0:0:204) eingetragen.

Konfiguration Pi-hole

IPv6 Adresse konfiguriert...

ts@pihole:~$ cat /etc/pihole/setupVars.conf
PIHOLE_INTERFACE=ens18
IPV4_ADDRESS=192.168.205.204/24
IPV6_ADDRESS=fd00::204/64

...und Pi-hole neu gestartet mit

pihole -g

Alle beteiligten Rechner und Router sicherheitshalber einmal neu gestartet und/oder die DNS Caches geflushed (Windows).

Unter Windows erhält die NIC jetzt korrekt per DHCP als IPv4-DNS-Server die IP Adresse von Pi-hole (192.168.205.204). Nur unter IPv6-DNS-Server steht leider noch immer die IP Adresse der Fritzbox (fd00::464e:6dff:fedf:49e8/64) und nicht die Adresse von Pi-hole (fd00::204)???

Korrekt soweit? Was habe ich noch übersehen?

Besten Dank und einen schönen Restfeiertag!

Thorsten

PS: In Pi-hole unter Settings -> DNS steht nur ein IPv4 DNS Server (192.168.205.204 - die Fritzbox). Ist es sinnvoll hier auch die IPv6 Adresse der Fritzbox als DNS Server einzutragen?

Ja, ein Gateway solltest Du angeben, damit der Computer auch ins Internet kann.
Am besten gibst Du hier die fe80::xxx Adresse der FritzBox an.
Nameserver solltest Du ebenfalls vergeben.
Ich habe meine PiHoles so konfiguriert, dass sie sich selbst als DNS anfragen.

Genau, die anderen Adressen kannst Du ignorieren.

Hier reicht: fd00::204 Die vielen Nullen musst Du gar nicht schreiben.

Du musst Deiner FritzBox irgendwo noch mitteilen, dass sie per DHCP und RA die DNS Server dem Client jeweils mitteilt.

Ich habe mein Raspi so konfiguriert, dass er sich selbst abfragt. In der Adminoberfläche von PiHole unter Upstream DNS Servers habe ich dann die Adresse von Unbound (läuft auf der gleichen Kiste) eingetragen, also 127.0.0.1#5354 und ::1#5354

Somit fragen alle Clients im Netzwerk einer der beiden PiHoles ab. Dieser fragt, wenn er nicht weiter weiss, Unbound.

Hab ich gemacht:

Alle Clients erhalten korrekte IPv4 DNS Server Adressen. Windows-PCs erhalten jedoch noch immer die IPv6 DNS Server Adresse der Fritzbox und nicht von Pi-hole... :unamused:

Steht ja auch so da. Fritz!Box wird als DNS Server zugewiesen.
Deaktiviere DHCPv6. DNS Server werden per SLAAC und nicht per DHCPv6 bekanntgegeben. Wie gesagt, IPv6 funktioniert anders als IPv4

Ah, verstehe, klingt logisch. Habe ich jetzt gemacht. Trotzdem noch immer dasselbe Verhalten. Windows nutzt - aus welchen Gründen auch immer - noch immer die Fritzbox als IPv6 DNS.

Ich gebe es jetzt auf und verabschiede mich von Pi-hole. Nettes Projekt was ich aber irgendwie nicht mit vernünftigem Aufwand gescheit zum Laufen bekomme. Muss mich vielleicht erst noch intensiver mit IPv6 beschäftigen.

Ganz herzlichen Dank für Deine Hilfe!!!

Beste Grüße

Thorsten

Also wie mein Vorredner: DNS über RA advisen (hast du getan) und dann noch DHCPv6 deaktivieren (auf deinem Bild ist es an). Wähle "DHCPv6 deaktivieren" und dann den obersten Punkt. Danach sollte es funktionieren, habe ich bei mir auch am Laufen. Mit DHCPv6 an schickt er an die Clients auf die Fritzbox ipv6 Adresse.

Bedenke am Client unbedingt irgendwelche Lease Times. Gerade unter Windows musste ich beim Testen wirklich oft die Netzwerkkarte deaktivieren (oder mal IPv6 deaktivieren) , bis er das auch von der Lease her vergessen hatte.

OK, danke Euch! Ich probiere es am Wochenende nochmal in Ruhe!

IPv6 Kenntnisse helfen ganz sicher, die Thematik besser zu verstehen.
Ich kann dir dieses eBook hier empfehlen.
https://www.elektronik-kompendium.de/ebooks/collection-ipv6/

Hallo zusammen,

ich habe ein ähnliches Problem mit IPv6 und bin neu bei Pihole v5 eingestiegen.

Eingerichtet habe ich jetzt Pihole v5, Unbound und PiVPN. Grundsätzlich funktioniert auch soweit alles, jedoch fällt mir auf das unter Pihole --> Group management --> Clients ständig neue IPv6 Adressen der Clients auftauchen. Und da ich für meine Mitbewohner teilweise bestimmte Services freischalte, z.B. für ein bestimmtes Gerät den Zugang zu Facebook ist es relativ schwierig immer die richtigen IPv6 Adressen auszuwählen die notwendig sind.

Ich bin auch etwas verwirrt weil unter Heimnetz --> Heimnetzübersicht --> Netzwerkverbindungen --> "Pihole RaspberryPi" --> Details eine andere IPv6 Adressen angegeben ist als Pihole im Admin-Panel anzeigt?!?

Pihole ist als DNS Server in der Fritzbox hinterlegt worden:

  • Internet --> Zugangsdaten --> DNS-Server --> DNSv4-Server --> Raspberry IPv4-Adresse die fest vergeben wurde
  • Internet --> Zugangsdaten --> DNS-Server --> DNSv6-Server --> Dort habe ich die IPv6 fd00 Adresse des RaspberryPi aus der Fritzbox Heimnetzübersicht eingetragen (diese stimmt wie gesagt seltsamerweise nicht mit der IPv6 Adresse des Pihole Admin-Panel überein?!?)
  • Heimnetz --> Heimnetzübersicht --> Netzwerkeinstellungen --> IPv4-Adresse --> lokaler DNS-Server --> IPv4 Adressen (feste IP welche in der Fritzbox für den RaspberryPi hinterlegt ist und mit dem Admin-Panel übereinstimmt)
  • Heimnetz --> Heimnetzübersicht --> Netzwerkeinstellungen --> IPv4-Adresse --> lokaler DNS-Server --> IPv6-Adressen:
  • Unique Local Addresses (ULA) immer zuweisen, den ULA-Präfix habe ich NICHT manuell vergeben
  • DNSv6-Server im Heimnetz --> Dort habe ich die IPv6 fd00 Adresse des RaspberryPi aus der Fritzbox Heimnetzübersicht eingetragen (diese stimmt wie gesagt seltsamerweise nicht mit der IPv6 Adresse des Pihole Admin-Panel überein?!?)
  • DHCPv6-Server im Heimnetz habe ich unverändert gelassen, aber ich vermute das hier was geändert werden mus. Dort steht nämlich "Fritzbox als DNS-Server bekannt geben",m oder wird damit der darüber konifugrierte lokale DNS Server bekannt gegeben?!?

Mein Internetanbieter ist die Deutsche Telekom.
In der Fritzbox habe ich unter Internet --> Zugangsdaten --> IPv6 folgende Einstellungen

  • IPv6 Unterstützung aktiv
  • Native IPv6-Anbindung verwenden
  • Globale Adresse automatisch aushandeln
  • DHCPv6 Rapid Commit verwenden

Ich hatte heute angefangen alle IPv6 Adressen aus der Fritzbox --> Heimnetzübersicht --> Netzwerkverbindungen in die Client Übersicht des Piholes zu übertragen, aber das führt nicht zum Erfolg, trotzdem ich die komplette Liste mit 108 Einträgen manuell eingetragen habe sind schon wieder zwei neue IPv6 Adressen ohne Zuordnung aufgetaucht....

Ich hoffe mir kann jemand auf die Sprünge helfen wie man das löst.

Viele Grüße

1 Like

Ich teile dein Problem, wenn auch bei mir nur ein Device ständig neue IPv6-Adressen generiert. Ein Xiaomi-Telefon.

Mein Verdacht ist die Privacy Extension

https://www.elektronik-kompendium.de/sites/net/1601271.htm

Bisher habe ich leider keine Lösung gefunden.

Eine potentielle solche könnte der branch mac_clients sein. Hier werden die Devices dann über die Mac-Adresse definiert. Er befindet sich aber noch in der Entwicklung und mein erster Test funktionierte leider nicht.

Hallo,
Auch bei mir sind es nur einige Geräte. Die Amazon basierten (Stick+Tablet) und die Handys (Samsung). Ich dachte diese Privacies wirken nur auf die globalen Adressen. ULA und die local link Adressen sind doch theoretisch statisch?! Die sollen den IPV4 Standard im heimischen Netz erhalten. Liege ich hier falsch?

Die IPv6-Adresse, die im Pihole Admin Panel angezeigt wird, ist nicht immer die richtige. Diese Adresse galt nur, als Pihole eingerichtet wurde. Siehe z.B. hier: https://discourse.pi-hole.net/t/ipv6-adresse-unter-http-pi-hole-admin-settings-php/32047/3

Danke für eure Antworten. Schade das man das nicht deaktivieren, kann mit nur IPv4 Adressen bzw. statischen IPv6 Adressen wäre das deutlich übersichtlicher...

@Marcoblue: Ok gut zu wissen. Ist es bei dir vorgekommen das der Pi später nochmals seine IPv6 Adresse ändert?

Falls ihr eine Fritzbox habt würde mich interessieren ob ihr:

  • manuell den ULA-Präfix der Fritzbox definiert habt, wenn ja was für einen Vorteil bringt das?
  • Was habt ihr im Abschnitt " DHCPv6-Server im Heimnetz" eingestellt? Dort gibt es ja die Punkt

"DNS-Server, Präfix (IA_PD) und IPv6-Adresse (IA_NA) zuweisen", die Erläuterung dazu lautet:

"FRITZ!Box wird als DNS-Server via DHCPv6 bekannt gegeben. Teile des vom Internetanbieter zugewiesenen IPv6-Netzes werden an nachgelagerte Router weitergegeben. Geräte im Heimnetz bekommen eine IPv6-Adresse via DHCPv6 zugewiesen."

Insbesondere der letzte Abschnitt "Geräte im Heimnetz bekommen eine IPv6-Adresse via DHCPv6 zugewiesen." klingt ja danach als ob die Geräte nicht mehr wild die IPv6 Adressen selbst wählen können. Wobei ich nicht wie in der Erläuterung angegeben einen weiteren nachgelagerten Router habe...

EDIT: Bei mir sind es übrigens zwei Google Pixel 3 Smartphones und die Laptops die ständig neue IPv6 Adressen erzeugen...

EDIT: Gute Erläuterung zu dem Thema: IPV6, pi-hole, mehrere statische fd00 Adressen der Clients - #4 by Bucking_Horn

Also bei mir kam die Änderung der Adresse daher, dass meine Fritzbox 7490 einen Tag vor Weihnachten gestorben ist. Meine dann neue 7590 habe ich leider erst ins Heimnetz gebracht und danach die alte Config wieder eingespielt. So hatten viele Geräte danach ne neue IP.
Ich habe folgendes an:

  • Unique Local Addresses (ULA) immer zuweisen
  • DNSv6-Server auch über Router Advertisement bekanntgeben (RFC 5006) Mit FD00:... von Pihole
  • DHCPv6-Server in der FRITZ!Box für das Heimnetz aktivieren:
    - DNS-Server, Präfix (IA_PD) und IPv6-Adresse (IA_NA) zuweisen

Warum? Hab ich alles aus https://discourse.pi-hole.net/t/pi-hole-und-fritzbox-setup-anleitung/7313

I have the same issue, everytime that i re connect a device i get a new ipv6 assigned.
any solutions so far?

Wieso hast du genau diese Option aktiviert? Ich konnte dazu in dem verlinkten Faden nichts finden.

Not really, I found out until now:

  • I can manually assign my PCs fixed Fd00 addresses, but nevertheless the PCs still generating additional new Fd00 addresses...why? I don't know until now.
  • I can tell my Android smartphones that they can trust my WLAN and have to use the real MAC-Address in my home WLAN, but nevertheless the smartphones still generating additional new Fd00 addresses in my home WLAN...why? I don't know until now.
  • At the moment I use the group management feature only for clients which have no privacy extensions (fixed IPv6 addresses e.g. Xbox, Receiver...), all other clients (e.g. PCs, smartphones...) are only filtered with the default group
  • one possible solution could be to use the fe80 address but this is not possible for all use cases

Stimmt, das steht dort nicht. Ich hatte das irgendwo mal gelesen und funktioniert, deswegen habe ich es so gelassen. Aber nur DNS-Server zuweisen würde wohl auch reichen, denn wir arbeiten ja mit der ULA vom Pihole.
Deswegen ist auch folgendes wichtig:

  • DNSv6-Server auch über Router Advertisement bekanntgeben (RFC 5006)
  • Unique Local Addresses (ULA) immer zuweisen
1 Like