Desativar IPv6 no endereço de loopback (Localhost, nome do computador,…)

13

Tentamos instalar um produto de software de terceiros em uma nova máquina Windows Server 2008 R2 e descobrimos que tudo funciona, exceto o acesso a serviços locais por meio de endereços de loopback, como localhost ou o nome do computador (ex: VPS-Web , que resolve %código%). Não estamos usando o IPv6 e gostaríamos de desativá-lo até que o software seja compatível.

Eu tentei usar estas instruções para desativar IPv6 no Windows 2008 R2 , mas ele não desabilitou o protocolo para localhost . O ping localhost ou localhost ainda retornará VPS-Web em vez de ::1: . Eu posso usar 127.0.0.1 para obter o endereço correto, mas o IPv6 tem precedência sobre o IPv4, então o software de terceiros só obtém o endereço IPv6.

    
por Greg Bray 04.01.2011 / 22:26

6 respostas

10

Eu tinha inicialmente verificado o arquivo host como SilverbackNet sugerido, mas em um servidor Windows 2008 R2 este é o arquivo padrão:

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost
#   ::1             localhost

# indica um comentário no arquivo host, portanto, todas as entradas são comentadas e a primeira linha é um pouco confusa. Então notei que havia duas entradas para o localhost que foram comentadas, então eu tentei descomentar o IPv4 e funcionou! Eu deveria ter tentado isso primeiro, mas fui expulso da primeira linha. Usando o arquivo de host abaixo ping o nome do computador ou localhost sempre retornará um endereço IPv4, que corrige o problema com o software de terceiros!

# localhost name resolution is handled within DNS itself.
#   ::1         localhost
127.0.0.1       localhost
127.0.0.1       VPS-Web
    
por 05.01.2011 / 01:38
5

Definindo "DisabledComponents" = 0x20 em

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip6 \ Parâmetros \

configurará essa máquina para usar IPv4 em vez de IPv6 nas políticas de prefixo.

Crie a chave do registro, se ela não existir.

    
por 22.07.2012 / 05:57
2

O thread ServerFault inicial sobre o uso do valor do DisabledComponents do registro é realmente a melhor maneira de fazer isso. O ajuste do arquivo de hosts nunca deve ser necessário em uma rede que funcione bem. O ajuste do registro também é muito mais fácil de implantar e reverter via política de grupo se você tiver um Active Directory.

O motivo pelo qual não funcionou é porque a configuração do registro DisabledComponents é lida como um conjunto de sinalizadores de bit e não simplesmente ativada ou desativada. Aqui está a documentação oficial da Microsoft sobre o assunto:
Como desativar o IP versão 6 (IPv6) ou seus componentes específicos no Windows 7 , no Windows Vista, no Windows Server 2008 R2 e no Windows Server 2008

A versão curta é que para desativar completamente o IPv6 no Vista / 2008 e além, defina o valor de DisabledComponents para 0xff . Eu faço isso em todas as máquinas que gerencio onde não estamos explicitamente usando o IPv6. Ele tem o bom efeito colateral de encurtar significativamente a saída do comando ipconfig .

    
por 22.07.2012 / 08:48
2

Você já tentou remover a entrada do arquivo hosts em% systemroot% \ system32 \ drivers \ etc? Isso deve ser feito se você precisar apenas de "localhost" para ser sempre IPv4. No entanto, se for baseado no nome do servidor, isso provavelmente não funcionará.

    
por 04.01.2011 / 22:55
0

Você também pode acessar as propriedades da própria NIC e desmarcar a caixa IPv6, deixando o IPv4 ativado. Deve fazer o truque.

    
por 06.01.2011 / 05:10
-3

Tente adicionar uma linha ao seu arquivo de hosts como:

::1 VPW-Web

Isso deve permitir que o resolvedor obtenha VPW-Web como um nome para loopback IPv6.

    
por 05.01.2011 / 06:12