mirror of
https://github.com/pi-hole/docs.git
synced 2024-12-06 19:27:12 +01:00
Create IPv6 guide for Fritz!Box routers
Co-authored-by: Bucking-Horn Co-authored-by: yubiuser <ckoenig@posteo.de> Signed-off-by: Alexander Lieret <alexander.lieret@fau.de> Signed-off-by: DL6ER <dl6er@dl6er.de>
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 27 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 9.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 9.1 KiB |
@@ -2,7 +2,6 @@ Diese Anleitung soll die grundlegenden Prinzipien für ein reibungsloses Zusamme
|
||||
|
||||
!!! note "Hinweis"
|
||||
Es gibt nicht nur **die eine Art**, ein funktionierendes DNS-System aufzusetzen. Konfiguriert euer Netzwerk nach euren Bedürfnissen.
|
||||
Diese Anleitung wurde für IPv4 geschrieben und muss für IPv6 Netzwerke entsprechend angepasst werden.
|
||||
|
||||
### Erweiterte Ansicht aktivieren
|
||||
|
||||
@@ -90,3 +89,85 @@ Folgende Einstellungen müssen dafür vorgenommen werden:
|
||||
* **Local domain name (optional):** Name der lokalen Domän, für die Fritz!Box **fritz.box**
|
||||
|
||||

