Hosts-Datei ignoriert, wie Sie Fehler beheben?

148

Die hosts-Datei auf Windows-Computern wird verwendet, um bestimmte Namenszeichenfolgen an bestimmte IP-Adressen zu binden und andere Methoden zur Namensauflösung zu überschreiben.

Oft entscheidet man sich, die Hosts-Datei zu ändern, und stellt fest, dass die Änderungen nicht wirksam werden oder dass selbst alte Einträge der Hosts-Datei danach ignoriert werden. Eine Reihe von "gotcha" -Fehlern kann dies verursachen, und es kann frustrierend sein, herauszufinden, welcher.

Was ist ein umfassendes Problembehandlungsprotokoll, das möglicherweise befolgt wird, wenn Windows eine Hostdatei ignoriert?


Diese Frage enthält Duplikate auf SO, z. B. HOSTS-Dateien, die ignoriert werden

Diese befassen sich jedoch in der Regel mit einem bestimmten Fall, und sobald sich herausstellt, dass der OP einen Fehler begangen hat, ist die Diskussion beendet. Wenn Sie nicht zufällig den gleichen Fehler gemacht haben, ist eine solche Diskussion nicht sehr nützlich. Daher hielt ich es für hilfreicher, ein allgemeines Protokoll zur Lösung aller Probleme im Zusammenhang mit dem Host zu haben, das alle Fälle abdeckt .

Super
quelle
11
Testen Sie dies auch nicht mit "nslookup", da dieser Befehl die hosts-Datei ignoriert. Benutze lieber "ping".
LatinSuD
Mögliches Duplikat HOSTS - Datei ignoriert
030

Antworten:

220

Basierend auf meinen eigenen Erfahrungen und dem, was ich beim Googeln erlebt habe, sind hier einige Dinge, die ich ausprobieren sollte:

1. Haben Sie überprüft, ob es richtig funktioniert?

Änderungen an Hosts sollten sofort wirksam werden, aber Windows speichert die Daten für die Namensauflösung im Cache, sodass möglicherweise für einige Zeit die alten Datensätze verwendet werden. Öffnen Sie eine Befehlszeile (Windows + R cmd,, Enter) und geben Sie Folgendes ein:

ipconfig /flushdns

Alte Daten löschen. Um zu überprüfen, ob es funktioniert, verwenden Sie (vorausgesetzt, Sie haben einen IPv4-Eintrag in Ihren Hosts für www.example.com oder einen IPv6-Eintrag in Ihren Hosts für ipv6.example.com):

ping www.example.com -n 1
ping -6 ipv6.example.com -n 1

Und sehen Sie, ob es die richtige IP verwendet. Wenn ja, ist Ihre Hosts-Datei in Ordnung und das Problem liegt an einer anderen Stelle.

Sie können den NetBios-Cache auch mit zurücksetzen (Öffnen Sie die Konsole als Administrator, sonst schlägt dies fehl):

nbtstat -R

Sie können die aktuellen Daten im DNS-Cache überprüfen mit:

ipconfig /displaydns | more

