🌐 Schritt 6: Statische IPv4- und IPv6-ULA-Adressen konfigurieren
Da die FritzBox nur IPv4-Adressen statisch zuweisen kann und keine DHCP-Reservierungen für IPv6-Adressen (einschließlich ULAs) unterstützt, wird die Netzwerkkonfiguration auf dem Raspberry Pi 4 unter EndeavourOS manuell über NetworkManager (nicht systemd-networkd) vorgenommen. EndeavourOS verwendet standardmässig NetworkManager zur Verwaltung der Netzwerkschnittstellen; ein paralleler Betrieb von systemd-networkd würde zu Konflikten führen, da immer nur ein Netzwerk-Manager ein Interface kontrollieren sollte.
Die IPv6-Adresse nutzt dabei den in der FritzBox festgelegten ULA-Bereich (z.B. fd00::/64).
🌐 Statische IPv4 und IPv6 unter EndeavourOS (NetworkManager) konfigurieren
📘 Vorwort
Ausgangssituation:
Dem System wurde automatisch eine IPv6-Adresse im ULA-Bereich zugewiesen, z.B.:
fd00::abcd:1234:5678:9abc
Diese Adresse liegt im vom Router verteilten Präfix:
fd00::/64
Statt der automatisch generierten IPv6-Adresse wurde eine feste, manuell definierte Adresse im selben /64-Präfix eingerichtet:
fd00::2
Beide Adressen liegen im selben /64-Präfix und sind technisch gleichwertige
gültige Hostadressen innerhalb dieses Netzes.
Eine automatisch vergebene IPv6-Adresse kann durch eine feste, kürzere Adresse ersetzt werden, aber nur wenn:
- sie im gleichen
/64liegt - sie noch nicht verwendet wird
- sie nicht die Router-Adresse ist
🎯 Ziel
Eine persistente NetworkManager-Konfigurationsdatei unter
/etc/NetworkManager/system-connections/
erstellen und IPv4 sowie IPv6 statisch setzen.
Verwendet wird:
- NetworkManager
- nmcli
.nmconnection-Dateien- nicht systemd-networkd
⚙️ NetworkManager prüfen
Status prüfen:
systemctl status NetworkManager
Ist der Dienst nicht aktiv oder deaktiviert, dauerhaft aktivieren und sofort starten:
sudo systemctl enable --now NetworkManager
Nur neu starten (z.B. nach Konfigurationsänderung oder bei Netzwerkproblemen):
sudo systemctl restart NetworkManager
🔎 Eigene Netzwerkwerte ermitteln
Netzwerkschnittstelle ermitteln
ip link
→ Beim Raspberry Pi 4 lautet die Schnittstelle in der Regel end0.
(Falls abweichend, Namen in der Konfiguration anpassen.)
Aktuelle IP-Adressen anzeigen
ip addr show dev end0
Nur IPv4 und IPv6 kompakt anzeigen:
ip addr show dev end0 | grep inet | awk '{print $2}'
Beispiel:
192.168.0.164/24
fd00::abcd:1234:5678:9abc/64
fe80::abcd:1234:5678:9abc/64
- IPv4 = aktuelle Adresse im IPv4-Subnetz
- fd00::... = automatisch vergebene IPv6-Adresse im ULA-Präfix
- fe80:: = Link-Local-Adresse
IPv4-Gateway (Router) ermitteln
ip route
Beispiel:
default via 192.168.0.1 dev end0 proto static metric 100
Router IPv4 ist die Adresse hinter default via.
IPv6-Gateway und LAN-Präfix ermitteln
ip -6 route
Beispiel:
fd00::/64 dev end0 proto kernel metric 100 pref medium
fe80::/64 dev end0 proto kernel metric 1024 pref medium
default via fd00::1 dev end0 proto static metric 20100 pref medium
fd00::/64= LAN-Präfixdefault via fd00::1= Router IPv6
Nur Adressen aus genau diesem /64 dürfen statisch gesetzt werden.
📋 Voraussetzungen (Beispielwerte)
- Verbindung: "Kabelgebundene Verbindung 1"
- Interface: end0
- Router IPv4: 192.168.0.1
- Router IPv6: fd00::1
- Statische IPv4: 192.168.0.164
- Statische IPv6: fd00::2
1️⃣ Aktive Verbindung prüfen
nmcli connection show
nmcli -t -f NAME,DEVICE connection show --active
ip addr show dev end0
2️⃣ Statische IPv4 setzen
sudo nmcli connection modify "Kabelgebundene Verbindung 1" \
ipv4.method manual \
ipv4.addresses "192.168.0.164/24" \
ipv4.gateway "192.168.0.1" \
ipv4.dns "192.168.0.164"
Im Pi-hole Szenario technisch korrekt: ipv4.dns auf sich selbst.
3️⃣ Statische IPv6 setzen
sudo nmcli connection modify "Kabelgebundene Verbindung 1" \
ipv6.method auto \
ipv6.addresses "fd00::2/64" \
ipv6.dns "fd00::2"
Im Pi-hole Szenario technisch korrekt: ipv6.dns auf sich selbst.
Damit passiert technisch:
- fd00::2 bleibt statisch gesetzt
- Router Advertisements werden angenommen
- der Pi bekommt zusätzlich eine 2003:-Adresse
- Default-Route kommt automatisch via fe80::
- unbound kann IPv6 nutzen
4️⃣ Speicherung prüfen
nmcli connection show "Kabelgebundene Verbindung 1" | grep ipv4.method
nmcli connection show "Kabelgebundene Verbindung 1" | grep ipv6.method
Erwartet:
ipv4.method: manual
ipv6.method: manual
5️⃣ Verbindung neu aktivieren (SSH-sicher)
Kein vorheriges connection down ausführen.
sudo nmcli connection up "Kabelgebundene Verbindung 1"
Solange die bestehende IPv4-Adresse nicht geändert wird, bleibt SSH erreichbar.
6️⃣ Ergebnis prüfen
ip addr show dev end0
Erwartet:
IPv4:
192.168.0.164/24
valid_lft forever
kein dynamic
IPv6:
fd00::2/64
valid_lft forever
kein dynamic
7️⃣ Gateway prüfen
ip route
Erwartet: default via 192.168.0.1
ip -6 route
Erwartet:default via fe80::... dev end0 proto ra
Wichtig:
- Es muss eine "default"-Route vorhanden sein
- Das Gateway ist eine fe80::-Adresse (Router Link-Local)
- "proto ra" zeigt, dass die Route per Router Advertisement gesetzt wurde
8️⃣ Verbindung im LAN testen
ping 192.168.0.164
ping -6 fd00::2
9️⃣ Persistente Datei prüfen
sudo ls -la /etc/NetworkManager/system-connections/
Erwartet:
Kabelgebundene Verbindung 1.nmconnection
🔟 Konfigurationsdatei anzeigen
sudo cat "/etc/NetworkManager/system-connections/Kabelgebundene Verbindung 1.nmconnection"
Beispiel:
[connection]
id=Kabelgebundene Verbindung 1
uuid=f1234a22-abcd-4711-0815-1ab3cd2111f5
type=ethernet
autoconnect-priority=-999
interface-name=end0
timestamp=1770162032
[ethernet]
[ipv4]
address1=192.168.0.164/24
dns=192.168.0.164;
gateway=192.168.0.1
method=manual
[ipv6]
addr-gen-mode=default
address1=fd00::2/64
dns=fd00::2;
method=auto
[proxy]
🧠 Ergebnis
Der Pi besitzt nun:
- feste IPv4: 192.168.0.164
- feste IPv6 (ULA): fd00::2
- zusätzliche globale IPv6 (z.B. 2003:fd:773c:f000:… per SLAAC)
- Default-Route via fe80::… (Router Advertisement)
- Link-Local-Adresse fe80::… (immer automatisch vorhanden)
- persistente Konfiguration unter
/etc/NetworkManager/system-connections/
🔐 Pi-hole: Conditional Forwarding aktivieren
Optional: Integration mit Pi-hole
(wenn du auch Pi-hole 6 auf diesem Host eingerichtet hast)
Settings → DNS → Conditional Forwarding
Eintrag muss mit true aktiviert sein:
true,192.168.0.0/24,192.168.0.1,fritz.box
Nur dann werden lokale Hostnamen korrekt aufgelöst.
🖧 DNS in der FRITZ!Box setzen
Internet → Zugangsdaten → DNS-Server
Eintragen:
- DNSv4: 192.168.0.164
- DNSv6: fd00::2
📌 Zusammenfassung
- IPv6-Adresse muss im vom Router verteilten
/64-Präfix liegen - Lange automatisch vergebene Adresse kann durch kurze ersetzt werden
- NetworkManager bleibt aktiv
- Keine Verwendung von systemd-networkd
- Eigene Werte immer zuerst mit
ip addr,ip routeundip -6 routeermitteln