Um roteador deve usar o SLAAC para atribuição de endereços IPv6?

11

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)

banjaxed
fonte

Respostas:

7

Na RFC 7084, também afirma:

W-1: Quando o roteador está conectado ao link da interface WAN, DEVE atuar como um host IPv6 para fins de atribuição de endereço de interface sem estado [RFC4862] ou com estado [RFC3315].

Então, resumindo, sim - um roteador deve ser capaz de configurar automaticamente um endereço IPv6 para sua interface WAN.

Na realidade, porém, a maioria dos ISPs implementa DHCPv6 e DHCPv6-PD ( RFC3633 ) para alocação de endereços a jusante, juntamente com a delegação de prefixo.

Isso garante que seu roteador não apenas receba um endereço em sua interface WAN, mas também receba um prefixo que pode usar em sua interface LAN interna.

Benjamin Dale
fonte
6

O RFC 4862 realmente descreve roteadores dentro de um único controle administrativo. A RFC 7084 esclarece como os roteadores dos clientes devem se comportar. Isso dá ao ISP um pouco de liberdade em como ele suporta IPv6 para seus clientes.

Para o roteador PE, o roteador CE é um host. Da perspectiva de uma LAN (domínio da camada 2, incluindo o link do PE para o CE), um roteador é realmente apenas outro host na rede. Na maioria dos casos, os endereços de link da WAN serão definidos estaticamente, via DHCP ou PPP, sem realmente usar SLAAC.

Acho que você perdeu a parte da RFC 7084 que precede o que você citou:

Requisitos do lado da WAN:

W-1: Quando o roteador está conectado ao link da interface WAN, DEVE atuar como um host IPv6 para fins de atribuição de endereço de interface sem estado [ RFC4862 ] ou com estado [ RFC3315 ].

Ron Maupin
fonte
1
Muitos ISPs também executam a interconexão da WAN sem número (somente link-local). Tudo o que acontece no link WAN é o roteador ISP enviando pacotes para o CPE e o CPE enviando pacotes para o gateway padrão. Ambos geralmente usam endereços locais de link de qualquer maneira.
Sander Steffann
5

Por que o 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".

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.

Peter Green
fonte
Você não mencionou como substituir. Eu tenho o seguinte no meu post de arquivo / etc / network / interfaces sysctl -w net.ipv6.conf.eth0.accept_ra = 2, que acredito ser a configuração para habilitar o RA.
precisa saber é
Sim, 0 está desativado, 1 está no modo normal (ativado para hosts, mas não roteadores) e 2 está ativado à força.
Peter Green