Não é possível obter o endereço IPv6 usando radvd na interface sem fio no Windows, com fio funciona bem

2

Eu configurei meu roteador para usar o OpenWRT e configurá-lo para usar IPv6 usando um SixXs de forma de túnel. Estou tendo problemas com autoconfiguração sem estado usando o radvd. No meu computador, a conexão com fio pode ter um bom endereço IPv6, mas a conexão sem fio não pode.

Depois de passar algum tempo em fóruns de OpenWRT, eu tenho quase certeza agora que o roteador está configurado bem e que o problema está nas configurações do meu Windows. Além disso, não tenho nenhum problema em obter o endereço IPv6 no openSUSE 11.3.

Então, o que devo fazer para resolver isso e quais informações devo postar?

Aqui está a saída radvdump para interface com fio:

interface br-lan
{
        AdvSendAdvert on;
        # Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
        AdvManagedFlag on;
        AdvOtherConfigFlag on;
        AdvReachableTime 0;
        AdvRetransTimer 0;
        AdvCurHopLimit 64;
        AdvDefaultLifetime 1800;
        AdvHomeAgentFlag off;
        AdvDefaultPreference medium;
        AdvSourceLLAddress on;

        prefix 2001:15c0:67d0::/64
        {
                AdvValidLifetime 86400;
                AdvPreferredLifetime 14400;
                AdvOnLink on;
                AdvAutonomous on;
                AdvRouterAddr off;
        }; # End of prefix definition

}; # End of interface definition

Aqui está a saída do radvdump para interface sem fio:

#
# radvd configuration generated by radvdump 1.6
# based on Router Advertisement from fe80::a0b7:deff:fef0:5b34
# received by interface br-lan
#

interface br-lan
{
        AdvSendAdvert on;
        # Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
        AdvManagedFlag on;
        AdvOtherConfigFlag on;
        AdvReachableTime 0;
        AdvRetransTimer 0;
        AdvCurHopLimit 64;
        AdvDefaultLifetime 1800;
        AdvHomeAgentFlag off;
        AdvDefaultPreference medium;
        AdvSourceLLAddress on;

        prefix 2001:15c0:67d0::/64
        {
                AdvValidLifetime 86400;
                AdvPreferredLifetime 14400;
                AdvOnLink on;
                AdvAutonomous on;
                AdvRouterAddr off;
        }; # End of prefix definition

}; # End of interface definition
#
# radvd configuration generated by radvdump 1.6
# based on Router Advertisement from fe80::a0b7:deff:fef0:5b34
# received by interface br-lan
#

interface br-lan
{
        AdvSendAdvert on;
        # Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
        AdvManagedFlag on;
        AdvOtherConfigFlag on;
        AdvReachableTime 0;
        AdvRetransTimer 0;
        AdvCurHopLimit 64;
        AdvDefaultLifetime 1800;
        AdvHomeAgentFlag off;
        AdvDefaultPreference medium;
        AdvSourceLLAddress on;

        prefix 2001:15c0:67d0::/64
        {
                AdvValidLifetime 86400;
                AdvPreferredLifetime 14400;
                AdvOnLink on;
                AdvAutonomous on;
                AdvRouterAddr off;
        }; # End of prefix definition

}; # End of interface definition

ATUALIZAÇÃO: Estou usando o roteador TP-LINK TL-WR1043ND v1.8 e Backfire 10.03.1-rc4 no roteador.

    
por AndrejaKo 23.02.2011 / 13:28

2 respostas

2

É estranho, mas instalar o SP1 para 7 corrigiu o problema para mim.

ATUALIZAÇÃO: não realmente. Só funcionou por algum tempo e está quebrado novamente agora.

UPDATE2: Eu descobri o problema. Eu precisava configurar tempos de anúncio de roteador mais curtos em radvd. Acontece que, por algum motivo, quando conecto interfaces com e sem fio, o Windows não processa o anúncio enviado quando a interface sem fio se conecta. As configurações do Radvd em períodos de propaganda são bem conservadoras, então eu tive que definir curtos tempos manualmente. Desta forma, a rede sem fio perde o primeiro anúncio, mas captura o segundo e obtém o endereço IPv6.

    
por 23.02.2011 / 23:05
2

O melhor que você pode fazer é garantir que, em sua conexão de rede, as Propriedades mostrem TCP / IPv6 como ativado e que os parâmetros façam sentido. Além disso, na chave do registro
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters
O DisabledComponents deve ser definido como zero (o que provavelmente é o caso se isso funcionasse uma vez).

Se todas as verificações passarem corretamente, a única explicação é uma incompatibilidade entre o Windows 7 e a versão do OpenWRT que você está usando. A Microsoft é conhecida por não aderir aos padrões e a maioria dos fabricantes de roteadores se adapta ao Windows (e não vice-versa).

É lógico que o OpenWRT seja compatível com o Linux, no seu caso, o openSUSE, já que ambos provavelmente estão usando software muito similar. Mas este não é o caso do Windows.

Você não mencionou a marca do seu roteador. Mas em qualquer caso, eu sugiro tentar baixar o firmware mais recente para ele do site do fabricante, se anunciado como compatível com o Windows 7 ou Vista. Esse firmware pode ter uma chance melhor de funcionar com o Windows 7 do que o OpenWRT.

EDIT1

Eu observei o modelo do seu roteador e acredito também que seu firmware não suporta o IPv6.

Pelo menos uma pessoa resolveu seu problema adicionando "AdvLinkMTU 1440" a / etc / radvd.conf.

Além disso, você pode tentar desativar o auto-ajuste do TCP / IP do Windows:

netsh interface tcp set global autotuning=disabled

Para voltar ao comportamento padrão:

netsh interface tcp set global autotuning=normal

EDIT2

Alguns comandos padrão de correção de erros (crie primeiro um ponto de restauração do sistema):

Redefinir as entradas do WINSOCK para os padrões de instalação:

netsh winsock reset catalog

Redefina a pilha TCP / IP IPv4 para os padrões de instalação.

netsh int ipv4 reset reset.log

Redefina a pilha TCP / IP IPv6 para os padrões de instalação.

netsh int ipv6 reset reset.log

Reinicialize a máquina.

    
por 02.03.2011 / 15:42