Estoy un poco confundido por los siguientes 2 RFC relacionados con IPv6:
- RFC 4862 (configuración automática de direcciones sin estado IPv6)
- RFC 7084 (requisitos de enrutador IPv6 CE)
RFC 4862 establece:
El proceso de autoconfiguración especificado en este documento se aplica solo a los hosts y no a los enrutadores. Dado que la configuración automática del host utiliza la información anunciada por los enrutadores, los enrutadores deberán configurarse por otros medios.
RFC 7084 enumera uno de sus requisitos de configuración del lado WAN para la asignación de direcciones como:
WAA-1: el enrutador IPv6 CE DEBE admitir la configuración automática de direcciones sin estado (SLAAC) [RFC4862].
¿Hay una contradicción aquí?
¿Debería un enrutador ser capaz de configurar automáticamente una dirección IPv6 para su interfaz WAN?
¿Por qué dice RFC 4862?
Dado que la configuración automática del host utiliza la información anunciada por los enrutadores, los enrutadores deberán configurarse por otros medios.
Si estoy usando un enrutador para conectar mi LAN a un ISP, por ejemplo, ¿no hay un enrutador en la red del ISP que esté hablando con mi enrutador?
Pensé que era perfectamente razonable tener 2 (o más) enrutadores encadenados. En ese caso, ¿por qué no usar SLAAC en la interfaz WAN del segundo enrutador?
¿Quizás el problema se reduce a la distinción artificial entre hosts y enrutadores? De RFC 4862:
nodo: un dispositivo que implementa IP.
enrutador: un nodo que reenvía paquetes IP no dirigidos explícitamente a sí mismo.
host: cualquier nodo que no sea un enrutador.
Pero, ¿no puede un host (es decir, una máquina que aloja servidores o aplicaciones) también tener una tabla de enrutamiento y funcionar como un enrutador? Y efectivamente estamos encadenando 2 enrutadores juntos de nuevo.
Editar : alguna información adicional que descubrí más tarde ...
El kernel de Linux maneja SLAAC y sigue de cerca RFC 4862. Hasta la distinción entre hosts y enrutadores. Consulte la documentación del kernel en ip-sysctl :
- Se supone el comportamiento del HOST. Lo que significa que se enviarán solicitudes de enrutador y se utilizarán anuncios de enrutador para la configuración automática de direcciones.
- Solo si el reenvío está habilitado (
/proc/sys/net/ipv6/conf/all/forwarding
), el dispositivo se considera un ENRUTADOR . Lo que significa que no se enviarán solicitudes de enrutador y se ignorarán los anuncios de enrutador.
Resulta que esta distinción se remonta, anterior a IPv6. Ver el parámetro /proc/sys/net/ipv4/ip_forward
:
Esta variable es especial, su cambio restablece todos los parámetros de configuración a su estado predeterminado ( RFC1122 para hosts, RFC1812 para enrutadores)