Im Gegensatz zu anderen Systemen verwendet die Fedora 25 Workstation standardmäßig keine stabilen IPv6-Adressen.
Beispielsweise wird mit CentOS 7 oder Fedora 23 automatisch eine stabile IPv6 konfiguriert (in einem IPv6-fähigen Netzwerk, in dem ein IPv6-Router vorhanden ist) – also eine, die von der MAC-Adresse abgeleitet wird.
Diese IPv6-Adresse kann dann in einem DNS-AAAA-Eintrag verwendet werden.
Im Gegensatz dazu hat die IPv6-Adresse eines Fedora 25 Arbeitsplatzsystems keinen Bezug zu seiner MAC-Adresse und scheint nicht stabil zu sein.
Wie konfiguriere ich deterministische und stabile IPv6-Adressen auf Fedora 25?
Akzeptierte Antwort:
Auf Fedora 25 Workstation konfiguriert NetworkManager (NM) standardmäßig alle Netzwerkschnittstellen. Damit sind auch die kabelgebundenen gemeint. Und der NetworkManager erstellt keine von EUI-64 abgeleiteten IPv6-Adressen. Stattdessen werden sogenannte „Stable-Privacy“-Daten generiert. Offenbar, um die MAC-Adresse nicht jedem IPv6-Ziel preiszugeben.
Dies kann für eine gegebene Schnittstelle $i
geändert werden durch Ändern des IPV6_ADDR_GEN_MODE
geben Sie /etc/sysconfig/network-scripts/ifcfg-$i
ein Konfigurationsdatei. Zum Beispiel über:
sed -i 's/^IPV6_ADDR_GEN_MODE=stable-privacy/IPV6_ADDR_GEN_MODE=eui64/'
/etc/sysconfig/network-scripts/ifcfg-$i
Die Änderung wird wirksam, nachdem NetworkManager seine Konfiguration neu gelesen hat und nach einer erneuten Verbindung:
nmcli con reload
nmcli con down $i
nmcli con up $i
Hinweise
- Diese Option wird nicht über die NM-Einstellungs-GUI angezeigt
- die Konfigurationsdateien der Schnittstelle unter
/etc/sysconfig/network-scripts
die von NM gelesen werden, sind Fedora/Redhat-spezifisch, aber der Konfigurationsschlüssel ist es nicht – d.h. auf anderen Distributionen liest NM nur die Schnittstellenkonfigurationen von verschiedenen Orten/Konfigurationsdateien
Fedora wird auch mit systemd-networkd geliefert, das die EUI64-Generierung standardmäßig nicht deaktiviert. Daher ist ein einfacherer Weg, stabile IPv6-Adressen unter Fedora zu erhalten, einfach NetworkManager zu entfernen und stattdessen systemd-networkd zu konfigurieren/aktivieren.
Oder man kann die fragliche Schnittstelle im NetworkManager auf unmanaged setzen und sie dann in systemd-networkd konfigurieren.
In jedem Fall ist die Netzwerkkonfiguration dann ziemlich minimal, z. B.:
cat /etc/systemd/network/20-wired.network
[Match]
# manage all matching interfaces
#Name=en*
# just manage one:
Name=eno1
[Network]
DHCP=ipv4