Estou um pouco confuso com os 2 RFCs a seguir relacionados ao IPv6:
- RFC 4862 (configuração automática de endereço sem estado IPv6)
- RFC 7084 (requisitos do roteador IPv6 CE)
A RFC 4862 afirma:
O processo de configuração automática especificado neste documento se aplica apenas a hosts e não a roteadores. Como a configuração automática do host usa as informações anunciadas pelos roteadores, os roteadores precisarão ser configurados por outros meios.
O RFC 7084 lista um dos requisitos de configuração do lado da WAN para atribuição de endereço como:
WAA-1: O roteador IPv6 CE DEVE suportar a Configuração Automática de Endereço sem Estado (SLAAC) [RFC4862].
Existe uma contradição aqui?
Um roteador deve poder configurar automaticamente um endereço IPv6 para sua interface WAN?
Por que a RFC 4862 diz
Como a configuração automática do host usa as informações anunciadas pelos roteadores, os roteadores precisarão ser configurados por outros meios.
Se eu estiver usando um roteador para conectar minha LAN a um ISP, por exemplo, não há um roteador na rede do ISP que esteja falando com meu roteador?
Eu pensaria que era perfeitamente razoável ter 2 (ou mais) roteadores encadeados. Nesse caso, por que não usar o SLAAC na interface WAN do segundo roteador?
Talvez o problema se refira à distinção artificial entre hosts e roteadores? Partida RFC 4862:
nó - um dispositivo que implementa o IP.
roteador - um nó que encaminha pacotes IP não endereçados explicitamente a si próprio.
host - qualquer nó que não seja um roteador.
Mas um host (por exemplo, uma máquina que hospeda servidores ou aplicativos) também não pode ter uma tabela de roteamento e funcionar como roteador? E estamos efetivamente encadeando dois roteadores juntos novamente.
Edit : algumas informações extras que descobri mais tarde ...
O kernel do Linux lida com o SLAAC e segue o RFC 4862 de perto. Até a distinção entre hosts e roteadores. Veja a documentação do kernel em ip-sysctl :
- O comportamento HOST é assumido. O que significa que as solicitações do roteador serão enviadas e os anúncios do roteador serão usados para a configuração automática de endereço.
- Somente se o encaminhamento estiver ativado (
/proc/sys/net/ipv6/conf/all/forwarding
), o dispositivo é considerado um ROUTER . O que significa que nenhuma solicitação de roteador será enviada e os anúncios de roteador serão ignorados.
Acontece que essa distinção remonta ao período anterior ao IPv6. Veja o parâmetro /proc/sys/net/ipv4/ip_forward
:
Essa variável é especial, sua alteração redefine todos os parâmetros de configuração para seu estado padrão ( RFC1122 para hosts, RFC1812 para roteadores)
As pessoas que escreveram esse documento (e seu antecessor RFC 2462) quase certamente tiveram uma visão de mundo de que havia dois tipos de dispositivos. "hosts" numerosos e um fardo para gerenciar e "roteadores" gerenciados por administradores de rede competentes.
No início dos anos 2000, tivemos o aumento das conexões DSL / cabo sempre ativadas e também um aumento no número de pessoas que tinham mais de um computador em casa que poderia usar uma conexão à Internet. Como muitos ISPs forneceriam apenas um endereço IP para um cliente (pelo menos sem cobrar mais), vimos um aumento maciço no uso de "roteadores domésticos" com o NAT para ocultar vários computadores por trás dessa conexão. O NAT permitiu que o "roteador doméstico" escondesse sua verdadeira natureza do ISP, no que dizia respeito ao ISP, o "roteador doméstico" era como um host.
No início, esse uso foi "tolerado" apenas pelos ISPs, mas eles decidiram que não era tão ruim assim e começaram a realmente dar / vender os "roteadores domésticos" a seus clientes. Como resultado, acabamos com um grande número desses dispositivos em residências e pequenas empresas.
Apenas recentemente, a IETF começou a explorar adequadamente como os "roteadores domésticos" e os ISPs que os servem devem se comportar no contexto do IPv6. A resposta é que a interface "WAN side" deve se comportar como um host, enquanto as interfaces "LAN side" devem se comportar como um roteador comum. Como não há NAT, são necessários alguns detalhes adicionais para lidar com o fornecimento de endereços para o lado da LAN.
Em relação ao kernel do Linux, ele realmente ignora os RAs por padrão quando o roteamento está ativado, mas esse comportamento pode ser substituído, se necessário.
fonte