🌐 Schritt 6: IPv4- und IPv6-Adressen konfigurieren
📡 Statische IPv4- und IPv6-ULA-Adressen
Wenn die FRITZ!Box keine Möglichkeit bietet, für ein einzelnes Gerät eine feste IPv6-Adresse zu reservieren – auch nicht für eine ULA –, kann die IPv6-Adresse des Geräts manuell über NetworkManager eingerichtet werden, statt über systemd-networkd.
EndeavourOS verwendet standardmäßig NetworkManager zur Verwaltung der Netzwerkschnittstellen. Ein paralleler Betrieb mit systemd-networkd kann zu Konflikten führen, da ein Netzwerk-Interface grundsätzlich nur von einem Netzwerkmanager verwaltet werden sollte.
Die IPv6-Adresse verwendet den von der FRITZ!Box per Router Advertisement bereitgestellten ULA-Präfix (z.B. fd00::/64); der Hostanteil wird manuell festgelegt.
FRITZ!Box: Heimnetz → Netzwerk → Erweiterte Netzwerkeinstellungen → IPv6 → ULA-Präfix manuell festlegen
Für eine feste IPv4-Adresse gibt es zwei Möglichkeiten:
- DHCP-Reservierung in der FRITZ!Box: Bei der Einstellung „Diesem Netzwerkgerät immer die gleiche IPv4-Adresse zuweisen“ bezieht das Gerät seine Adresse weiterhin per DHCP. Die FRITZ!Box weist ihm dabei immer dieselbe Adresse zu. Das Gerät muss dafür so eingestellt sein, dass es seine IP-Adresse automatisch per DHCP bezieht.
- Manuell am Gerät eingetragene feste IP-Adresse: Sie sollte außerhalb des DHCP-Bereichs liegen, damit der DHCP-Server sie nicht versehentlich einem anderen Gerät zuweist. Außerdem muss die Adresse zum Heimnetz gehören und darf nicht bereits von einem anderen Gerät verwendet werden. Eine zusätzliche DHCP-Reservierung in der FRITZ!Box ist dafür nicht erforderlich.
Beispiele für feste IP-Adressen:
192.168.0.201→ Shelly 1192.168.0.202→ Shelly 2192.168.0.210→ Nuki-Hub192.168.0.240→ Raspberry Pi192.168.0.254→ LAN-Drucker- …
DHCP-Bereich: 192.168.0.2 bis 192.168.0.200
Bereich für manuell vergebene feste IP-Adressen: 192.168.0.201 bis 192.168.0.254
FRITZ!Box: Heimnetz → Netzwerk → Erweiterte Netzwerkeinstellungen → IPv4 → DHCP-Server aktivieren (von/bis)
Die Beispieladressen liegen außerhalb des angegebenen DHCP-Bereichs. Das ist vor allem bei manuell konfigurierten IP-Adressen wichtig. Bei einer DHCP-Reservierung verwaltet die FRITZ!Box die Zuordnung.
💡Alternative: DHCP und Zugriff über Hostnamen
Auf feste IP-Adressen kann verzichtet werden: Die Geräte beziehen ihre IP-Adressen automatisch per DHCP und werden über ihren Hostnamen angesprochen. Das funktioniert, sofern der lokale Namensdienst die Hostnamen auflöst – zum Beispiel über DNS oder mDNS (Multicast DNS). mDNS ermöglicht Geräten, sich im lokalen Netzwerk ohne zentralen DNS-Server über ihre Namen zu finden.
Ein Gerät mit dem Hostnamen
eos-armist dann beispielsweise untereos-armoder – sofern mDNS unterstützt und aktiviert ist – untereos-arm.localerreichbar. Ob der Zugriff über den Hostnamen funktioniert, lässt sich einfach ausprobieren. Wenn die Geräte so erreichbar sind, sind feste IP-Adressen meist nicht erforderlich.
🌐 Statische IPv4 und IPv6 unter EndeavourOS (NetworkManager) konfigurieren
💡 Kann übersprungen werden, wenn du DHCP und den Zugriff über Hostnamen nutzt
Eine zusätzliche feste IP-Adresse kann nützlich sein, ist aber nicht zwingend nötig, wenn du das Gerät zuverlässig über seinen Hostnamen erreichst. Sie bietet eine zweite Möglichkeit, das Gerät anzusprechen, etwa wenn die Namensauflösung einmal nicht funktioniert.
📘 Vorwort
Ausgangssituation:
Dem System wurde automatisch per SLAAC 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 Präfixes.
Eine automatisch vergebene IPv6-Adresse kann durch eine feste, manuell definierte Adresse ergänzt werden (z.B. eine kürzer darstellbare Adresse wie fd00::2), aber nur wenn:
- sie im gleichen
/64liegt - sie nicht bereits von einem anderen Gerät (z.B. dem Router) verwendet wird
🎯 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 wird automatisch per Router Advertisement gesetzt (Gateway ist eine fe80::-Adresse des Routers)
- 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: auto
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
🚀 Mini-Check:
ping -c 5 heise.de
Mein Ergebnis:
PING heise.de (2a02:2e0:3fe:1001:302::) 56 Datenbytes
64 Bytes von redirector.heise.de (2a02:2e0:3fe:1001:302::): icmp_seq=1 ttl=58 Zeit=6.93 ms
64 Bytes von redirector.heise.de (2a02:2e0:3fe:1001:302::): icmp_seq=2 ttl=58 Zeit=5.73 ms
64 Bytes von redirector.heise.de (2a02:2e0:3fe:1001:302::): icmp_seq=3 ttl=58 Zeit=5.31 ms
64 Bytes von redirector.heise.de (2a02:2e0:3fe:1001:302::): icmp_seq=4 ttl=58 Zeit=6.01 ms
64 Bytes von redirector.heise.de (2a02:2e0:3fe:1001:302::): icmp_seq=5 ttl=58 Zeit=5.85 ms
--- heise.de Ping-Statistiken ---
5 Pakete übertragen, 5 empfangen, 0% packet loss, time 4007ms
rtt min/avg/max/mdev = 5.306/5.964/6.925/0.533 ms
Das zeigt: ping heise.de → nutzt 2a02:... (IPv6)
Bedeutung:
- ✅ System bevorzugt IPv6
- ✅ DNS liefert AAAA und wird verwendet
- ✅ Kein IPv4-Fallback nötig
- ✅ IPv6 funktioniert vollständig (Routing + Internet)
Fazit: IPv6 ist aktiv und wird aktuell verwendet.
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-Adressen (z.B. 2003:... per SLAAC, inkl. temporärer Privacy-Adressen)
- Default-Route via fe80::... (Router Advertisement)
- Link-Local-Adresse fe80::... (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 ergänzt werden
- NetworkManager bleibt aktiv
- Keine Verwendung von systemd-networkd
- Eigene Werte immer zuerst mit
ip addr,ip routeundip -6 routeermitteln