2. Grundlagen

  • Ist Ihre Hosts-Datei korrekt benannt? Es sollte sein hostsund nicht host, etc.
  • Ist die Erweiterung korrekt? Es sollte keine Erweiterung haben ( hostsnicht hosts.txt) - Seien Sie vorsichtig, wenn Sie Windows so konfiguriert haben, dass bekannte Erweiterungen ausgeblendet werden. Überprüfen Sie die Eigenschaften, um sicherzugehen: Der richtige Host-Dateityp wird nur als "Datei" angezeigt.
  • Haben Sie die korrekte Syntax befolgt ? Haben Sie Zeilen versehentlich ein Hash ( #) vorangestellt, das auf Kommentare hinweist?
  • Haben Sie sich um alle Varianten gekümmert ( www.example.comund am example.comsichersten beides)?

3. Leerzeichen

Das Format für jede Zeile ist IP addressdann eine horizontale Registerkarte (Escape-Code \t, ASCII HT, Hex 0x09) oder ein einzelnes Leerzeichen (Hex 0x20), dann der Hostname, dh. www.example.com, dann schließlich ein Wagenrücklauf gefolgt von einem Zeilenvorschub (Escape-Codes \r\n, ASCII CRLF, Hex 0x0d 0x0a).

Beispieleinträge unter Verwendung von Unicode-Steuerbildern zur Angabe von Steuerzeichen. (Kopieren Sie diese nicht und fügen Sie sie in Ihre Hosts-Datei ein!)

192.0.2.1␉www.example.com␍␊
2001:db8:8:4::2␉ipv6.example.com␍␊

Die einzelnen Bytes können in Notepad ++ mit dem Hex-Editor-Plugin angezeigt werden . In Notepad ++ werden auch Sonderzeichen angezeigt (Ansicht -> Symbol anzeigen), sodass Sie die Anzahl und Art der Leerzeichen auf einfache Weise überprüfen können.

Wenn Sie Host-Einträge von einer beliebigen Stelle kopiert und eingefügt haben, werden möglicherweise mehrere Leerzeichen angezeigt. Theoretisch unterstützt Hosts mehrere Leerzeichen, die die beiden Spalten trennen, aber es ist eine andere Sache, wenn nichts anderes funktioniert.

Stellen Sie sicher, dass in allen Zeilen Ihrer Hosts-Datei entweder Tabulatoren oder Leerzeichen verwendet werden, nicht beides.

Beenden Sie zum Schluss die Datei mit einer Leerzeile.

4. Registrierungsschlüssel

Es gibt einen Registrierungsschlüssel, der den Speicherort der Hosts-Datei angibt. Angeblich unterstützt Windows das Ablegen der Hosts-Datei an anderen Speicherorten nicht, Sie sollten dies jedoch überprüfen. Der Schlüssel ist:

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath

Der Eintrag sollte sein:

%SystemRoot%\System32\drivers\etc

5. Berechtigungen

Manchmal gibt es Probleme mit Berechtigungen für die Datei, den Dateiattributen und ähnlichen Dingen. So erstellen Sie die Datei mit Standardberechtigungen neu:

  1. Erstellen Sie eine neue Textdatei auf Ihrem Desktop.
  2. Kopieren Sie den Inhalt Ihrer aktuellen Hosts-Datei und fügen Sie ihn in diese Datei im Editor ein.
  3. Speichern Sie die neue Textdatei und benennen Sie sie in um hosts.
  4. Kopieren Sie die Datei in Ihr %SystemRoot%\System32\drivers\etcVerzeichnis (verschieben Sie sie nicht ) und überschreiben Sie die alte Datei.

Letzter Punkt ist wichtig: Kopieren funktioniert, Verschieben nicht.

Das lokale UsersKonto muss die Hosts-Datei lesen können . So stellen Sie sicher (in Windows 7):

  1. Navigieren Sie %SystemRoot%\System32\drivers\etcim Windows Explorer zu.
  2. Wenn Sie die hostsDatei nicht sehen können , stellen Sie sicher , dass Sie versteckte und Systemdateien sehen können .
  3. Klicken Sie mit der rechten Maustaste auf die hostsDatei und wählen Sie sie Propertiesaus dem Kontextmenü aus.
  4. hosts PropertiesKlicken Sie im Fenster auf die SecurityRegisterkarte.
  5. Untersuchen Sie die Liste der Namen im Group or user names:Feld. Wenn %COMPUTERNAME%\Usersvorhanden, klicken Sie darauf, um die Berechtigungen anzuzeigen.
  6. Wenn Usersnicht vorhanden ist oder vorhanden ist, aber keine ReadBerechtigung hat, klicken Sie auf Edit....
  7. Ist dies Usersnicht der Fall, klicken Sie auf Add..., geben Sie ein Users, klicken Sie auf Check Namesund klicken Sie auf OK, oder drücken Sie die Eingabetaste.
  8. Wählen Sie Usersund vergewissern Sie Read & executesich, dass in der AllowSpalte markiert ist . OK klicken. Wenn eine Windows SecurityWarnmeldung angezeigt wird, fahren Sie Yesfort.
  9. Klicken Sie auf OK, um das hosts PropertiesFenster zu schließen .
  10. Gehen Sie zu Abschnitt 1 dieser Antwort und befolgen Sie die Anweisungen, um zu überprüfen, ob es jetzt funktioniert.

6. Kodierung

Die Hosts-Datei sollte in ANSI oder UTF-8 ohne Stückliste codiert sein. Sie können dies mit Datei -> Speichern unter tun.

7. Proxies

Wenn Sie einen Proxy konfiguriert haben, umgeht dieser möglicherweise die Hosts-Datei. Die Lösung besteht darin, den Proxy nicht zu verwenden oder ihn so zu konfigurieren, dass dies nicht möglich ist.

Um dies zu überprüfen, gehen Sie zu Ihrem Internet Explorer -> Internetoptionen -> Verbindungen -> LAN-Einstellungen. Wenn alles leer ist und "Einstellungen automatisch erkennen" aktiviert ist, verwenden Sie keinen Proxy.

Wenn Sie sich auf einen Proxy verlassen, um auf das Web zuzugreifen, und ihn daher nicht deaktivieren möchten, können Sie Ausnahmen hinzufügen, indem Sie zu Internet Explorer -> Internetoptionen -> Verbindungen -> LAN-Einstellungen -> Proxyserver / Erweitert gehen. Fügen Sie dann Ihre Ausnahmen zum Textfeld Ausnahmen hinzu. Z.Blocalhost;127.0.0.1;*.dev

8. DNS-Adresse

(Dies kann auch Proxy-Probleme lösen.)

Wechseln Sie zu den Eigenschaften Ihrer Netzwerkverbindungen und dann zu den TCP / IP-Einstellungen, und ändern Sie den ersten DNS-Server in 127.0.0.1(localhost). Die zweite sollte wahrscheinlich Ihre tatsächliche DNS-IP sein.

Dies ist nicht erforderlich, damit die hosts-Datei funktioniert. In Ihrem Fall kann es jedoch hilfreich sein, wenn etwas seltsam konfiguriert ist.

9. .Lokale Adressen

Wenn Sie einen .local-Domaineintrag in Form von myhost.local verwenden und dieser ignoriert wird, versuchen Sie Folgendes

x.x.x.x myhost.local www.myhost.local

auch wenn die www.myhost.local nicht existiert. Windows hängt seine Arbeitsgruppe oder Localdomain nicht an.

Super
quelle
3
DANKE VIELEN SUPERBEST! Ich weine fast, so viele von uns sind verrückt nach einem Leerzeichen zwischen zwei Zeilen. Danke Danke Danke Danke Danke Danke !!!!!
1
Ein weiteres Problem ist, dass 64-Bit-Versionen von Windows den Ordner "System32" für 32-Bit-Anwendungen (z. B. Notepad ++) umleiten. Wenn Sie die Datei speichern, wird sie im Ordner "SystemWOW64" anstelle von "System32" angezeigt. Die beste Lösung ist die Verwendung der 64-Bit-Windows-Version von Notepad. Wenn Sie einen 32-Bit-Editor verwenden, ist es am zweitbesten, eine Verbindung zur Administratorfreigabe (\\ Ihr Computername \ c $ \ Windows \ System32 \ drivers \ etc) herzustellen, um die Datei zu öffnen.
Tim Lewis
4
Guter Beitrag, aber mit ein paar Fehlern. 1) "Einstellungen automatisch erkennen" im Internet Explorer kann dazu führen, dass Sie (auch unwissentlich) einen Proxy verwenden, wenn Ihr Netzwerk tatsächlich eine automatische Proxy-Konfiguration bietet. 2) Das Ändern Ihrer DNS-Server in den Netzwerkeinstellungen hat nichts damit zu tun, wie / wann / ob die hostsDatei verwendet wird, und das Ändern auf 127.0.0.1 ist effektiv ein Fehler, es sei denn, Sie betreiben tatsächlich einen DNS-Server auf Ihrem Computer.
Massimo
1
# 5 (Erstellen einer neuen Datei und Kopieren) hat den Trick für mich gemacht. Win7 kann mit Berechtigungen lustig sein.
chris
1
Ich habe die hosts-Datei unter Cygwin mit vim bearbeitet. Ich glaube, dies hat dazu geführt, dass meine hosts-Datei nicht mehr funktioniert. Ich musste eine neue Datei erstellen und den Inhalt der vorherigen Hosts-Datei kopieren und das hat es behoben.
Forloop
16

