Windows 7 usando endereço IP de saída incorreto quando vários IP são configurados para o mesmo adaptador

2

Adicionei um segundo endereço IPv4 a um adaptador de rede e o Windows começou a usar esse segundo IP como o endereço de saída padrão. Até mesmo o endereço está em uma sub-rede completamente diferente do gateway padrão.

Meu endereço IP padrão é 169.254.1.38/24 . Sim, usamos o intervalo IP de atribuição de endereço automático, mas este é um endereço IP configurado estático e nosso servidor DHCP me atribui o mesmo IP se eu mudar para a configuração DHCP. Meu gateway está em 169.254.1.1 .

Eu adicionei o endereço 192.168.38.1/24 ip usando o botão 'advanced' nas propriedades do adaptador. Assim que fechar a caixa de diálogo, o Windows começa a usar 192.168.38.1 como o endereço de saída ao tentar acessar a Internet. Como nosso roteador está em outra sub-rede, ele não responde às solicitações.

A saída de route print é (a saída foi traduzida nos rótulos:

...
IPv4 route table
===========================================================================
Active routes:
Network address            Mask         Gateway addr.      Interface   Cost
          0.0.0.0          0.0.0.0      169.254.1.1     192.168.38.1    266
...

E assim que eu remover o segundo IP, o valor da interface da rota retorna para 169.254.1.38 e tudo volta ao normal.

Existe alguma maneira de alterar essa rota para começar a usar o endereço IP correto? O comando route add apenas aceita interfaces como parâmetros e não endereços IP.

Estou usando o Windows 7 de 64 bits.

    
por Vargas 17.06.2011 / 15:37

2 respostas

4

A sub-rede local de link IPv4, conforme definido na RFC 3927 , deve sempre ser 169.254 / 16 (Nota: / 16 não / 24), e os valores "0" e "255" no terceiro octeto são reservados para quando você estiver configurando manualmente um endereço local de link IPv4. Todos os outros valores para o terceiro octeto são reservados para atribuição automática automática, não atribuição manual. Então, se eu fosse você, mudaria 169.254.1.38/24 para 169.254. 0 .38 / 16 , e eu mudaria 169.254.1.1/24 para 169.254 . 0 .1 / 16

Se você tem um servidor DHCP, você não deveria estar usando o link-local, você deveria estar usando uma RFC 1918 sub-rede privada (10/8, 172.16 / 12 ou 192.168 / 16). Então, na verdade, em vez de apenas trocar para o terceiro octeto "0" ou "255" na sub-rede local do link como descrevi acima, você provavelmente deve mudar completamente para uma sub-rede privada RFC 1918 e parar de usar o endereço local de link IPv4 espaço em tudo. Não tenho certeza se isso tem algo a ver com o seu problema, mas achei que você gostaria de saber como seguir melhor os padrões para os espaços de endereço que você está tentando usar. Corrigir isso agora pode evitar alguns problemas mais sutis depois.

Lembre-se de que, como você está usando o espaço de endereçamento local IPv4 RFC 3927, sua pilha de IPs provavelmente está usando o comportamento "todas as sub-redes são locais" definido no RFC 3927. Por causa do comportamento "todas as sub-redes são locais" Endereços locais de link IPv4, é perfeitamente adequado usar um endereço IP privado RFC 1918 como 192.168.38.1 para falar com um endereço IP local de link IPv4 como 169.254.1.1 no mesmo domínio de transmissão (por exemplo, Ethernet LAN).

    
por 18.06.2011 / 00:34
1

Primeiro, eu teria feito isso com duas placas de rede ... muito mais simples.

Estou apenas adicionando isso como prova de que você não está obtendo o comportamento esperado (sei que isso não se aplica ao Windows 7, mas esse tipo de coisa não muda com frequência): "Uma placa de interface de rede (NIC) configurada com Vários endereços IP definidos em diferentes sub-redes lógicas sempre usarão o primeiro endereço IP definido na configuração TCP / IP como seu endereço de origem, independentemente do destino. "

link

Eu verifico

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\

Em seguida, pesquise sua interface e altere manualmente a ordem dos endereços IP na chave "IPAddress". Eu duvido, mas você pode precisar desabilitar e reativar a interface.

    
por 17.06.2011 / 16:28