Wir haben versucht, ein Softwareprodukt eines Drittanbieters auf einem neuen Windows Server 2008 R2-Computer zu installieren, und festgestellt, dass alles funktioniert, außer dass auf lokale Dienste über Loopback-Adressen wie localhost
oder den Computernamen zugegriffen wird (z. B .: wird VPS-Web
in aufgelöst localhost
). Wir verwenden IPv6 nicht und möchten es deaktivieren, bis die Software kompatibel ist.
Ich habe versucht, diese Anweisungen zum Deaktivieren von IPv6 unter Windows 2008 R2 zu verwenden, aber das Protokoll für wurde nicht deaktiviert localhost
. Pinging localhost
oder VPS-Web
wird weiterhin ::1:
anstelle von zurückkehren 127.0.0.1
. Ich kann verwenden ping localhost -4
, um die richtige Adresse zu erhalten, aber IPv6 hat Vorrang vor IPv4, sodass die Software von Drittanbietern nur die IPv6-Adresse erhält.
quelle
Antworten:
Ich hatte die Hostdatei zunächst wie von SilverbackNet vorgeschlagen überprüft, aber auf einem Windows 2008 R2-Server ist dies die Standarddatei:
#
Gibt einen Kommentar in der Hostdatei an, sodass alle Einträge auskommentiert werden und die erste Zeile etwas verwirrend ist. Ich bemerkte dann, dass es zwei Einträge für localhost gab, die auskommentiert wurden, also habe ich versucht, den IPv4-Eintrag zu entfernen, und es hat funktioniert! Ich hätte das zuerst versuchen sollen, aber ich wurde von der ersten Zeile aus der Bahn geworfen. Wenn Sie die folgende Host-Datei verwenden, die den Computernamen oder localhost pingt, wird immer eine IPv4-Adresse zurückgegeben, wodurch das Problem mit der Software von Drittanbietern behoben wird!quelle
Einstellung "DisabledComponents" = 0x20 unter
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip6 \ Parameters \
Legt fest, dass dieser Computer IPv4 anstelle von IPv6 in Präfixrichtlinien verwendet.
Erstellen Sie den Registrierungsschlüssel, falls er nicht vorhanden ist.
quelle
Der erste ServerFault-Thread zur Verwendung des
DisabledComponents
Registrierungswerts ist der beste Weg, dies zu tun. In einem gut funktionierenden Netzwerk sollte das Optimieren von Hostdateien niemals erforderlich sein. Die Registrierungsoptimierung ist auch über Gruppenrichtlinien viel einfacher bereitzustellen und wiederherzustellen, wenn Sie über ein Active Directory verfügen.Der Grund, warum es nicht funktioniert hat, ist, dass diese
DisabledComponents
Registrierungseinstellung als Satz von Bit-Flags gelesen wird und nicht einfach ein oder aus ist. Hier ist die offizielle Dokumentation von Microsoft zu diesem Thema:Deaktivieren von IP Version 6 (IPv6) oder seiner spezifischen Komponenten in Windows 7, Windows Vista, Windows Server 2008 R2 und Windows Server 2008
Um IPv6 unter Vista / 2008 und höher vollständig zu deaktivieren, setzen Sie den Wert
DisabledComponents
auf0xff
. Ich mache das auf jedem Computer, den ich verwalte, auf dem wir IPv6 nicht explizit verwenden. Es hat den netten Nebeneffekt, dass die Ausgabe desipconfig
Befehls erheblich verkürzt wird .quelle
Haben Sie versucht, den Eintrag aus der Hosts-Datei in% systemroot% \ system32 \ drivers \ etc zu entfernen? Das sollte es tun, wenn Sie nur "localhost" benötigen, um immer IPv4 zu sein. Wenn es jedoch auf dem Servernamen basiert, funktioniert dies wahrscheinlich nicht.
quelle
Sie können auch die Eigenschaften der Netzwerkkarte selbst aufrufen und das Kontrollkästchen IPv6 deaktivieren, wobei IPv4 aktiviert bleibt. Sollte den Trick machen.
quelle
Versuchen Sie, Ihrer hosts-Datei eine Zeile wie folgt hinzuzufügen:
::1 VPW-Web
Dies sollte es dem Resolver ermöglichen,
VPW-Web
einen Namen für das IPv6-Loopback zu erhalten.quelle