A diferencia de otros sistemas, la estación de trabajo Fedora 25 no utiliza direcciones IPv6 estables de manera predeterminada.
Por ejemplo, con CentOS 7 o Fedora 23, se configura automáticamente un IPv6 estable (en una red habilitada para IPv6 donde hay un enrutador IPv6), es decir, uno que se deriva de la dirección MAC.
Esa dirección IPv6 se puede usar en un registro DNS AAAA.
Por el contrario, la dirección IPv6 de un sistema de estación de trabajo Fedora 25 no tiene ninguna relación con su dirección MAC y no parece ser estable.
¿Cómo configurar direcciones IPv6 deterministas y estables en Fedora 25?
Respuesta aceptada:
En Fedora 25 Workstation, NetworkManager (NM) configura todas las interfaces de red de forma predeterminada. Eso significa también los cableados. Y NetworkManager no crea direcciones IPv6 derivadas de EUI-64. En su lugar, genera los llamados de "privacidad estable". Aparentemente para no revelar la dirección MAC a cada destino IPv6.
Esto se puede cambiar para una interfaz dada $i
cambiando el IPV6_ADDR_GEN_MODE
ingrese el /etc/sysconfig/network-scripts/ifcfg-$i
archivo de configuración. Por ejemplo a través de:
sed -i 's/^IPV6_ADDR_GEN_MODE=stable-privacy/IPV6_ADDR_GEN_MODE=eui64/'
/etc/sysconfig/network-scripts/ifcfg-$i
El cambio es efectivo después de que NetworkManager vuelva a leer su configuración y después de una reconexión:
nmcli con reload
nmcli con down $i
nmcli con up $i
Notas
- esta opción no está expuesta a través de la GUI de configuración de NM
- los archivos de configuración de la interfaz en
/etc/sysconfig/network-scripts
leídos por NM son específicos de Fedora/Redhat, pero la clave de configuración no lo es, es decir, en otras distribuciones NM solo lee las configuraciones de interfaz desde diferentes ubicaciones/archivos de configuración
Fedora también viene con systemd-networkd que no deshabilita la generación EUI64, por defecto. Por lo tanto, una forma más sencilla de obtener direcciones IPv6 estables en Fedora es simplemente eliminar NetworkManager y configurar/habilitar systemd-networkd, en su lugar.
O se puede configurar la interfaz en cuestión como no administrada en NetworkManager y luego configurarla en systemd-networkd.
En cualquier caso, la configuración de la red es bastante mínima, por ejemplo:
cat /etc/systemd/network/20-wired.network
[Match]
# manage all matching interfaces
#Name=en*
# just manage one:
Name=eno1
[Network]
DHCP=ipv4