IPv6, vários roteadores e possível anúncio de prefixo inválido no ICMPv6 RA

3

Eu tenho dois dispositivos do tipo 'roteador' configurados na minha rede.

Um é meu roteador IPv6 real - um Cisco 2621 ( fe80::xxxx:3e60 ). É o roteador padrão correto.

Outro é um DLINK DIR-615 ( fe80::xxxx:5760 ). Ele está ciente do IPv6, mas no momento está configurado apenas para endereçamento de link local, já que está sendo usado apenas como um WAP.

Ambos os dispositivos estão enviando mensagens RA do ICMPv6 e, como resultado, ambos estão sendo adicionados à tabela de roteamento dos meus clientes:

$ ip -f inet6 route | grep default
default via fe80::xxxx:3e60 dev wlan0  proto kernel  metric 1024  expires 1741sec mtu 1500 advmss 1440 hoplimit 64
default via fe80::xxxx:5760 dev wlan0  proto kernel  metric 1024  expires 1791sec mtu 1500 advmss 1440 hoplimit 64

O problema surge do fato é que meus clientes agora têm uma escolha de roteadores padrão. Um envia pacotes alegremente a caminho, o outro não. Eu posso remover a rota incorreta, mas ela só é adicionada novamente quando a próxima RA aparecer.

fe80::xxxx:3e60 (o roteador correto) está enviando RAs anunciando um prefixo de 2001: xxxx: xxxx :: / 64 (minha rede)

fe80::xxxx:5760 (o roteador incorreto) está enviando RAs anunciando um prefixo de fe80 :: / 64 (link-local)

Então ... quem é a culpa aqui?

  • fe80::xxxx:5760 para enviar RAs quando não pode fornecer um prefixo válido?
  • fe80::xxxx:5760 para enviar RAs com o prefixo link-local?
  • meus clientes para adicionar fe80::xxxx:5760 à tabela de rotas ao anunciar o prefixo do link local?
  • Algo mais?
por MikeyB 26.03.2011 / 06:26

4 respostas

5

O radvd (daemon de publicidade do roteador) deve ser desabilitado no DLink, pelo menos nas interfaces que o roteador Cisco enfrenta.

Como alternativa, você pode configurar uma rota padrão estática para o roteador Cisco no DLink. Isso fará com que a rota seja mais longa, mas ainda assim válida, supondo que o DLink fará o roteamento da interface para o roteador Cisco.

Se a porta WAN é aquela conectada ao roteador Cisco, o roteador DLink não deve estar anunciando o roteamento nesse link.

EDIT: Você pode ser capaz de influenciar o roteamento definindo AdvRoutePreference high; e / ou AdvDefaultPreference high; na configuração radvd do roteador Cisco.

EDIT2: O problema parece ser que o roteador DLink não possui um endereço IP ou rota global. A rota padrão para roteadores geralmente não é descoberta, portanto, pode ser necessário configurá-la manualmente.

Etapa para configurar a preferência de roteador ipv6 de documentação do CISCO são:

  1. ativar
  2. configure terminal
  3. número do tipo de interface
  4. ipv6 nd router-preference {alta | meio | baixo}
por 26.03.2011 / 07:33
2

De acordo com o RFC 2461 §4.6.2:

A router SHOULD NOT send a prefix option for the link-local prefix and a host SHOULD ignore such a prefix option.

§6.2.1:

The link-local prefix SHOULD NOT be included in the list of advertised prefixes.

Então, alguém poderia pensar que, se um roteador não tem prefixos válidos para oferecer, ele não deve enviar nenhum RA. Da mesma forma, se um host vir um RA sem prefixos válidos, ele provavelmente deve ignorá-lo.

    
por 28.03.2011 / 16:35
2

O roteador D-Link está com defeito.

Pelo menos na versão de hardware C2 do DIR-615 (há um adesivo no roteador que dirá qual versão de hardware você tem), a atualização do firmware 3.03WW parece impedir que ele envie RAs. Isso é verdade pelo menos no modo de conexão local de qualquer maneira (eu não testei as outras opções).

    
por 04.11.2011 / 11:23
2

Eu diria que as falhas incluem a estranheza de um anúncio de prefixo do fe80 ::, o roteador anunciando uma rota padrão quando não tem conectividade com a Internet, e o fato de que o firmware e a documentação não chegam a tudo é fácil de descobrir como desabilitar a rota padrão.

Mas há uma boa solução alternativa, pelo menos para minha revisão E3 do DIR-615 com o firmware 5.1:

  • Vá para a página de configuração avançada / IPv6.

  • Escolha "AUtoconfiguração sem estado".

  • Defina o prefixo da LAN IPv6 como o que você está usando.

  • Selecione "Ativar configuração automática", escolha "Sem estado" para o tipo de configuração automática e (essa é a parte importante) defina "Tempo de vida da propaganda do roteador" como 0.

Definir a vida útil do roteador como 0 em um RA significa "esta não é uma rota padrão".

Não encontrei uma maneira de desabilitar propagandas de roteadores neste roteador, mas defini-las como prefixo que já estou usando e definir a vida útil do roteador como 0 é mais do que suficiente para mim. Você nem precisa definir o prefixo da mesma forma, na verdade, mas se você não fizer isso, suas interfaces e tabelas de roteamento ficarão cheias de endereços e rotas extras que não serão usadas para muita coisa.

    
por 10.03.2012 / 19:16

Tags