Z jakiegoś powodu dwa dni temu mój plik hosts zaczął być ignorowany.
Używam Maca z Sierra OSx. To jest bieżąca zawartość pliku / 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 localhostage
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
127.0.0.1 localkur.com
Pinging localkur.com powraca
ping: cannot resolve localkur.com: Unknown host
Uruchomiłem ponownie system, wyczyściłem pamięć podręczną za pomocą tych poleceń
sudo killall -HUP mDNSResponder;
sudo discoveryutil mdnsflushcache;
sudo discoveryutil udnsflushcaches;
Ponownie otwórz plik w różnych programach do edycji tekstu, vm, sublime itp.
Podwójnie sprawdzone, czy spacja lub tabulator (lub podwójna spacja lub tabulator) - przetestowane ze wszystkimi możliwościami.
Monitoruj również plik za pomocą tego polecenia
sudo fs_usage | grep "/etc/hosts"
I uzyskałem ten wynik podczas odświeżania przeglądarki lub zapisywania jej z wysublimowanym wyglądem
12:23:35 open private/etc/hosts 0.000019 Google Chrom
12:23:36 open private/etc/hosts 0.000019 Google Chrom
12:23:41 stat64 /private/etc/hosts 0.000022 Sublime Text
12:23:43 stat64 /private/etc/hosts 0.000019 Sublime Text
12:23:45 stat64 /private/etc/hosts 0.000019 Sublime Text
12:23:45 open /private/etc/hosts 0.000019 Sublime Text
Czego mi brakuje ?
Dlaczego ten plik jest ignorowany?
Jak włączyć to ponownie?
System Preferences > Network > Advanced ... > Proxies
? Nic specjalnego?nano
- move wykonaj stary plik do / etc / oldhosts, utwórz nowy plik za pomocą nano, zapełnij go wartościami starego pliku i zapisz jako / etc / hostsOdpowiedzi:
Plik może być uszkodzony / uszkodzony, musi to być plik ASCII. Powinieneś go odtworzyć:
mv -f /etc/hosts /etc/oldhosts
nano
/etc/hosts
Że należy to zrobić.
źródło
file -I /etc/hosts
najpierw sprawdzić wyjście. Jeśli wyjdziecharset=us-ascii
, ta odpowiedź nie zadziała.Spójrz na Preferencje systemowe -> Sieć
Jeśli w aktywnej „Lokalizacji” znajduje się jeden lub więcej serwerów DNS, system utworzy plik „/etc/resolv.conf”, który wyświetli te serwery nazw jako miejsce do rozstrzygnięcia, całkowicie omijając / etc / hosts
resolv.conf jest tworzony dynamicznie przez ustawienia wstępne „Sieć” i nadpisywany na podstawie pola „Serwer DNS” aktualnie aktywnej „Lokalizacji” lub usuwany, jeśli to pole jest puste
źródło
127.0.0.1 example.com
w / etc / hosts nie działało i wysyłało zapytania dns do pi-hole, które były następnie rozwiązywane w przeglądarce, ale zmieniając 127.0.0.1 na 0.0.0.0 tak, że0.0.0.0 example.com
zamiast tego mój wpis czytał w / etc / hosts .To z pewnością stary wątek, ale dzisiaj miałem ten sam problem i znalazłem rozwiązanie. Zostawiając to tutaj, na wypadek, gdyby ktoś tego potrzebował.
sudo dscacheutil -flushcache
Opróżnianie pamięci podręcznej DNS rozwiązało problem w moim przypadku.
źródło
Ponadto upewnij się, że lista nazw hostów nie przekracza 20 nazw. Często odwiedzam witrynę, która lubi umieszczać reklamy na twojej twarzy, więc przypisuję nazwę FQDN z wyskakującego okienka jako alias localhost. Ostatnio odkryłem, że mój plik hosts nie działa. Wydaje się, że limit wynosi 20 hostów ... Przykład:
źródło
/ etc / hosts muszą mieć zakończenia linii w stylu uniksowym.
W moim przypadku użyłem Sublime i zapisałem / etc / hosts z domyślnym stylem Mac OS. To był powód problemu.
Rozwiązanie zaczerpnięte stąd: https://stackoverflow.com/a/42265844/1331420
źródło
Może to być użycie TAB zamiast SPACJI. Był w moim przypadku. Naprawiono to ładnie!
źródło
Dla mnie problemem było wklejenie szczegółów. Opróżnianie pamięci podręcznej itp. Nie działało.
Usunięcie oryginalnego wpisu i ręczne wpisanie wszystkiego, a następnie zadziałało 1 raz!
źródło