|
||||
|
||||
## Pi-hole als DNS Server via IPv6
|
||||
|
||||
Mit dieser Konfiguration bekommen alle Clients die IPv6 von Pi-hole als DNS-Server über DHCPv6 und Router Advertisement (RA/RDNSS, SLAAC) angeboten, wenn sie mit Ihrer Fritz!Box verbunden sind.
|
||||
|
||||
### Stabile IPv6 Adresse für den Pi-hole
|
||||
|
||||
Der folgende Abschnitt hilft dabei, eine geeignete IPv6-Adresse des Pi-hole auszuwählen.
|
||||
Um alle IPv6 Adressen anzuzeigen, die derzeit von Ihrer Hauptnetzwerkschnittstelle verwendet werden, öffnen Sie ein Terminal, ersetzen Sie `eth0` durch den Namen Ihrer Hauptschnittstelle (kann auch weggelassen werden) und führen Sie den Befehl aus
|
||||
|
||||
```bash
|
||||
ip -6 address show eth0
|
||||
```
|
||||
|
||||
The output should look like this but with different addresses
|
||||
|
||||
```bash
|
||||
$ ip -6 address show eth0
|
||||
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
|
||||
inet6 fd6f:95dc:3a80:e9b1:503e:b05a:21dc:cf0c/64 scope global temporary dynamic
|
||||
valid_lft 7159sec preferred_lft 3559sec
|
||||
inet6 fd6f:95dc:3a80:e9b1:4bc3:7bff:fe67:c175/64 scope global dynamic mngtmpaddr noprefixroute
|
||||
valid_lft 7159sec preferred_lft 3559sec
|
||||
inet6 2001:db8::1c5e:22fe:490c:1c31/64 scope global temporary dynamic
|
||||
valid_lft 7159sec preferred_lft 3559sec
|
||||
inet6 2001:db8::4bc3:7bff:fe67:c175/64 scope global dynamic mngtmpaddr noprefixroute
|
||||
valid_lft 7159sec preferred_lft 3559sec
|
||||
inet6 fe80::4bc3:7bff:fe67:c175/64 scope link noprefixroute
|
||||
valid_lft forever preferred_lft forever
|
||||
```
|
||||
|
||||
Bei der Auswahl von der IPv6 Adresse ist folgendes zu beachten:
|
||||
|
||||
* Vermeidung von global unicast addresses (GUA) (Bereich `2000::/3`)
|
||||
Ihr Internetprovider kontrolliert das GUA IPv6 Präfix, so dass es sich entweder regelmäßig oder bei einem Neustart des Routers ändern kann.
|
||||
In diesem Beispiel sollte die dritte und vierte Adresse, die mit `2001:` beginnen, nicht verwendet werden:
|
||||
* Vermeidung von Privacy Extension Adressen (markiert mit `temporary`)
|
||||
Die Schnittstellenkennung einer IPv6-Adresse ist so konzipiert, dass sie sich regelmäßig ändert, auf manchen Systemen sogar jede Stunde.
|
||||
In diesem Beispiel sollte die erste und die dritte Adresse vermieden werden.
|
||||
* Bevorzugung von unique local addresses (ULA) (Bereich `fd00::/8`) gegenüber der link-lokalen Adresse (Bereich `fe80::/10`)
|
||||
Das ULA-Präfix ist kontrollierbar und statisch. Letzteres ist nur in einem Netzwerk gültig und kann nicht geroutet werden.
|
||||
Dies kann für einfache Heimnetzwerke funkionieren, solange keine Pakete geroutet werden (wie bei Docker, einigen WiFi-Zugangspunkten, L3-Switches, ...).
|
||||
|
||||
In diesem Beispiel sind diese beiden Adressen verwendbar: `fd6f:95dc:3a80:e9b1:4bc3:7bff:fe67:c175` und `fe80::4bc3:7bff:fe67:c175` (mit Vorsicht).
|
||||
|
||||
Sollte Ihre FritzBox noch kein IPv6 ULA-Präfix vergeben, hilft der folgende Schritt bei der Konfiguration eines ULA-Präfixes.
|
||||
|
||||
### (Optional) ULA Adressen aktivieren
|
||||
|
||||
Unique local addresses (ULA) sind lokale IPv6-Adressen, die nicht über das Internet geroutet werden. Sie sind vergleichbar mit den privaten IPv4-Netzbereichen.
|
||||
|
||||
Zum aktivieren, wähle "Unique Local Addresses (ULA) immer zuweisen" aus in
|
||||
|
||||
```bash
|
||||
Heimnetz/Netzwerk/Netzwerkeinstellungen/IP-Adressen/IPv6-Konfiguration/Unique Local Addresses
|
||||
```
|
||||
|
||||
> Hinweis:
|
||||
Es wird empfohlen, das ULA-Präfix zu ändern, um Kollisionen mit anderen Netzen zu vermeiden.
|
||||
Die ersten 40 Bits sollten gemäß RFC4193 oder durch einen einfachen Online-Generator, wie [unique-local-ipv6.com](https://www.unique-local-ipv6.com/), erzeugt werden.
|
||||
Die restlichen 16 Bits sind die Subnetz-ID und können frei gewählt werden.
|
||||
Nach dem Auswählen von "ULA-Präfix manuell festlegen" kann man sein eigenes Präfix einstellen.
|
||||
|
||||

|
||||
|
||||
Um die neue Adressen zu erhalten, muss der Pi-hole Server kurz vom Netzwerk getrennt werden oder neu gestartet werden.
|
||||
Der [vorherige Schritt](#stabile-ipv6-adresse-für-den-pi-hole) sollte wiederholt werden, um die neue ULA Adresse anzuzeigen.
|
||||
|
||||
### Pi-hole als DNS Server verteilen
|
||||
|
||||
Nun kann die IPv6 Adresse des Pi-hole als "Lokaler DNSv6-Server" in
|
||||
|
||||
```bash
|
||||
Heimnetz/Netzwerk/Netzwerkeinstellungen/IP-Adressen/IPv6-Konfiguration/DNSv6-Server im Heimnetz
|
||||
```
|
||||
|
||||
eingetragen werden.
|
||||
|
||||
> Hinweis:
|
||||
Es wird empfohlen "DNSv6-Server auch über Router Advertisement bekanntgeben (RFC 5006)" auszuwählen.
|
||||
|
||||

|
||||
|
||||
@@ -2,7 +2,6 @@ This guide was developed using FRITZ!OS 07.21 but should work for others too. It
|
||||
|
||||
!!! note
|
||||
There is no single way to do it right. Choose the one best fitting your needs.
|
||||
This guide is IPv4 only. You need to adjust for IPv6 accordingly.
|
||||
|
||||
### Enable advanced settings
|
||||
|
||||
@@ -85,3 +84,83 @@ The following settings must be made:
|
||||
* **Local domain name (optional):** Fritz!Box uses **fritz.box**
|
||||
|
||||

|
||||
|
||||
## Distribute Pi-hole as DNS server via IPv6
|
||||
|
||||
Using this configuration, your Fritz!Box will offer Pi-hole's IPv6 as local DNS server to its clients via DHCPv6 as well as Router Advertisement (RA/RDNSS, SLAAC).
|
||||
|
||||
### Stable IPv6 address for your Pi-hole
|
||||
|
||||
The following section will help you picking a suitable IPv6 address of your Pi-hole.
|
||||
To show all IPv6 addresses currently in use by your main network interface, open a terminal, substitute `eth0` with your main interface name (or omit) and execute the command
|
||||
|
||||
```bash
|
||||
ip -6 address show eth0
|
||||
```
|
||||
|
||||
The output should look like this but with different addresses
|
||||
|
||||
```bash
|
||||
$ ip -6 address show eth0
|
||||
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
|
||||
inet6 fd6f:95dc:3a80:e9b1:503e:b05a:21dc:cf0c/64 scope global temporary dynamic
|
||||
valid_lft 7159sec preferred_lft 3559sec
|
||||
inet6 fd6f:95dc:3a80:e9b1:4bc3:7bff:fe67:c175/64 scope global dynamic mngtmpaddr noprefixroute
|
||||
valid_lft 7159sec preferred_lft 3559sec
|
||||
inet6 2001:db8::1c5e:22fe:490c:1c31/64 scope global temporary dynamic
|
||||
valid_lft 7159sec preferred_lft 3559sec
|
||||
inet6 2001:db8::4bc3:7bff:fe67:c175/64 scope global dynamic mngtmpaddr noprefixroute
|
||||
valid_lft 7159sec preferred_lft 3559sec
|
||||
inet6 fe80::4bc3:7bff:fe67:c175/64 scope link noprefixroute
|
||||
valid_lft forever preferred_lft forever
|
||||
```
|
||||
|
||||
When picking an IPv6 address from that list:
|
||||
|
||||
* avoid global unicast addresses (GUA) (range `2000::/3`)
|
||||
Your ISP controls your GUA IPv6 prefix it, so it may change, either regularly or on router restarts.
|
||||
In this example, don't use the third and fourth address, starting with `2001:`
|
||||
* avoid Privacy Extension (RFC 4941) addresses which are marked with `temporary`
|
||||
The interface identifier portion of an IPv6 address is designed to change regularly, on some systems as often as every hour.
|
||||
In this example, avoid the first and the third address.
|
||||
* prefer unique local addresses (ULA) (range `fd00::/8`) over the link-local address (range `fe80::/10`)
|
||||
You can control the ULA prefix and it is static. The later is only valid on a link and cannot be routed.
|
||||
This can be fine for simple home networks, but will break once packets are routed (like Docker, some WiFi access points, L3 switches, ...).
|
||||
|
||||
In this example, these two addresses are usable; `fd6f:95dc:3a80:e9b1:4bc3:7bff:fe67:c175` and `fe80::4bc3:7bff:fe67:c175` (with care).
|
||||
|
||||
If your FritzBox doesn't issue an IPv6 ULA prefix yet, refer to the following step which helps you configure an ULA prefix.
|
||||
|
||||
### (Optional) Enable ULA addresses
|
||||
|
||||
Unique local addresses (ULA) are local IPv6 addresses which are not routed on the internet. They are comparable to the IPv4 private network ranges.
|
||||
|
||||
To enable ULA addresses, select "Always assign unique local addresses (ULA)" in
|
||||
|
||||
```bash
|
||||
Home Network/Network/Network Settings/IP Addresses/IPv6 Addresses/Unique Local Addresses
|
||||
```
|
||||
|
||||
> Note:
|
||||
It is recommended to change the ULA prefix in order to prevent collisions with other networks.
|
||||
You should generate the first 40 bits according to RFC4193 or use a simple online generator, like [unique-local-ipv6.com](https://www.unique-local-ipv6.com/).
|
||||
The remaining 16 bits are the subnet id and are free to choose.
|
||||
Select "Set ULA prefix manually" and enter a custom prefix.
|
||||
|
||||

|
||||
|
||||
To obtain the new address, reconnect or reboot your Pi-hole server.
|
||||
Go back to the [previous step](#stable-ipv6-address-for-your-pi-hole) to display your newly created ULA address.
|
||||
|
||||
### Distribute Pi-hole as DNS server
|
||||
|
||||
It is now possible to enter Pi-hole's stable IPv6 address as "Local DNSv6 server" in
|
||||
|
||||
```bash
|
||||
Home Network/Network/Network Settings/IP Addresses/IPv6 Addresses/DNSv6 Server in the Home Network
|
||||
```
|
||||
|
||||
> Note:
|
||||
It is recommended to select "Also announce DNSv6 server via router advertisement (RFC 5006)".
|
||||
|
||||

|
||||
|
||||
Reference in New Issue
Block a user