Debian 7 ¿cómo se configuran las direcciones locales de enlace IPv6?

12

Parece que cuando dhclient se ejecuta en eth0 obtengo una dirección IPv4 del servidor DHCP y una dirección Scope: Link IPv6 adjunta a eth0:

inet6 addr: fe80::a00:27ff:fed0:4d41/64 Scope:Link

Pero no puedo ver desde dhclient-script cómo se agrega esa dirección. En otra interfaz con una dirección IP estática, me gustaría agregar un enlace a la dirección IPv6 local, y me preguntaba si había un comando genérico para hacerlo sin conocer el mac.

Editar:
Parece que el núcleo asigna la dirección local del enlace cuando haces "ip link set dev ethX up" o "ifconfig ethX up". Sin embargo, en mi caso tenía un cable enchufado a la interfaz que era DHCP y ningún cable enchufado a la interfaz que estaba configurando estáticamente. No se puede verificar hasta el lunes, pero supongo que el kernel no asigna direcciones locales de enlace a la interfaz si no hay un enlace.

Aaron
fuente
2
Ninguno de los dos tiene nada que ver con el otro.
Michael Hampton
2
Entiendo que. Y, sin embargo, como resultado de ejecutar dhclient, obtienes una dirección IPv6LL, pero cuando configuras una dirección IPv4 estática, no la obtienes. Entonces, algún efecto secundario de algún comando ejecutado por dhclient lo configura ...
Aaron
1
No, no obtiene una dirección local de enlace IPv6 al ejecutar dhclient.
Michael Hampton

Respuestas:

7

Las direcciones locales de enlace se derivan de la dirección MAC del dispositivo. Se generan automáticamente como parte de la activación de la interfaz. La configuración automática incluye un proceso de descubrimiento para garantizar que la dirección sea única en la red.

Se utiliza un proceso similar para configurar automáticamente las direcciones enrutables cuando hay un anuncio de enrutador disponible. Estas direcciones pueden regenerarse periódicamente para proporcionar privacidad.

RFC 4862 especifica los procesos a seguir.

BillThor
fuente
1
"Se generan automáticamente como parte de la activación de la interfaz". Bien, esto es lo que estoy buscando, ¿quién lo está generando automáticamente? No se genera automáticamente cuando asigna una dirección IPv4 estática, pero sí cuando se ejecuta dhclient. Entonces, ¿está dhclient implementando RFC 4862, o es un efecto secundario de algún comando en el script dhclient? ¿Cómo puedo replicarlo en una interfaz estática sin escribir mi propia implementación de RFC 4862?
Aaron
autogenerado por el núcleo, al parecer, vea la edición anterior.
Aaron
6

¡Lo encontré! Este comando no es suficiente:

ifconfig eth0 up

En cambio, debo hacer:

ifconfig eth0 up
sysctl -w net.ipv6.conf.eth0.disable_ipv6=0

Solo este último restaura la dirección local del enlace IPv6 en eth0.

En otras palabras, mi distribución parece tener algún código oculto en algún lugar que cambia dinámicamente net.ipv6.conf.eth0.disable_ipv6cada vez que se le pide que active o desactive la red. Su experiencia puede ser diferente.

Llegué al fondo de esto gracias a un mero:

sysctl -a | grep ipv6
Marzo
fuente
Por cierto, no puedo entender por qué mi distribución está volteando disable_ipv6: una vez que se desactiva el enlace, no hay ninguna diferencia.
MarcH
Esto se aplica perfectamente a Ubuntu 16.04. Gracias.
Cbhihe