Nous avons essayé d'installer un produit logiciel tiers sur une nouvelle machine Windows Server 2008 R2 et avons constaté que tout fonctionne sauf pour accéder aux services locaux via des adresses de bouclage telles que localhost
ou le nom de l'ordinateur (ex: VPS-Web
qui se résout en localhost
). Nous n'utilisons pas IPv6 et souhaitons le désactiver jusqu'à ce que le logiciel soit compatible.
J'ai essayé d'utiliser ces instructions pour désactiver IPv6 sur Windows 2008 R2 mais cela n'a pas désactivé le protocole pour localhost
. Pinging localhost
ou VPS-Web
reviendra toujours ::1:
au lieu de 127.0.0.1
. Je peux utiliser ping localhost -4
pour obtenir l'adresse correcte, mais IPv6 a priorité sur IPv4, le logiciel tiers n'obtient que l'adresse IPv6.
windows-server-2008-r2
ipv6
loopback
Greg Bray
la source
la source
Réponses:
J'avais initialement vérifié le fichier hôte comme le suggérait SilverbackNet, mais sur un serveur Windows 2008 R2, c'est le fichier par défaut:
#
indique un commentaire dans le fichier hôte, donc toutes les entrées sont mises en commentaire et la première ligne est un peu déroutante. J'ai ensuite remarqué qu'il y avait deux entrées pour localhost qui ont été commentées, alors j'ai essayé de ne pas commenter l'IPv4 et cela a fonctionné! J'aurais dû essayer ça d'abord mais j'ai été éjecté par la première ligne. En utilisant le fichier hôte ci-dessous, cingler le nom de l'ordinateur ou localhost retournera toujours une adresse IPv4, ce qui résout le problème avec le logiciel tiers!la source
Définition de "DisabledComponents" = 0x20 sous
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip6 \ Parameters \
définira cette machine pour utiliser IPv4 au lieu d'IPv6 dans les stratégies de préfixe.
Créez la clé de registre si elle n'existe pas.
la source
Le thread initial de ServerFault sur l'utilisation de la
DisabledComponents
valeur de registre est vraiment la meilleure façon de procéder. L'ajustement des fichiers des hôtes ne devrait jamais être nécessaire dans un réseau qui fonctionne bien. Le réglage du registre est également beaucoup plus facile à déployer et à rétablir via une stratégie de groupe si vous disposez d'un Active Directory.La raison pour laquelle cela n'a pas fonctionné est que ce
DisabledComponents
paramètre de registre est lu comme un ensemble d'indicateurs de bits et non simplement activé ou désactivé. Voici la documentation officielle de Microsoft sur le sujet:Comment désactiver IP version 6 (IPv6) ou ses composants spécifiques dans Windows 7, Windows Vista, Windows Server 2008 R2 et Windows Server 2008
La version courte est celle pour désactiver complètement IPv6 sur Vista / 2008 et au-delà, définissez la valeur de
DisabledComponents
sur0xff
. Je le fais sur toutes les machines que je gère où nous n'utilisons pas explicitement IPv6. Cela a pour effet secondaire de raccourcir considérablement la sortie de laipconfig
commande.la source
Avez-vous essayé de supprimer l'entrée du fichier hosts dans% systemroot% \ system32 \ drivers \ etc? Cela devrait le faire, si vous avez juste besoin que "localhost" soit toujours IPv4. Cependant, s'il est basé sur le nom du serveur, cela ne fonctionnera probablement pas.
la source
Vous pouvez également accéder aux propriétés de la carte réseau elle-même et décocher la case IPv6, en laissant IPv4 activé. Devrait faire l'affaire.
la source
Essayez d'ajouter une ligne à votre fichier d'hôtes comme:
::1 VPW-Web
Cela devrait permettre au résolveur d'obtenir
VPW-Web
un nom pour le bouclage IPv6.la source