Змінення / 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 не зберігається через перезавантаження браузера, принаймні в більшості браузерів (напевно, у всіх основних).
David Z

7

Ви намагалися поставити 127.0.0.1записи в один рядок?

120.0.0.1 abc bing.com foo

Це має спрацювати.


3
Це спрацювало, хоча я думаю, що це стосується браузерів, які кешують його, а не очищення кеша належним чином.
Росс

0

Відкрити термінал ( ALT+ F2).

Введіть sudo -iу поле введення. Перевірте опцію Запуск у терміналі . Нарешті натисніть кнопку Запустити .

Введіть свій пароль, якщо потрібно, і натисніть клавішу Enter. Потім введіть наступні команди.

gedit /etc/hosts

Ви отримаєте вікно редактора тексту Gedit.

Наприклад, якщо нам потрібно заблокувати 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.

Джерело - Блог Subin


-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, я не впевнений, але я це робив, і це завжди працювало для мене.
grokus

-1

Зміна / etc / hosts виглядає як глобальний злом. Я б запропонував замість цього встановити локальний http-проксі (кальмар, privoxy тощо) і вкажіть веб-переглядач для його використання. Таким чином, ви отримаєте більш гнучкий спосіб керування чорними списками на рівні проксі.


2
Здається, що докласти чимало зусиль у порівнянні з додаванням пари рядків /etc/hosts? Чи можете ви пояснити, чому це краще рішення?
8128,

"Це звучить", оскільки ви робите припущення, не намагаючись це зробити. Випуск apt-get install, редагування конфігураційного файла та / або чорного списку та вказівка ​​браузера на локальний проксі не складніше. Це краще, оскільки ви не вносите жодних глобальних змін у свою систему, ви лише налаштовуєте альтернативний спосіб заблокувати деякі сайти. Якщо вам коли-небудь потрібно скасувати, вам більше не доведеться редагувати / etc / hosts, ви просто встановите веб-переглядач безпосередньо на веб-сайти, а не через проксі.
vh1
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.