Блокировка веб-сайтов c помощью файла hosts

Для блокировки веб-сайтов можно использовать расширение для браузера (например, Block Site), прокси-сервер (например, Squid), но также есть возможность отредактировать файл hosts - метод, который потребляет очень мало оперативной памяти и, в отличие от расширения для браузера, работает для любого браузера или программы, подключающейся к Интернету1.

Как это работает?

Вам просто нужно добавить в файл hosts (/etc/hosts в GNU/Linux) строки следующего формата с теми страницами, которые вы хотите заблокировать:

0.0.0.0 example.com

Эта строка приводит к тому, что каждый раз при попытке подключения к сайту example.com вместо этого происходит подключение к IP-адресу 0.0.0.0.0, который является немаршрутизируемым адресом, используемым для обозначения неизвестного, недействительного или неприменимого пункта назначения. После перезапуска сетевой службы (sudo systemctl restart NetworkManager в Debian) и веб-браузера результат следующий:

Также трафик можно перенаправить на другой веб-сайт, хотя большинство браузеров не позволят вам увидеть этот сайт, поскольку в прошлом этот функционал использовался для фишинга.

Если вы хотите заблокировать большое количество сайтов, добавлять сотни страниц вручную нецелесообразно. Поэтому существуют люди и проекты, которые составляют подобные списки веб-сайтов. Одним из примеров является список, управляемый Стивеном Блэком, который предоставляет списки блокировки по темам, таким как порнография, фальшивые новости и азартные игры. Просто скопируйте и вставьте нужный вам список в файл hosts.


  1. Этот метод не сработает для программ, подключающихся к Интернету с помощью Tor, поскольку внутри сети Tor разрешается использование DNS. 

Комментарии