Изменение / etc / hosts не дает эффекта


17

Я пытаюсь заблокировать себя от тратить время впустую, но изменения, которые я делаю в / etc / hosts. Например:

127.0.0.1   localhost
127.0.1.1   ross-laptop

127.0.0.1   bing.com

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Я могу получить доступ к bing.com в недавно открытом Chrome или Firefox - почему это не работает?

Ответы:


17

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

ping bing.com

Вы должны получить ответ от 127.0.0.1. Если это работает, то изменение файла хостов - это хорошо, но оно просто кэшируется в вашем браузере.


Но действительно ли кеш выживает после перезапуска браузера? Я столкнулся с этим также. Было бы неплохо, если есть способ сделать кеш недействительным.
loevborg

1
Ну, я не уверен на 100%, выживет ли кэш DNS после перезагрузки браузера. Я знаю, что кеш файлов делает. Дело в том, что в современных моделях веб-разработки на основе ajax / multi-запросов вы не хотите, чтобы при загрузке страницы выполнялся DNS-запрос на каждый запрос. Каждый браузер будет делать свои собственные трюки, чтобы ускорить это, и вам придется проверять их механизмы кэширования DNS для каждой версии браузера.
Рик

Я был бы удивлен, если кэш DNS не сохраняется после перезапусков браузера, по крайней мере, в большинстве браузеров (возможно, во всех основных).
Дэвид З

7

Вы пытались поместить 127.0.0.1записи в одной строке?

120.0.0.1 abc bing.com foo

Это должно работать.


3
Это сработало, хотя я думаю, что это связано с тем, что браузеры кешируют его и не очищают кеш должным образом.
Росс

0

Откройте Терминал ( ALT+ F2).

Введите sudo -iв поле ввода. Проверьте опцию « Запустить на терминале» . Наконец нажмите кнопку « Выполнить» .

При необходимости введите свой пароль и нажмите ввод. Затем введите следующие команды.

gedit /etc/hosts

Вы получите окно Gedit Text Editor.

Например, если нам нужно заблокировать Facebook, добавьте следующие строки сразу после 127.0.0.1 localhost.

0.0.0.1 facebook.com    
0.0.0.1 www.facebook.com

Делая это, он заблокирует сайт во всех браузерах, включая Google Chrome, Chromium, Mozilla.

Вот и все. Когда вы сейчас открываете www.facebook.com или facebook.com , вы не можете получить к нему доступ. Чтобы снова включить Facebook, удалите строки, которые мы добавили из файла /etc/hosts.

Источник - Блог Субина


-1

Помимо решения CragM, помните, что для этой цели вы можете использовать все адреса 127.xxx, не повторяйте один и тот же адрес.

127.0.0.1   localhost
127.0.0.2   ross-laptop
127.0.0.3   bing.com
127.0.0.4   foo.com
127.0.0.5   bar.com
......

1
Можете ли вы объяснить, почему один и тот же адрес не повторяется?
8128

@fluteflute, я не уверен, но я обычно делал это, и это всегда работало для меня.
Грокус

-1

Изменение / etc / hosts выглядит как глобальный хак. Я бы предложил вместо этого настроить локальный http-прокси (squid, privoxy и т. Д.) И указать вашему браузеру на его использование. Таким образом, вы получите более гибкий способ управления черными списками на уровне прокси.


2
Похоже, это будет много усилий по сравнению с добавлением нескольких строк в /etc/hosts? Не могли бы вы объяснить, почему это лучшее решение?
8128

«Звучит», потому что вы делаете предположения, не пытаясь это сделать. Выполнение apt-get install, редактирование файла конфигурации и / или черного списка и указание браузера на локальный прокси не сложнее. Это лучше, потому что вы не вносите глобальные изменения в вашу систему, вы только настраиваете альтернативный способ блокировки некоторых сайтов. Если вам когда-нибудь понадобится отменить, вам не нужно будет снова редактировать / etc / hosts, вы просто настроите браузер на прямой доступ к сайтам, а не через прокси.
vh1
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.