Wie der Titel schon sagt, läuft os x 10.10.1. wenn ich einen eintrag in meiner hosts-datei habe und a mache dig
oder nslookup
es immer noch eine andere IP anzeigt als in meiner hosts-datei, auch nachdem ich versucht habe, verschiedene caches zu leeren.
Ich habe folgendes ausprobiert ..
- mdns und udns Caches leeren mit:
sudo discoveryutil mdnsflushcache;
sudo discoveryutil udnsflushcaches;
- Cache leeren mit
dscacheutil -flushcache
- Laden Sie die
discoveryd.plist
Datei neusudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.discoveryd.plist
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.discoveryd.plist
Meine Hosts-Datei sieht so aus.
% cat /private/etc/hosts
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
166.78.60.102 admin.devsite1.com
macos
yosemite
dns
discoveryd
gorelativ
quelle
quelle
Antworten:
/ private / etc / hosts scheint in Yosemite (Version 10.10.1) normal zu funktionieren. Der Cache muss nicht geleert oder zurückgesetzt werden
discoveryd
(der DNS-Resolver in Yosemite).sudo fs_usage | grep private/etc/hosts
Zeigt dasdiscoveryd
Lesen der Datei unmittelbar nach dem Speichern der Änderungen an.[Update:
discoveryd
wurde nur in den OS X-Versionen 10.10.0 - 10.10.3 verwendet.mDNSResponder
Bietet in früheren und späteren Versionen dieselbe Funktion ... und bemerkt Änderungen in / etc / hosts sofort.]Allerdings
dig
,nslookup
undhost
nicht Einträge darin sehen , weil sie Bypass des Resolver System und roh DNS - Lookups tun. Das haben sie schon immer gemacht, also ist das in Yosemite nicht neu. Die "offizielle" Methode zum Durchsuchen des System-Resolvers in OS X besteht darin, Folgendes zu verwendendscacheutil
:... aber da das schmerzhaft wortreich ist, benutze ich eher
ping
stattdessen (und schaue dann in die erste Zeile, in der aufgelistet ist, welche IP es pingt). Ab 10.9 können Sie auch die Registerkarte Lookup des Netzwerkdienstprogramms verwenden (zuvor wurdedig
die System-Lookup-Richtlinie umgangen).Übrigens, beachten Sie bitte nicht den Makrothread, den Tetsujin verlinkt hat. Es ist voll von Leuten, die nicht genau wissen, was sie tun und die Ergebnisse ihrer eigenen Fehler missverstehen.
quelle
dig
hattenslookup
, undhost
verwende keine lokale dns auflösung. That being said/etc/hosts
funktioniert wie erwartet ../etc/hosts
Datei oder meine/private/etc/hosts
Datei aktualisiere , wird dies mitdscacheutil -q host -a name www.example.com
keinem anderen Befehl wiedergegeben.cat -vet /etc/hosts
zu drucken , um normalerweise unsichtbare Zeichen sichtbar zu machen. Jede Zeile sollte wie folgt aussehen: "127.0.0.1 ^ Inetsecuritybureau.com $" (das "^ I" ist ein Tabulator und das "$" ist der Zeilenvorschub) oder "127.0.0.1 netsecuritybureau.com $". Wenn Sie ein "^ M" (Wagenrücklauf) direkt vor dem "$" sehen, haben Sie DOS / Windows-formatierten Text und müssen die Wagenrückläufe entfernen.M127.0.0.1^Iyoutube.com^M^M
ich dann ausgeführtdscacheutil -flushcache; sudo killall -HUP mDNSResponder
und beim Navigieren zu youtube.com wird immer noch youtube und nicht localhost angezeigt.Ich habe eine andere Falte mit diesem Problem entdeckt.
Um das Problem zu beheben, musste ich Host-Dateieinträge im IPv6-Stil HINZUFÜGEN.
Es scheint, dass Safari IPv4-Einträge übersieht, wenn Sie eine IPv6-Netzwerkkonfiguration eingerichtet haben.
Sie müssen doppelte Einträge hinzufügen, die in die IPv6-Adresse localhost in / etc / hosts aufgelöst werden.
IPv4-Eintrag
127.68.56.101 facebook.com
zB IPv6-Eintrag
fe80::1%lo0 facebook.com
etc.
quelle
Meine Hosts-Datei wurde weiterhin ignoriert, nachdem ich sie in der Textbearbeitung bearbeitet hatte. Ich habe verschiedene Möglichkeiten zur Behebung der Zeilenenden ausprobiert und IPv6-Einträge zu den vorhandenen IPv4-Einträgen hinzugefügt, ohne dass dies nach der obigen Antwort von JB Smiths erfolgreich war . Ich vermute, seine Antwort würde funktionieren, wenn meine Firma IPv6 unterstützt, was ich nach meinen Versuchen herausgefunden habe.
Die einzige Lösung, die für mich funktioniert hat, ist die Verwendung dieses kostenlosen GUI-Plugins zum Bearbeiten der Hosts-Datei.
https://github.com/specialunderwear/Hosts.prefpane/blob/master/README.mdown
quelle
Ich habe diesen Artikel gefunden, weil Yosemite 10.10.5 die Änderungen an der Hosts-Datei nicht übernommen hat und ich nichts tun konnte, um sie zu beheben. (Ich habe neu gestartet, versucht, die Caches zu leeren, und alle Ratschläge befolgt, die ich im Internet usw. usw. finden konnte.)
Die Antwort war so einfach, dass es eigentlich peinlich ist, aber ich dachte, ich würde teilen. Ich habe die hosts-Datei mit textedit bearbeitet, und es hat sich die Freiheit genommen, die Datei als hosts.txt zu speichern. Normalerweise würde ich so etwas bemerken, aber ich verwende eine Neuinstallation von Yosemite und habe "Alle Dateierweiterungen anzeigen" noch nicht aktiviert, sodass es nicht so aussah, als hätte sich der Dateiname auf meinem Desktop geändert.
Es liegt also auf der Hand, und die meisten Leute, die diesen Beitrag lesen, haben dies wahrscheinlich bereits getan . Stellen Sie jedoch sicher, dass Ihre hosts-Datei tatsächlich vorhanden ist und nicht durch hosts.txt ersetzt wurde .
Um die Anzeige von Dateinamenerweiterungen zu aktivieren, gehen Sie zu Finder> Einstellungen> Alle Dateinamenerweiterungen anzeigen
Um TextEdit vom Hinzufügen Erweiterung TXT , um Dateien zu stoppen, öffnen Sie eine Datei in Text bearbeiten , und wählen Sie Datei> Speichern unter (Wenn Sie nicht das finden Speichern unter Menüpunkt, halten Sie die Optionstaste , nachdem Sie auf Datei und Speichern unter sollte erscheint im Menü). Suchen Sie nach der Option Wenn keine Erweiterung angegeben ist, verwenden Sie ".txt" und deaktivieren Sie diese.
quelle
Ich glaube, Apple wird dies als Fehler erkennen (ich habe heute einen eingereicht). Ich habe bemerkt, dass neue Einträge in übernommen
/etc/hosts
werden, aber Änderungen an vorhandenen Einträgen werden ignoriert. Das Ändern des Hostnamens eines Eintrags (z. B. von web1 in web1a) war für mich eine Problemumgehung.ALTER / etc / hosts-Eintrag:
54.173.164.18 web1
NEUER / etc / hosts Eintrag:
54.174.161.12 web1a
quelle
In meinem Fall würde ich eine .ssh / config einrichten
quelle
Ich hatte ein sehr ähnliches Problem, bei dem ich per Post zwei Zeilen erhielt, die zu meinem hinzugefügt wurden
/etc/hosts
Die Domain enthielt ein
-
ähnlichesmy-domain.com
Das Problem erwies sich die E - Mail - Client des Absenders zu sein - ganz gleich , zu sagen, MS Outlook - das ist die ascii konvertiert
-
in der langen-
Zeichen , dass Microsoft so sehr liebt seine eingebettete automatische Korrektur zu verwenden , die ersetzen-
mit ihren-
.Die Hosts-Datei sah perfekt aus und es war schwierig, dieses Problem zu finden. Als ich die Zeilen löschte und sie manuell zurückschrieb, begannen sie zu arbeiten.
Es war so schwer zu verstehen, dass ich tief in mich hineinging, warum der MacOS-Client die Hosts-Datei ignorieren und direkt zur Namensauflösung übergehen sollte.
quelle
Hatte gerade dieses Problem. Dies wurde durch Kopieren / Einfügen aus dem HipChat verursacht, anstatt die Adresse zu schreiben.
Der Kopiervorgang fügte einige fehlerhafte Zeichen anstelle von Leerzeichen hinzu und verursachte das Problem.
Das Umschreiben der Zeile löste das Problem.
quelle
Ich benutze die App SelfControl (eigentlich unter MacOS Mojave 10.14.4) schon eine Weile und habe mir überlegt, wie SelfControl die Einträge macht ... sie sehen so aus:
basierend darauf habe ich alles auf meinen localhost geändert, also
funktioniert.
quelle