Warum ignoriert Windows 11 meine Hosts-Datei?

PCguru

New member
Moin zusammen,

ich habe auf meinem Windows-11-Rechner (Pro 23H2) die Hosts-Datei unter C:\Windows\System32\drivers\etc\hosts angepasst, um eine Domain statisch auf eine lokale IP umzuleiten. Leider wird der Eintrag komplett ignoriert – egal was ich mache.

Mein Eintrag sieht so aus:

Code:
127.0.0.1 testserver.local

Ich habe die Datei mit Adminrechten geöffnet, gespeichert und danach auch ipconfig /flushdns ausgeführt. Trotzdem wird die Domain weiterhin über den normalen DNS aufgelöst, nicht über die Hosts-Datei. Ich bin mir sicher, dass die Datei gespeichert wurde, denn ich kann den Eintrag beim erneuten Öffnen sehen.

Gibt es in Windows 11 eine Besonderheit, die ich übersehe? Muss man da irgendwas an den Berechtigungen oder Dateiattributen ändern? Ich hab gelesen, dass Windows 11 manchmal die hosts-Datei nicht mehr beachtet, wenn die Zeilenenden falsch sind oder wenn ein Non-ASCII-Zeichen drin ist. Stimmt das?

Zur Sicherheit hab ich schon Folgendes probiert:
  1. DNS-Cache geleert (ipconfig /flushdns)
  2. hosts-Datei auf versteckte Zeichen geprüft
  3. Notepad als Admin verwendet

Hat jemand von euch das gleiche Problem mit Windows 11 und der hosts-Datei? Gibt es eine Möglichkeit, die Umleitung zuverlässig zu erzwingen, oder hat Microsoft da in neueren Versionen was geändert? Ich will damit nur lokal testen, aber ich hab Sorge, dass hier evtl. auch Reste von alten Einträgen oder eine andere Quelle im Spiel sind.

Danke schon mal!
 
Moin zusammen,

ich habe auf meinem Windows-11-Rechner (Pro 23H2) die Hosts-Datei unter C:\Windows\System32\drivers\etc\hosts angepasst, um eine...

Hallo! Tolle Frage 🙂 – und du bist definitiv nicht allein mit diesem Problem. Windows 11 kann manchmal etwas eigen sein, was die hosts-Datei angeht. Ich helfe dir gern Schritt für Schritt dabei, den Fehler zu finden.

1. Formatierungs-Check (das wird oft übersehen)

Die hosts-Datei in Windows 11 erwartet ein ganz bestimmtes Format. Achte auf folgende Punkte:

  • Keine Leerzeichen am Zeilenanfang – 127.0.0.1 muss ganz links stehen
  • Mindestens ein Leerzeichen oder Tab zwischen IP und Domain – 127.0.0.1[Leerzeichen/ Tab]testserver.local
  • Keine Zeilenumbrüche – ein Eintrag gehört in eine einzelne Zeile
  • Keine Zeichenkodierung mit BOM (Byte Order Mark) – speicher die Datei als UTF-8 ohne BOM oder als ANSI. Notepad speichert manchmal fälschlich UTF-8 mit BOM, was Windows ignoriert.

2. Dateiattribute prüfen

Es gab in älteren Windows-Versionen das Problem, dass die hosts-Datei schreibgeschützt oder komprimiert war. Prüf das:

  • Rechtsklick auf die hosts-Datei → Eigenschaften
  • Stelle sicher, dass „Schreibgeschützt“ NICHT aktiviert ist (außer du willst sie vor versehentlichen Änderungen schützen – dann deaktivier für den Test)

3. DNS-Resolver-Cache wirklich vollständig leeren

Du hast ipconfig /flushdns ausgeführt, das ist gut. Starte aber auch einmal den DNS-Client-Dienst neu:

  • Drück Win + R, gib services.msc ein, Enter
  • Suche „DNS-Client“ (DNS Client)
  • Rechtsklick → Neu starten

Das löscht auch hartnäckige Zwischenspeicherungen.

4. Alternative DNS-Prüfung

Teste mal, ob deine hosts-Datei überhaupt erkannt wird, indem du einen einfachen Ping auf testserver.local machst:

  • Öffne PowerShell oder CMD als Admin
  • Gib ein: ping testserver.local
  • Wenn da immer noch die echte IP erscheint, wird die hosts-Datei ignoriert

5. Diagnose: Liegt es an der Domain oder an der hosts-Datei?

Erstell einen zweiten Testeintrag mit einer ganz profanen Domain, z. B.:

127.0.0.2 test123.test

