Tentamos instalar um produto de software de terceiros em uma nova máquina com 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
o nome do computador (por exemplo, VPS-Web
que resolve localhost
). Não estamos usando o IPv6 e gostaríamos de desativá-lo até que o software seja compatível.
Tentei usar estas instruções para desativar o IPv6 no Windows 2008 R2, mas ele não desativou o protocolo localhost
. Ping localhost
ou VPS-Web
ainda retornará em ::1:
vez de 127.0.0.1
. Posso usar ping localhost -4
para obter o endereço correto, mas o IPv6 tem precedência sobre o IPv4, para que o software de terceiros obtenha apenas o endereço IPv6.
windows-server-2008-r2
ipv6
loopback
Greg Bray
fonte
fonte
Respostas:
Inicialmente, verifiquei o arquivo host como o SilverbackNet sugeriu, mas em um servidor Windows 2008 R2, este é o arquivo padrão:
#
indica um comentário no arquivo host, portanto, todas as entradas são comentadas e a primeira linha é um pouco confusa. Percebi então que havia duas entradas para o host local comentadas, então tentei descomentar a do IPv4 e funcionou! Eu deveria ter tentado isso primeiro, mas fui jogado para fora da pista pela primeira linha. Usar o arquivo host abaixo, executando ping no nome do computador ou no host local, sempre retornará um endereço IPv4, o que corrige o problema com o software de terceiros!fonte
Definir "DisabledComponents" = 0x20 em
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip6 \ Parameters \
configurará essa máquina para usar o IPv4 em vez do IPv6 nas políticas de prefixo.
Crie a chave do registro se ela não existir.
fonte
O thread inicial ServerFault sobre o uso do
DisabledComponents
valor do registro é realmente a melhor maneira de fazer isso. O ajuste de arquivos 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 diretiva de grupo, se você tiver um Active Directory.O motivo pelo qual não funcionou é porque essa
DisabledComponents
configuração do registro é lida como um conjunto de sinalizadores de bits 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
como0xff
. Faço isso em todas as máquinas que gerencio onde não estamos usando explicitamente o IPv6. Ele tem o bom efeito colateral de reduzir significativamente a saída doipconfig
comando.fonte
Você tentou remover a entrada do arquivo hosts em% systemroot% \ system32 \ drivers \ etc? Isso deve ser feito, se você precisar que "localhost" seja sempre IPv4. No entanto, se for baseado no nome do servidor, isso provavelmente não funcionará.
fonte
Você também pode acessar as propriedades da própria NIC e desmarcar a caixa IPv6, deixando o IPv4 ativado. Deve fazer o truque.
fonte
Tente adicionar uma linha ao seu arquivo hosts, como:
::1 VPW-Web
Isso deve permitir que o resolvedor obtenha
VPW-Web
um nome para o loopback do IPv6.fonte