HOSTS-Datei wird ignoriert

23

Meine Workstation (Windows XP, Professional, v2002, SP3) ignoriert meine Hosts-Datei vollständig.

Hier ist der Code in meiner Hosts-Datei:

127.0.0.1       localhost

172.17.1.107    wiki

Wenn ich jedoch einen Browser öffne und "wiki" in die URL-Leiste eingebe und "Enter" drücke, gehe ich zum alten Speicherort meines Wikis, wie er in meiner alten Hosts-Datei angezeigt wird:

10.0.36.100     wiki

Obwohl ich die alte Hosts-Datei "hosts_full" umbenannt und auf meinen Desktop verschoben habe (also komplett aus dem etc-Ordner).

Ich habe bisher folgende Schritte unternommen:

  1. Neustart (3 mal)
  2. Bin ipconfig /flushdnsvon der Kommandozeile gelaufen
  3. Ran ping wikivon der Kommandozeile, Reaktion war

Reply from 10.0.36.100: bytes=32 time=1ms TTL=63

Ich habe jeden Cache geleert, der mir einfällt (IE, FF).

Ich habe einen ISA-Firewall-Client, der auf meinem Computer ausgeführt wird, und ich habe dies alles mit deaktiviert und aktiviert versucht. Tatsächlich verwendet die Firewall die alte Hosts-Datei, um sich selbst aufzulösen:

10.0.2.126      isa3

Und irgendwie funktioniert es auch dann noch, wenn die neue Hosts-Datei diese Zeile nicht enthält.

Irgendwelche Ideen??? Vielen Dank im Voraus für die Hilfe!

cmcculloh
quelle
Was passiert, wenn Sie einen neuen Eintrag für diese IP erstellen, z. B. 172.17.1.107 Wikitest?
Shufler

Antworten:

24

Besteht die Möglichkeit, dass Sie einen Proxyserver zum Browsen verwenden? In diesem Fall löst der Proxy-Server möglicherweise den DNS-Namen für Sie auf.

Und deshalb erhalten Sie in einer Befehlszeile mit Ping andere Ergebnisse als im Browser.

Zufälliger Datenverkehr wird abgefangen und geändert. Sehr zufällig ...

Artifex
quelle
1
Ja, tatsächlich habe ich herausgefunden, dass es einen Unternehmens-Proxy gibt, der meine Anfragen abfängt und auf sie reagiert. Irgendwie hat es meine hosts-Datei umgangen. Wenn es einen Eintrag im Unternehmensproxy gab, überschrieb er meinen lokalen Host-Dateieintrag. Diese Antwort sagte zwar nicht wirklich "wie", um das Problem zu beheben, identifizierte aber die eigentliche Grundursache des Problems (es ist nicht die Firewall ...)
cmcculloh
1
Als ich das Problem hatte, war es eine einfache Lösung. Ich habe mich dafür entschieden, keinen Proxy für diese IP zu verwenden (unter den Proxy-Einstellungen in Firefox). Dieser Fix gilt möglicherweise nicht für Ihr Problem (Firewall blockiert möglicherweise ausgehendes HTTP ohne Proxy usw.). Wenn Sie keine zentrale Verwaltung von Mozilla-Profilen haben, kann dies auch eine Hündin sein, die auf mehrere Computer verteilt wird. Ich kann nicht für IE antworten, da wir es nicht verwenden.
artifex
3
.. * Hündin * rollen aus .. Lol
Manas
1
Es dauerte nur 4 Jahre, bis jemand @silent_warrior bemerkte;)
artifex
1
@artifex Vielen Dank für Ihre Antwort und Ihren Kommentar. Dadurch wurde mir klar, dass ich Ausnahmen einrichten kann, die mein Problem lösen. Alle
haakym
9

Firewall reagiert auf Pings?
Dies ist ein langer Schritt von der IP-Adresse, die Sie angegeben haben, aber was passiert, wenn Sie die neue IP direkt anpingen. Funktioniert das?

Der Grund, warum ich frage, ob 10.0.36.100 zufällig eine Firewall ist, die auf den Ping reagiert, wird als Antwort darauf ausgegeben, obwohl Sie eine andere IP gepingt haben ...

Big Hosts-Datei?
Das hat mich und eine andere IT-Person auch einmal dazu gebracht, dass es viele leere Zeilen in den Fenster-Hosts-Dateien gab und dann Einträge ganz unten - die Bildlaufleiste ist uns nicht aufgefallen :-)