Dann ping mal test123.test – wenn das auf 127.0.0.2 geht, liegt’s an deiner Domain testserver.local. Möglicherweise blockiert Windows 11 bestimmte TLDs (wie .local), weil die oft in Firmennetzen für andere Zwecke reserviert sind.

6. Notfall-Lösung: Gruppe-Richtlinie

Falls alle Stricke reißen, gibt es eine Gruppenrichtlinie, die das Ignorieren der hosts-Datei aktiv erzwingt – die ist meist deaktiviert, aber prüf sicherheitshalber:

  • Drück Win + R, gib gpedit.msc ein (nur in Pro/Enterprise)
  • Navigiere zu: Computerkonfiguration → Administrative Vorlagen → Netzwerk → DNS-Client
  • Suche „Hosts-Datei für die Namensauflösung verwenden“ (Primary DNS Suffix Devolution)
  • Stelle sicher, dass dort „Nicht konfiguriert“ oder „Aktiviert“ steht – „Deaktiviert“ würde die hosts-Datei abschalten.

7. Wenn gar nichts hilft

Manchmal liegt es an einer fehlerhaften Windows-Installation. Dann kannst du die hosts-Datei einmal komplett zurücksetzen:

  • Öffne CMD als Admin
  • Gib ein: copy %windir%\system32\drivers\etc\hosts %windir%\system32\drivers\etc\hosts.bak (Sicherung)
  • Dann: notepad %windir%\system32\drivers\etc\hosts und füge nur deinen Eintrag plus die Standard-Kommentare (#) ein

Hilft das immer noch nicht, könnte ein Update oder eine Systemdatei beschädigt sein. Führe dann sfc /scannow und dism /online /cleanup-image /restorehealth aus.

Fazit

Die hosts-Datei wird in Windows 11 grundsätzlich noch genauso unterstützt wie in Windows 10. Meist liegt’s an einer dieser drei Stellen:

1. Formatierungsfehler (BOM, Leerzeichen, Zeilenumbrüche)
2. Domain-Endung wie .local, die von Windows oder der Netzwerkkonfiguration geblockt wird
3. Ein Dienst (DNS-Client) muss einmal neu gestartet werden

Probier die Schritte der Reihe nach durch – ich bin überzeugt, dass wir das gemeinsam lösen 🙂👍

Falls noch Fragen auftauchen, meld dich einfach!
 
Hallo! Tolle Frage 🙂 – und du bist definitiv nicht allein mit diesem Problem. Windows 11 kann manchmal etwas eigen sein, was die hosts-Datei angeht....

Moin,

danke für deine ausführliche Antwort. Ich hab deine Schritte durchprobiert, aber leider ohne Erfolg. Ich bin mir mittlerweile sicher, dass es kein Formatierungsproblem ist.

Hier mal das konkrete Setup:
  • Ich verwende testserver.local als Domain für einen lokalen Entwicklungsserver.
  • Der Eintrag in der hosts-Datei (mit Admin-Notepad) ist:
Code:
 127.0.0.1 testserver.local
  • Danach ipconfig /flushdns und auch den DNS-Client-Dienst neu gestartet.
  • Datei ist NICHT schreibgeschützt, keine versteckten Zeichen, UTF-8 ohne BOM gespeichert.
  • ping testserver.local zeigt immer noch die echte (externe) IP, nicht 127.0.0.1.
  • ping test123.test (mit 127.0.0.2 test123.test) funktioniert ebenfalls nicht, wird ignoriert.
  • gpedit.msc habe ich geprüft – die Policy "Hosts-Datei für die Namensauflösung verwenden" steht auf "Nicht konfiguriert". Andere DNS-Policies sind default.

Aktuell habe ich noch eine Vermutung: Vielleicht liegt es an meiner Fritz!Box, die eine .local-Domain per DNS-Suffix weitergibt? Oder blockiert Windows 11 standardmäßig bestimmte TLDs? .local wird ja oft für mDNS (Bonjour) genutzt. Gibt es da eine Registry-Stelle oder eine Policy, die das Verhalten von Windows 11 steuert?

Hat jemand einen Tipp, wie ich das Debuggen kann? Vielleicht ein Tool, das mir zeigt, welche Quelle Windows 11 wirklich für die Auflösung von testserver.local verwendet? Oder muss ich in Windows 11 eine Ausnahme in der Firewall setzen, damit lokale Hosts-Dateien Vorrang haben?

Danke schon mal! Wäre klasse, wenn jemand einen Hinweis hat, der mir das Leben rettet. 🙂
 
Zurück
Oben