Contrairement à d'autres systèmes, la station de travail Fedora 25 n'utilise pas d'adresses IPv6 stables, par défaut.
Par exemple, avec CentOS 7 ou Fedora 23, une adresse IPv6 stable est automatiquement configurée (dans un réseau compatible IPv6 où un routeur IPv6 est présent) - c'est-à-dire une adresse dérivée de l'adresse MAC.
Cette adresse IPv6 peut ensuite être utilisée dans un enregistrement DNS AAAA.
Contrairement à cela, l'adresse IPv6 d'un système de poste de travail Fedora 25 n'a aucun rapport avec son adresse MAC et ne semble pas stable.
Comment configurer des adresses IPv6 déterministes et stables sur Fedora 25 ?
Réponse acceptée :
Sur Fedora 25 Workstation, NetworkManager (NM) configure toutes les interfaces réseau, par défaut. Cela signifie aussi les filaires. Et le NetworkManager ne crée pas d'adresses IPv6 dérivées EUI-64. Au lieu de cela, il génère ce que l'on appelle des "confidentialité stable". Apparemment pour ne pas divulguer l'adresse MAC à chaque destination IPv6.
Cela peut être changé pour une interface donnée $i
en changeant le IPV6_ADDR_GEN_MODE
saisissez le /etc/sysconfig/network-scripts/ifcfg-$i
fichier de configuration. Par exemple via :
sed -i 's/^IPV6_ADDR_GEN_MODE=stable-privacy/IPV6_ADDR_GEN_MODE=eui64/'
/etc/sysconfig/network-scripts/ifcfg-$i
Le changement est effectif après que NetworkManager a relu sa configuration et après une reconnexion :
nmcli con reload
nmcli con down $i
nmcli con up $i
Remarques
- cette option n'est pas exposée via l'interface graphique des paramètres NM
- les fichiers de configuration de l'interface sous
/etc/sysconfig/network-scripts
lues par NM sont spécifiques à Fedora/Redhat, mais la clé de configuration ne l'est pas - c'est-à-dire que sur d'autres distributions, NM lit simplement les configurations d'interface à partir de différents emplacements/fichiers de configuration
Fedora est également livré avec systemd-networkd qui ne désactive pas la génération EUI64, par défaut. Ainsi, un moyen plus simple d'obtenir des adresses IPv6 stables sous Fedora consiste simplement à supprimer NetworkManager et à configurer/activer systemd-networkd à la place.
Ou on peut définir l'interface en question sur non gérée dans NetworkManager, puis la configurer dans systemd-networkd.
Dans tous les cas, la configuration de networkd est alors assez minimale, par exemple :
cat /etc/systemd/network/20-wired.network
[Match]
# manage all matching interfaces
#Name=en*
# just manage one:
Name=eno1
[Network]
DHCP=ipv4