Ist die hosts-Datei wirklich die hosts-Datei?
Schauen Sie sich zum Schluss die Registrierung an und vergewissern Sie sich, dass sich die Hostdatei an dem Ort befindet, den Sie für wahrscheinlich halten. Der folgende Schlüssel gibt an, wo sich die eigentliche Hostdatei befindet:

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath
Kyle Brandt
quelle
1
1: Antwort von 172.17.1.107: Bytes = 32 Mal <1ms TTL = 63 2: Nein, gesamte Bildlaufleiste der Hosts-Datei und alle ... 3: DataBasePath, Type = "REG_EXPAND_SZ", Data = "% SystemRoot% \ System32 \ drivers \ etc "Dieser% SystemRoot% -Teil hat mich neugierig gemacht, also habe ich meine" Umgebungsvariablen "geöffnet und nach einer SystemRoot-Variablen gesucht. Da ich keinen gefunden habe, habe ich einen erstellt und ihn auf C: \ Windows gesetzt. Dann habe ich einen ipconfig / flushdns-Befehl ausgeführt und www.wiki.com gepingt, aber er hat immer noch von 70.35.23.23 statt 172.17.1.107 geantwortet was ich in meiner hosts-Datei eingestellt habe). Trotzdem danke! Gute Vorschläge an alle!
cmcculloh
Guter Fang, mein System wurde von Laufwerk E gebootet und nicht wie erwartet von Laufwerk C.
Manny
5

Versuchen Sie, Ihren DNS-Cache mit Start -> Ausführen ... zu leeren.

 ipconfig /flushdns

Versuchen Sie auch, NetBIOS und LMHOSTS für Ihren Netzwerkadapter zu deaktivieren. Sie können die Einstellungen in den TCP / IP-Eigenschaften der verwendeten Netzwerkverbindung unter Erweitert -> WINS ändern.

roden
quelle
Das ist das erste, was eine Person versuchen würde ...
vsync
3

Laut http://technet.microsoft.com/en-us/library/bb727005.aspx könnte es sich in Ihrem lokalen NETBIOS-Namenscache befinden. Sie können nbtstat ( http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/nbtstat.mspx?mfr=true ) verwenden, um diesen Cache abzufragen / zu löschen .

Maximus Minimus
quelle
Wenn ich den Befehl "nbstat" absetze, wird "'nbstat' nicht als interner oder externer Befehl,
ausführbares
nbtstat, nicht nbstat - Sie vermissen das erste "t" ... :)
Maximus Minimus
oops: P Ok, habe ein nbtstat -R und nbtstat -RR und nbtstat -r und dann nbtstat -c (und es sagte "keine Namen im Cache)
cmcculloh
und es funktionierte immer noch nicht btw
cmcculloh
3

Es stellte sich heraus, dass mein Unternehmens-DNS vor meiner Hosts-Datei getroffen wurde. Also ich:

  1. Öffnete meine TCP / IP-Eigenschaften (Systemsteuerung> Netzwerkverbindungen> LAN-Verbindung> Eigenschaften> (Bildlauf nach unten) Internetprotokoll (TCP / IP)> Eigenschaften).
  2. Klicken Sie auf "Folgende DNS-Serveradressen verwenden:" (anstatt die DNS-Serveradresse automatisch zu beziehen).
  3. Geben Sie "172.0.0.1" und "172.0.0.2" ein (und klicken Sie auf OK)

Jetzt funktioniert meine Hosts-Datei einwandfrei ... Über die Befehlszeile. Wenn ich jedoch einen Eintrag für www.google.com eingebe, der auf 172.17.1.107 zeigt, wird beim Pingen über die Befehlszeile die in der Hosts-Datei angegebene IP-Adresse zurückgegeben. Wenn ich es jedoch über den Browser drücke, wird mir immer noch Google anstelle meiner lokalen Website angezeigt. Wenn ich jedoch einen Eintrag für "fredspc" eingebe, der auf 172.17.1.107 zeigt, und diesen vom Browser aus drücke, gehe ich zum 172.17.1.107.

Ich habe das herausgefunden, weil wenn ich "tedspc" in meine Hosts-Datei eingeben würde (dh etwas, das sich niemals auflösen würde) und ihm eine IP-Adresse geben und einen Ping-Befehl senden würde, würde es sich in diese IP-Adresse auflösen. Das Problem bestand darin, dass www.wiki.com und alles andere, was ich in meine Hosts-Datei eingab, einen Eintrag in meinem Unternehmens-DNS-Server aufwies, was zur Auflösung führte wird zuerst vor der hosts-Datei angeschaut). Also habe ich das Firmen-DNS aus der Eingabeaufforderungsschleife herausgeschnitten, aber nicht aus der Browser-Schleife, denke ich ... Irgendwelche Ideen?

cmcculloh
quelle
1
Hallo. Schön zu hören, dass Sie einen Workaround haben. Aber soviel ich weiß, sollte die hosts-Datei immer zuerst verwendet werden, um DNS-Lookups vor jedem Eintrag in Ihrer DNS-Serverliste durchzuführen. Ist es möglich, die Suche in der Hosts-Datei mit einigen DHCP-Optionen vollständig zu deaktivieren? Vielleicht können Sie Ihre Firmen-DNS-Server als dritten und vierten Eintrag in Ihre DNS-Serverliste aufnehmen.
Grub
Möglicherweise sind Ihre Webbrowser mit einem Proxyserver konfiguriert?
Oskar Duveborn
2