Stellen Sie sicher, dass Sie zuerst die IP-Adresse und dann die "Domain" wie folgt eingegeben haben:

127.0.0.1   bo.dev
127.0.0.1   www.bo.dev
Gustaf
quelle
6
Ich bevorzuge die Verwendung einer einzelnen Zeile:127.0.0.1 bo.dev www.bo.dev ftp.bo.dev
Xhynk
1
Achtung, die Windows-Hosts-Datei erlaubt nur NEUN ODER WENIGER Einträge pro Zeile! Das hat mich gebissen und eine Weile gebraucht, um es herauszufinden.
Andrew
Verwenden Sie die .devTLD nicht lokal und denken Sie, dass Sie keine Kollisionen bekommen. Es handelt sich um eine gültige globale TLD von Google, und bei der Verwendung treten häufig Probleme auf. Siehe ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts
Patrick Mevzek
Anfängerfehler, aber es hat funktioniert. Doh! hatten sie dann rückwärts Namen IP
ransems
11

Bitte fügen Sie Überprüfungsdateiberechtigungen hinzu. Ich fand das, obwohl ich lokale Admin-Rechte zum Computer und folglich zu den Wirten hatte. Erst als ich mit Read und Read & Execute und dann mit ipconfig / flushdns lokale Benutzer zu den Dateiberechtigungen des Hosts hinzufügte, wurden die Hosts aktiv.

