Tengo un nombre de dominio que apunta hacia mi servidor doméstico. En cada versión de Ubuntu hasta Wily, de forma predeterminada tenía una dirección EIU-64 estable que podía usar para mi registro AAAA. Sin embargo, después de instalar Xenial, parece que no obtengo una dirección estable de forma predeterminada.
joejoe@myserver:~$ ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:24:1d:d2:e3:f4 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.101/24 brd 192.168.0.255 scope global enp2s0
valid_lft forever preferred_lft forever
inet6 2601:280:3068:2945:74ed:b303:6474:6e29/64 scope global temporary dynamic
valid_lft 6965sec preferred_lft 3363sec
inet6 2601:280:3068:2945:ac34:ea15:4340:29a4/64 scope global temporary deprecated dynamic
valid_lft 6965sec preferred_lft 0sec
inet6 2601:280:3068:2945:bdfd:6253:b07e:1308/64 scope global mngtmpaddr noprefixroute dynamic
valid_lft 6965sec preferred_lft 6965sec
inet6 fe80::dc3e:6127:bd4e:18b/64 scope link
valid_lft forever preferred_lft forever
Como puede ver, todas las inet6
direcciones scope global
tienen una vida útil limitada. ¿Hay alguna manera de recuperar mi dirección EIU-64 o hay alguna otra manera de obtener una dirección estable que pueda usar en un registro de nombre de dominio?
Respuesta1
Me acabo de dar cuenta de esto. Para cada conexión en /etc/NetworkManager/system-connections/
, debe establecer la siguiente propiedad:
[ipv6]
addr-gen-mode=eui64
NetworkManager en 16.04 parece establecer un valor predeterminado stable-privacy
para la addr-gen-mode
configuración.
Respuesta2
Las otras respuestas aquí están un poco incompletas: cambiar las configuraciones de NetworkManager no ayuda si no lo haceteneruno (que en realidad es el problema, ver más abajo), y deshabilitar las extensiones de privacidad IPv6 en realidad no tiene ninguna relación (nuevamente, si su dirección IPv6 supuestamente estable cambia en cada arranque, eliminar las direcciones de privacidad adicionales no ayuda).
Como se detalla eneste hilo, una nueva instalación predeterminada de 16.04 tiene un ligero descuido si está utilizando una conexión por cable. NetworkManager genera automáticamente una configuración "efímera", que funciona muy bien pero es, bueno, efímera. Esto significa que el GUID utilizado para generar una dirección IPv6 supuestamente coherente no se almacena, por lo que obtienes uno nuevo en cada arranque. Simplemente ingresando a NetworkManager, presionando "editar" en la conexión por cable y guardándola sin cambios se generará una configuración NM real, con un GUID guardado, por lo que obtendrá la misma dirección IPv6 en cada inicio.
Esta dirección es una dirección RFC7217 (un hash criptográfico del GUID, su prefijo, etc., etc.), por lo que, aunque es estable en cada arranque, no es del tipo que incluye su dirección MAC directamente en la dirección. Si quieres una de esas direcciones EUI64,esta otra respuesta a esta preguntadetalla cómo cambiar eso.
Respuesta3
Ubuntu 16.04 y versiones anteriores siempre han tenido por defecto EIU-64, por lo que para los servidores tengo que desactivarlo. Estoy feliz de usar la dirección de privacidad en mi escritorio.
Entonces necesitas algo como:
sysctl -w net.ipv6.conf.all.use_tempaddr=0
sysctl -w net.ipv6.conf.default.use_tempaddr=0
sysctl -w net.ipv6.conf.default.use_tempaddr=0
sysctl -w net.ipv6.conf.<devname>.use_tempaddr=0
Luego si abajo/si arriba. El resultado para mí, tenga en cuenta la relación MAC/IPv6:
$ ifconfig enp3s0 | egrep 'HWaddr|Global'
enp3s0 Link encap:Ethernet HWaddr 74:d0:2b:90:8b:90
inet6 addr: 2501:300:d008:61c8:76d0:2bff:fe90:8b90/64 Scope:Global
Puede nombrar interfaces específicas si necesita habilitarlo en algunas interfaces y no en otras. Puedes ver la lista con:
$ sysctl -a | grep tempaddr
No recomiendo Network Manager para servicios de producción. Por ejemplo, no funciona bien con otros, como /etc/sysctl.conf, por ejemplo. Si desea hacer eso, necesitará una entrada en /etc/networking/interfaces para una dirección estática o una configurada automáticamente. Sólo estoy usando:
auto enp3s0
iface enp3s0 inet dhcp
iface enp3s0 inet6 auto
pre-up modprobe ipv6
Ajustar al gusto por supuesto.