Jedes Mal, wenn ich die Hostdatei für meine DNS-Einträge verwende (was immer der Fall ist), deaktiviere ich den DNS-Dienst (services.msc), der nativ ausgeführt wird. Führen Sie dann eine ipconfig / flushdns aus, falls dies fehlschlägt, starten Sie den Server / Desktop neu und der Cache wird geleert. Welche DNS-Einträge sich nicht in der Hostdatei befinden, wird vom Server / Desktop auf die Standard-DNS-Einstellungen der Netzwerkschnittstelle zurückgegriffen, die eingerichtet wurden. Dies ermöglicht auch das Testen verschiedener Firewalls und dergleichen.

mikedopp
quelle
2

Ich war gerade dabei, C: \ windows \ system32 \ drivers \ etc \ hosts zu ändern, als % SystemRoot% als C: \ WINNT anstelle von C: \ windows definiert wurde ... Ich weiß nicht, warum dieser bestimmte Server einen ganzen hatte Windows-Installation in C: \ Windows und C: \ Winnt, aber zumindest fühle ich mich nicht mehr verrückt.

Ich fühle mich irgendwie dumm, aber es ist nur eine kurze Überprüfung für andere Leute, die auf dieses Problem stoßen!

nvuono
quelle
2

Sind Sie sicher, dass Sie die Datei RIGHT hosts bearbeiten? Normalerweise befindet es sich in

%SystemRoot%\system32\drivers\etc\hosts

Mike
quelle
2

Nachdem ich viele verschiedene Lösungsvorschläge ausprobiert hatte, überprüfte ich die Sicherheit des Ordners 'etc' und verglich seine Berechtigungen mit denen des Ordners 'es-ES'. Dabei stellte ich fest, dass die Benutzer der Gruppe nicht die gleichen Lese- und Ausführungsrechte hatten wie im andere. Nachdem ich (wieder) den Besitz des Ordners 'etc' übernommen hatte, erteilte ich den Benutzern der Gruppe Lese- und Ausführungsberechtigungen und ließ sie vom Ordnerinhalt erben. Das hat das Problem für mich behoben - jeder Teil des Systems, der die Hosts-Datei abfragt, unterliegt offensichtlich den Einschränkungen der Benutzergruppe. Ich muss die Berechtigungen der Gruppe versehentlich entfernt haben, als ich versuchte, die Hosts-Datei zu ändern.

peterr
quelle
Das hat es für mich behoben. Ich habe gerade die Benutzergruppe direkt zur Hosts-Datei hinzugefügt, den Cache geleert und die Hosts-Datei wurde sofort wieder beachtet.
user51928
2

Das Löschen der Originaldatei unter Windows und das Ersetzen durch eine neue ist wichtig!

Ich weiß, dass die Frage beantwortet wurde, aber es ist klar, dass es viele verschiedene Gründe und mögliche Lösungen gibt. Der Trick bestand für mich darin, die Datei zu löschen, anstatt sie zu überschreiben.

Ich weiß auch, dass @olefebvre bereits etwas Ähnliches gepostet hat, aber ich habe es mit seinen Abkürzungen nicht erkannt und es hängt nicht (nur) mit ungeraden Zeichen zusammen, es soll Windows bringen, um die Datei überhaupt zu erkennen.

hugo der hungrige
quelle
Danke, das hat mir viel Zeit und Frust gespart.
Andy Lester
2

Bitte versuchen Sie, Leerzeichen anstelle von Tabulatoren zu verwenden.

Wie hier:

127.0.0.1 localhost
172.17.1.107 wiki
Ahmad Ahmad
quelle
1

Könnten Sie Ihre Erlaubnis für die Host-Datei überprüfen? Versuchen Sie, einen FQDN für den Eintrag "wiki" in der Hostdatei zu verwenden.

olefebvre
quelle
Wie sollten die Berechtigungen sein (im Moment ist die Datei nicht schreibgeschützt und alle Berechtigungen sind so festgelegt, dass sie für alle Benutzer gelten)? Ich habe versucht, auf www.wiki.com zu setzen und es hat immer noch nicht funktioniert. (Ich habe die Zeile in 172.17.1.107 www.wiki.com geändert.) Dann habe ich meine Eingabeaufforderung geöffnet und versucht, www.wiki.com zu pingen. Es wurde "Ping www.wiki.com [70.35.23.23]" mit 32 Byte Daten zurückgegeben "aber dann stand dreimal" Request timed out ". Dann ist alles, was ich versucht habe zu pingen, abgelaufen. Ich bin mitten in einer BIND-Installation, um dies zu beheben. Ich weiß nicht, ob dies die Pings
beeinträchtigen
Und jetzt habe ich entweder BIND falsch installiert oder mein Computer ignoriert das auch, weil es auch nicht funktioniert ...
cmcculloh
Versuchen Sie, die Datei zu löschen und eine neue zu erstellen, ohne sie zu kopieren oder einzufügen. Möglicherweise hat ein Texteditor ungerade Zeichen eingefügt (UTF8).
olefebvre
1

Haben Sie Hosts und lmhosts.sam überprüft?

JamesRyan
quelle
Ja, alles in lmhosts.sam ist auskommentiert und es gibt nur die zwei Zeilen, die ich in der ursprünglichen Frage in meiner Hosts-Datei angegeben habe ...
cmcculloh