Файл хостов OSX Sierra игнорируется

19

Почему-то два дня назад мой файл hosts начал игнорироваться.
Я использую Mac с Sierra OSx. Это текущее содержимое файла / 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

Пингинг localkur.com возвращается

ping: cannot resolve localkur.com: Unknown host

Я перезагрузил систему, очистил кеш с помощью этих команд

sudo killall -HUP mDNSResponder;
sudo discoveryutil mdnsflushcache;
sudo discoveryutil udnsflushcaches;

Повторно откройте файл в различных программах для редактирования текста, VM, Sublime и т. Д.
Двойная проверка, если пробел или табуляции (или двойной пробел или двойной табуляции) - проверено со всеми возможностями.
Также следите за файлом с помощью этой команды

 sudo fs_usage | grep "/etc/hosts"

И получил этот результат при обновлении браузера или сохранении его с возвышенным

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

Что мне не хватает?
Почему этот файл игнорируется?
Как включить его снова?

T1000
источник
Что такое проверенные строки System Preferences > Network > Advanced ... > Proxies? Что-нибудь особенное?
FarazX
файл может быть поврежден / поврежден, это должен быть файл ascii - почему бы вам не восстановить его?
13dimitar
@FarazX есть «Параметры обхода прокси для этих хостов и доменов:» и значение «* .local, 169.254 / 16»
T1000
@ 13nilux как правильно его воссоздать?
T1000
with nano- переместить старый файл в / etc / oldhosts, создать новый файл с помощью nano, заполнить его значениями старого файла и сохранить как / etc / hosts
13dimitar

Ответы:

12

Файл может быть поврежден / поврежден, это должен быть файл ASCII. Вы должны воссоздать это:

  • переместить старый файл с mv -f /etc/hosts /etc/oldhosts
  • создать новый файл с nano
  • заполнить его значениями старого файла
  • сохранить как /etc/hosts

Это должно сделать это.

13dimitar
источник
1
Спасибо, это была проблема в моем случае! Файл выглядел совершенно нормально, но, видимо, с измененной кодировкой или чем-то еще. Это было видно по 'cat / etc / hosts', потому что cat не отображал весь контент файла, только последнюю строку ....
T1000
13
Было бы целесообразно file -I /etc/hostsсначала проверить вывод. Если он выводит charset=us-ascii, этот ответ не будет работать для вас.
MCCCS
10

Посмотрите на Системные настройки -> Сеть

Если в текущем активном «Location» есть один или несколько DNS-серверов в списке, то система создаст файл «/etc/resolv.conf», в котором эти серверы имен будут перечислены как место для разрешения, полностью обходя / etc / hosts

resolv.conf создается динамически с помощью префиксов «Network» и перезаписывается на основе поля «DNS-сервер» активного в настоящий момент «Location», либо удаляется, если это поле не заполнено.

BenL
источник
Это решило проблему для меня. Спасибо за размещение этого решения.
PhilR
1
Моя система использует DHCP для получения распознавателя DNS и имеет файл /etc/resolv.conf. Как я могу переопределить обычный DNS-запрос, чтобы заблокировать popunders? Моим намерением было добавить строки в / etc / hosts.
Джетсет
Как вы планируете различать действительные DNS-запросы и popunders? Похоже, это может быть проблема уровня браузера. Может быть, лучше использовать такие браузерные решения, как «Privacy Badger» или «uBlock Origin»?
BenL
1
Так в чем же решение? Удаление DNS, указанного на вкладке DNS.
multigoodverse
В моем случае я не мог удалить DNS (я использую пи-дыру), но хотел, чтобы некоторые домены были заблокированы до того, как их отправили в пи-дыру DNS для разрешения. По какой-то причине наличие 127.0.0.1 example.comв / etc / hosts не сработало и отправило DNS-запросы в pi-дыру, которые затем были разрешены в браузере, но изменили 127.0.0.1 на 0.0.0.0 так, что моя запись читалась 0.0.0.0 example.comв / etc / hosts ,
Конор
2

Это старая ветка, но сегодня я столкнулся с той же проблемой и нашел решение. Оставив это здесь на случай, если это кому-то еще нужно.

sudo dscacheutil -flushcache

Очистка кеша DNS сделала свое дело в моем случае.

rahulsoibam
источник
1

Также убедитесь, что ваш список имен хостов не превышает 20 имен. Я часто посещаю сайт, который любит размещать рекламу на вашем лице, поэтому я назначаю полное доменное имя из всплывающего окна в качестве псевдонима localhost. Недавно я обнаружил, что мой файл hosts не работает. Кажется, ограничение составляет 20 хостов ... Пример:

127.0.0.4 www.slutroulette.com static.exoclick.com www.gameskwala.com www.thefreecamsecret.com www.slutroulette.com www.dlutroulette.com cdn1.adexpert.com cdn2.adexpert.com cdn3.adexpert.com cdn3.adexperts.com abine. com www.abine.com e1.static.hoptopboy.com.rncdn1.com gameinvite.24trk.com main.exoclick.com 0427d7.se syndication.exoclick.com 0427d7.se gamingruff.com www.gamingruff.com mackeeperapp.zeobit. ком 
127.0.0.5 ads.adplxmd.com mackeeperapp3.mackeeper.com onclickads.net onclick.net fundownloads108.com pussl10.com rumorsleague.com kitsfilesdll.com pussl8.com .com www.hitcpm.com www.ibtimes.co.uk mysagagame.com
tc0nn
источник
0

/ etc / hosts должен иметь окончания строки в стиле Unix.

В моем случае я использовал Sublime и сохранил / etc / hosts со стилем Mac OS по умолчанию. Это было причиной проблемы.

Решение взято отсюда: https://stackoverflow.com/a/42265844/1331420

Alekzander
источник
-1

Это может быть использование TAB вместо SPACE. Был в моем случае. Исправлено это красиво!

Tomachi
источник
2
Не могли бы вы подробнее остановиться на этом?
Тото
-1

Для меня проблема заключалась в вставке деталей. Очистка кеша и т. Д. Не работала.

Удаление исходной записи и ручного ввода всего текста сработало с первого раза!

Эдди
источник