David Siviour
quelle
3
Das war's! Ich habe dieses Problem für verwirrt worden Jahre . Ich habe (machine)\USERSmit Lesen und Lesen & Ausführen- Berechtigungen hinzugefügt und nachdem ipconfig /flushdnses funktioniert hat. Ich danke dir sehr. Ich freue mich sehr, endlich meine Hosts-Datei zurück zu haben.
Clement Cherlin
7

In meinen Fällen habe ich versucht, eine von Windows 7 erstellte Datei zu erstellen: C: \ Windows \ System32 \ drivers \ etc \ hosts.ics.

hosts.ics:

# This file has been automatically generated for use by Microsoft Internet
# Connection Sharing. It contains the mappings of IP addresses to host names
# for the home network. Please do not make changes to the HOSTS.ICS file.
# Any changes may result in a loss of connectivity between machines on the
# local network.

Infolgedessen ignoriert Windows die Einstellungen in C: \ Windows \ System32 \ drivers \ etc \ hosts und verwendet sie von hosts.ics.

Unick
quelle
1
Aus support.microsoft.com/de-de/kb/309642/de-de , die möglicherweise nicht mehr korrekt ist: "Die Hosts.ics-Datei wird von ICS zum Speichern von Informationen über dynamisch konfigurierte Clients verwendet. Vermeiden Sie Änderungen an Diese Datei verhindert den Verlust von Konnektivität oder Daten. Die Hosts-Datei (ohne Dateinamenerweiterung) ist die Datei, der Sie Informationen zu statisch konfigurierten Clients hinzufügen. " Daher würde ich NICHT erwarten, dass Windows die HostsDatei ignoriert , nur weil sie Hosts.icsvorhanden ist. Möglicherweise ignoriert Windows Ihre Hosts-Dateien, z. B. eine falsche (aber versteckte) Erweiterung.
Arjan
1
Ich sehe diese Information. Aber ich weiß nicht, warum ich Hosts zum Laufen bringen konnte, nur wenn ich hosts.ics editiert habe. Bevor ich hosts.ics bearbeitete, habe ich alle Methoden aus diesem Thema ausprobiert, aber hosts funktioniert nicht.
Unick
Vielen Dank! Du hast mein Leben gerettet. Arbeitete unter Windows 10
Xatenev
3

