Блокування веб-сайтів з / etc / hosts


17

Є веб-сайт, www.example.com, на якому я намагався заборонити собі доступ, оскільки це витрачає занадто багато мого часу. Тому я налаштував свій /etc/hostsфайл. Я додав наступні рядки для блокування веб-сайту як на IPv4, так і на IPv6:

127.0.0.1 www.example.com
::1 www.example.com
127.0.0.1 http://www.example.com
::1 http://www.example.com
127.0.0.1 example.com
::1 example.com

Я перезапустив комп’ютер, і я не можу wget www.example.com, і пінгінг www.example.comпрацює, як очікувалося, але веб-сайт фактично не заблокований у моєму браузері! Я досі можу отримати доступ до нього у Firefox 28 та Chromium.

Запитання

  • Що відбувається?
  • Як заблокувати цей сайт за допомогою інструментів системного рівня замість розширень браузера?

Чи ввели у своєму веб-переглядачі http://www.example.com(який слід заблокувати) чи ввели http://example.com(який не заблоковано)?
John1024

@ John1024 Я змінив своє запитання, щоб вирішити ваше. У браузері example.comі http://example.comблокуються, але www.example.comі http://www.example.comне блокуються.
Ньюб

1
@Newb: Який дистрибутив Linux ви використовуєте?
cuonglm

Погляньте на hostingblock : він автоматизує це для вас і працює чудово ...
jasonwryan

Я налаштував блокування рівня DNS на своєму домашньому сервері DNS. Для тих, хто має менше технічних схильностей, пі-лупа - це цікавий проект. pi-hole.net
Rui F Ribeiro

Відповіді:


10

Замість цього зробіть цей блок, використовуючи /etc/hostsдодаток / плагін браузера, такий як названий: BlockSite для Firefox або StayFocusd для Chrome.

BlockSite

  ss №1

StayFocusd

                    ss №2

Але я хочу дійсно використовувати / etc / hosts файл

Якщо це потрібно зробити так, ви можете спробувати додати такі записи замість цього:

0.0.0.0   www.example.com
0.0.0.0   example.com
::0       www.example.com
::0       example.com

Ніколи не слід додавати записи до цього файлу, крім імен хостів. Тому не вкладайте туди жодних записів, які містять префікси, наприклад, http://тощо.


10
ОП прямо вимагає рішень, які не включають плагіни / розширення браузера ...
jasonwryan

1
@jasonwryan - дякую, пропустив це останнє речення в Q.
slm

2
Остання частина вашої відповіді була правильною --- моя помилка полягала в тому, що я написав http://www.example.comзамість цього www.example.com. Зараз сайт заблокований.
Ньюб

Це корисно, і в chrome & firefox є розширення з назвою block site, і чудове.
Ерік Ван

На жаль, мені потрібен плагін, який ігнорував би всі посилання на інші сайти, ніж поточний, і буде активований на сайти за власним вибором.
Rui F Ribeiro

4

Вам потрібно очистити кеш DNS. Відповідно до цієї статті , ви можете це зробити, перезапустивши наступні служби:

  • nscd
  • dnsmasq
  • named

Стаття від 2008 року і видається застарілою. У моїй установці linux mint немає nscd або rndc.
Бен Кроуелл

це означає, що у вас не ввімкнено керування dns. тому ви не маєте справу з аналогічним питанням, яке має op. якщо ваша проблема - кешування dns, це може бути результатом будь-якої іншої машини у вашій мережі кешування серверів імен та запитів відповідей замість фактичного динамічного сервера імен.
Тоттен
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.