Intentamos instalar un producto de software de terceros en una nueva máquina con Windows Server 2008 R2 y descubrimos que todo funciona, excepto el acceso a servicios locales a través de direcciones de bucle invertido, como localhost
el nombre de la computadora (por ejemplo, VPS-Web
que se resuelve localhost
). No estamos utilizando IPv6 y nos gustaría desactivarlo hasta que el software sea compatible.
Intenté usar estas instrucciones para deshabilitar IPv6 en Windows 2008 R2 pero no deshabilitó el protocolo localhost
. Ping localhost
o VPS-Web
todavía regresará en ::1:
lugar de 127.0.0.1
. Puedo usar ping localhost -4
para obtener la dirección correcta, pero IPv6 tiene prioridad sobre IPv4, por lo que el software de terceros solo obtiene la dirección IPv6.
fuente
Respuestas:
Inicialmente había verificado el archivo host como SilverbackNet sugirió, pero en un servidor Windows 2008 R2 este es el archivo predeterminado:
#
indica un comentario en el archivo host, por lo que todas las entradas están comentadas, y la primera línea es un poco confusa. Luego noté que había dos entradas para localhost que estaban comentadas, así que traté de descomentar el IPv4 y funcionó. Debería haberlo intentado primero pero la primera línea me desvió. El uso del siguiente archivo de host que hace ping al nombre de la computadora o localhost siempre devolverá una dirección IPv4, lo que soluciona el problema con el software de terceros.fuente
Establecer "DisabledComponents" = 0x20 en
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip6 \ Parameters \
configurará esa máquina para usar IPv4 en lugar de IPv6 en las políticas de prefijos.
Cree la clave de registro si no existe.
fuente
El hilo inicial de ServerFault sobre el uso del
DisabledComponents
valor del registro es realmente la mejor manera de hacerlo. Los ajustes de archivos de hosts nunca deberían ser necesarios en una red que funcione bien. El ajuste del registro también es mucho más fácil de implementar y revertir a través de la política de grupo si tiene un Active Directory.La razón por la que no funcionó es porque esa
DisabledComponents
configuración de registro se lee como un conjunto de marcas de bits y no simplemente activada o desactivada. Aquí está la documentación oficial de Microsoft sobre el tema:Cómo deshabilitar la versión 6 de IP (IPv6) o sus componentes específicos en Windows 7, Windows Vista, Windows Server 2008 R2 y Windows Server 2008
La versión corta es que para desactivar completamente IPv6 en Vista / 2008 y más allá, establezca el valor de
DisabledComponents
a0xff
. Hago esto en cada máquina que administro donde no estamos usando explícitamente IPv6. Tiene el agradable efecto secundario de acortar significativamente la salida delipconfig
comando.fuente
¿Has intentado eliminar la entrada del archivo hosts en% systemroot% \ system32 \ drivers \ etc? Eso debería hacerlo, si solo necesita "localhost" para ser siempre IPv4. Sin embargo, si se basa en el nombre del servidor, esto probablemente no funcionará.
fuente
También puede acceder a las propiedades de la NIC en sí y desmarcar la casilla IPv6, dejando IPv4 habilitado. Debería hacer el truco.
fuente
Intente agregar una línea a su archivo de hosts como:
::1 VPW-Web
Esto debería permitir que el solucionador obtenga
VPW-Web
un nombre para el bucle invertido IPv6.fuente