Ich weiß, dass Sie keine doppelten Einträge in Ihrer Windows NT-Hosts-Datei haben sollten windows\system32\drivers\etc\hosts
, aber wie ist das erwartete Verhalten, wenn Sie diese haben?
Sie können mehrere Einträge mit demselben Hostnamen, aber unterschiedlichen Adressen in der Windows NT-Hostdatei ( windows\system32\drivers\etc\hosts
) haben. Wenn Sie auf diesen Host im Netzwerk zugreifen, wird er vom Windows-DNS-System in einen dieser Einträge aufgelöst. Wie kann ich feststellen, welcher Eintrag verwendet wird?
Z.B:
127.0.0.1 mydomain.com
192.168.1.1 mydomain.com
Bearbeiten : Dieses spezielle Beispiel scheint ein besonderes Verhalten zu erzwingen. Der Loopback scheint jeden Eintrag unabhängig von der Reihenfolge zu überschreiben.
Oder:
192.168.1.2 mydomain.com
192.168.1.1 mydomain.com
Ich sehe, dass der erste Eintrag in der Liste Vorrang hat.
Aber ist das Verhalten, das ich sehe, garantiert, ist es versionsspezifisch oder ist es im Allgemeinen unzuverlässig?
Der Grund, den ich frage, ist, dass ich einige Skripte schreibe, um Hosts zu handhaben, und ich versuche herauszufinden, ob ich zuverlässig eines davon zum Entfernen / Kommentieren auswählen kann und erwarte, dass es keine Auswirkungen auf das System des Benutzers gibt.
quelle
127.0.0.1
ein besonderes Verhalten zu erzwingen scheint. Ich habe die Frage bearbeitet, um nach den verschiedenen Szenarien zu fragen ...Antworten:
Es wird nur der erste gelesen. Sobald der Name aufgelöst wurde, findet kein weiteres Lesen der Datei statt.
quelle
hosts
Datei wird vollständig gelesen, wenn der DNS-Clientdienst aktiviert ist, und mehrere Einträge mit demselben Domänennamen sind rechtmäßig.In einigen Szenarien sind mehrere Einträge mit demselben Domänennamen zulässig und nützlich.
Wie ich in meiner Frage beschrieben habe, scheint es, dass in "normalen" Fällen, in denen diese Adressen mit demselben Adapter erreichbar sind, die erste Adresse diejenige ist, die verwendet wird. Wenn einer dieser Einträge loopback (
127.0.0.1
) ist, hat er möglicherweise Vorrang.Manchmal ist es sinnvoll, mehrere Einträge mit demselben Domänennamen zu haben, auch wenn sich keine der Adressen auf dem Loopback-Adapter befindet, wenn der Computer über mehrere Adressen oder mehrere Adressen verfügt . (Danke JdeBP für die Infos in den Kommentaren zu meinem OP).
Ich glaube, dass die Adapterpräferenz / -priorität hier eine Rolle spielen könnte (die Sie in den Netzwerkeinstellungen einrichten können), obwohl ich sie nicht testen kann. Loopback wird höchstwahrscheinlich immer an erster Stelle in der Adapterpräferenz stehen.
quelle
Ich habe es vor 5 Minuten versucht und es läuft ohne DNS-Server auf folgende Weise in die Windows-Hosts-Datei:
ip1, ip2, ipx name_to_resolve
Entschuldigung, mein Englisch...
quelle
> Der Loopback scheint jeden Eintrag unabhängig von der Reihenfolge zu überschreiben.
Haben Sie sichergestellt, dass Sie den Client (Browser?) Nach der Änderung schließen und erneut ausführen? Wenn Sie dies nicht tun, werden wahrscheinlich immer noch die alten Werte verwendet und die Änderung wird erst nach einem Neustart angezeigt. Wenn der DNS-Clientdienst ausgeführt wird, werden die alten Werte zwischengespeichert, sodass die Änderung nicht angezeigt wird.
Ich habe einige Tests durchgeführt und es scheint, dass der erste Eintrag immer derjenige ist, der verwendet wird.
Stellen Sie sicher, dass Sie den Client neu starten, um sicherzustellen, dass die HOSTS-Datei erneut gelesen wird. Wenn der DNS-Clientdienst ausgeführt wird, wird er ebenfalls ausgeführt
ipconfig /flushdns
quelle