Ich hatte das gleiche Problem, Host-Dateieinträge wurden ignoriert. Ich habe alles in diesem und vielen anderen Threads ohne Glück versucht. Ich dachte, ich würde posten, was für mich funktioniert, falls jemand anderes darauf stößt.

  1. Öffnen Sie den Windows Explorer als Administrator
  2. LÖSCHEN Sie die Hosts-Datei
  3. Öffnen Sie den Editor als Administrator und erstellen Sie eine neue Hosts-Datei
  4. Beginnen Sie von vorne und fügen Sie Einträge hinzu.
  5. Stellen Sie sicher, dass die Hosts-Datei keine TXT-Erweiterung hat

Hinweis: Das einfache Öffnen der Hosts-Datei und Löschen des Inhalts, das Überprüfen, ob es sich um 0 KB handelt, und das erneute Hinzufügen funktionierten nicht. Ich vermute ein Berechtigungsproblem für die Datei.

PSA4444
quelle
Kurzer Hinweis: Wenn Sie Systemdateien (z. B. die Hosts-Datei) ändern, ist es ratsam, zuerst eine Sicherungskopie zu erstellen. Um Datenverlust zu vermeiden, sollten Sie stattdessen die vorhandene Hosts-Datei wie hosts.bak
folgt
1

Habe Stunden, wahrscheinlich Tage damit verbracht.

Die IBM Trusteer Endpoint Rapport-Sicherheit kann dieses Problem verursachen.

Ich hatte mysite.com zu seiner Liste der vertrauenswürdigen Sites hinzugefügt.

Ich denke, im Rahmen seiner Sicherheit wird verhindert, dass Malware oder Viren Sie auf alternative Websites umleiten.

Hat meine Seite aus der Liste der vertrauenswürdigen Sites entfernt und überprüft und "korrigiert" nicht mehr die Dateiumleitung meines Hosts.

Ich hoffe, das hilft jemandem, sein Problem zu lösen.

Vogel auf der Hand
quelle
1

Stellen Sie sicher, dass Sie die Werte als IP NAMEund nicht als eingegeben haben NAME IP.

Dies kann vorkommen, wenn die Datei beispielsweise nur einen Eintrag enthält und Sie den auskommentierten Text ignorieren.

knb
quelle
1

Ein Problem, das in der obigen Diskussion übersehen wurde, sind nicht qualifizierte Namen (Namen, die keinen Punkt enthalten) in der Hosts-Datei. Ihre Netzwerkeinstellungen werden möglicherweise zu diesem Zeitpunkt aktiviert und fügen automatisch Ihre eigene Domain am Ende einer nicht qualifizierten Domain hinzu. Infolgedessen wird der Name möglicherweise nicht oder noch schlimmer auf einen völlig anderen Computer aufgelöst.

user287479
quelle
0

Stellen Sie in Windows sicher, dass HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters \ DataBasePath auf das Verzeichnis der Hosts-Datei verweist.

Geln Yang
quelle
0

In meinem Fall bestand das Problem darin, dass ich eine Hosts-Datei aus einem verschlüsselten Verzeichnis kopierte und die etc / hosts damit überschrieb. Ich musste die Eigenschaften überprüfen und das Kontrollkästchen "Datei verschlüsseln" deaktivieren.

Janos
quelle
0

Meine Hosts-Datei wird ignoriert, bis auf meinem Laptop (Windows 7) eine Netzwerkverbindung besteht. Sobald ich mich mit einem Netzwerk verbinde, funktioniert alles wie erwartet. Ohne ein Netzwerk kann ich natürlich keine Pings an Hosts usw. senden, aber ich habe trotzdem erwartet, dass Windows seine IP-Adressen aus der Hosts-Datei bezieht. Das tut es nicht. Auch nach dem Trennen der Verbindung werden die Adressen weiterhin in Ordnung gesucht. Zwischen dem Neustart des Computers und der ersten Verbindung mit einem Netzwerk wird jedoch die Hosts-Datei ignoriert.

(Tabulatoren, Leerzeichen und keine Zeilenumbrüche sind übrigens, soweit ich das beurteilen kann, irrelevant).

Denis Howe
quelle