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 .
Antworten:
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: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):
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):
Sie können die aktuellen Daten im DNS-Cache überprüfen mit:
2. Grundlagen
hosts
und nichthost
, etc.hosts
nichthosts.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.#
) vorangestellt, das auf Kommentare hinweist?www.example.com
und amexample.com
sichersten beides)?3. Leerzeichen
Das Format für jede Zeile ist
IP address
dann eine horizontale Registerkarte (Escape-Code\t
, ASCIIHT
, Hex0x09
) oder ein einzelnes Leerzeichen (Hex0x20
), dann der Hostname, dh.www.example.com
, dann schließlich ein Wagenrücklauf gefolgt von einem Zeilenvorschub (Escape-Codes\r\n
, ASCIICRLF
, Hex0x0d 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!)
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:
Der Eintrag sollte sein:
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:
hosts
.%SystemRoot%\System32\drivers\etc
Verzeichnis (verschieben Sie sie nicht ) und überschreiben Sie die alte Datei.Letzter Punkt ist wichtig: Kopieren funktioniert, Verschieben nicht.
Das lokale
Users
Konto muss die Hosts-Datei lesen können . So stellen Sie sicher (in Windows 7):%SystemRoot%\System32\drivers\etc
im Windows Explorer zu.hosts
Datei nicht sehen können , stellen Sie sicher , dass Sie versteckte und Systemdateien sehen können .hosts
Datei und wählen Sie sieProperties
aus dem Kontextmenü aus.hosts Properties
Klicken Sie im Fenster auf dieSecurity
Registerkarte.Group or user names:
Feld. Wenn%COMPUTERNAME%\Users
vorhanden, klicken Sie darauf, um die Berechtigungen anzuzeigen.Users
nicht vorhanden ist oder vorhanden ist, aber keineRead
Berechtigung hat, klicken Sie aufEdit...
.Users
nicht der Fall, klicken Sie aufAdd...
, geben Sie einUsers
, klicken Sie aufCheck Names
und klicken Sie auf OK, oder drücken Sie die Eingabetaste.Users
und vergewissern SieRead & execute
sich, dass in derAllow
Spalte markiert ist . OK klicken. Wenn eineWindows Security
Warnmeldung angezeigt wird, fahren SieYes
fort.hosts Properties
Fenster zu schließen .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.B
localhost;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
auch wenn die www.myhost.local nicht existiert. Windows hängt seine Arbeitsgruppe oder Localdomain nicht an.
quelle
hosts
Datei 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.Stellen Sie sicher, dass Sie zuerst die IP-Adresse und dann die "Domain" wie folgt eingegeben haben:
quelle
127.0.0.1 bo.dev www.bo.dev ftp.bo.dev
.dev
TLD 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-hstsBitte 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.
quelle
(machine)\USERS
mit Lesen und Lesen & Ausführen- Berechtigungen hinzugefügt und nachdemipconfig /flushdns
es funktioniert hat. Ich danke dir sehr. Ich freue mich sehr, endlich meine Hosts-Datei zurück zu haben.In meinen Fällen habe ich versucht, eine von Windows 7 erstellte Datei zu erstellen: C: \ Windows \ System32 \ drivers \ etc \ hosts.ics.
hosts.ics:
Infolgedessen ignoriert Windows die Einstellungen in C: \ Windows \ System32 \ drivers \ etc \ hosts und verwendet sie von hosts.ics.
quelle
Hosts
Datei ignoriert , nur weil sieHosts.ics
vorhanden ist. Möglicherweise ignoriert Windows Ihre Hosts-Dateien, z. B. eine falsche (aber versteckte) Erweiterung.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.
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.
quelle
hosts.bak
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.
quelle
Stellen Sie sicher, dass Sie die Werte als
IP NAME
und nicht als eingegeben habenNAME IP
.Dies kann vorkommen, wenn die Datei beispielsweise nur einen Eintrag enthält und Sie den auskommentierten Text ignorieren.
quelle
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.
quelle
Stellen Sie in Windows sicher, dass HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters \ DataBasePath auf das Verzeichnis der Hosts-Datei verweist.
quelle
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.
quelle
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).
quelle