Block in host: блокировка сайтов через файл hosts

Запись вида 127.0.0.1 example.com в файле hosts перенаправляет обращение к указанному домену на локальный адрес компьютера, из-за чего сайт перестаёт открываться в любом браузере. Именно так работает механизм, который часто называют «block in host»: система сначала проверяет этот текстовый файл и только потом отправляет запрос к DNS-серверу.

Метод остаётся одним из самых простых способов ограничить доступ к отдельным ресурсам без установки дополнительных программ. Однако у него есть особенности: файл требует прав администратора, не умеет блокировать поддомены «оптом» и иногда конфликтует с DNS-over-HTTPS в браузерах. Ниже разберём, где находится файл, как правильно добавить и удалить запись, а также почему блокировка может не срабатывать.

Что такое файл hosts и как работает блокировка

Файл hosts — это системный текстовый файл без расширения, в котором задаётся ручное соответствие между доменными именами и IP-адресами. Когда вы вводите адрес сайта, операционная система в первую очередь смотрит в этот файл. Если домен там найден, используется указанный вами IP, а запрос к DNS-серверу не отправляется.

Для блокировки домен привязывают к адресу 127.0.0.1 (localhost) — это «петлевой» адрес самого компьютера. Браузер пытается соединиться с локальной машиной, не находит там веб-сервера и выдаёт ошибку соединения. В результате ресурс становится недоступен.

  • 🔒 Блокировка действует на уровне всей системы, а не одного браузера.
  • ⚙️ Не требует сторонних программ — достаточно Блокнота с правами администратора.
  • 🌐 Работает для конкретных доменов, которые вы прописали вручную.
  • ↩️ Полностью обратима: достаточно удалить или закомментировать строку.

Важно понимать ограничение: запись 127.0.0.1 example.com не закрывает автоматически адрес www.example.com и другие поддомены. Их нужно указывать отдельными строками, если вы хотите заблокировать и их.

Где находится файл hosts

В Windows файл расположен по пути C:\Windows\System32\drivers\etc\hosts. Папка etc содержит и другие сетевые файлы, но для блокировки сайтов нужен именно hosts. Обратите внимание: у файла нет расширения, и при сохранении легко по ошибке создать hosts.txt, который система игнорирует.

Быстрее всего открыть нужную папку через диалог «Выполнить»: нажмите Win + R и введите путь:

C:\Windows\System32\drivers\etc

В Linux и macOS файл находится по адресу /etc/hosts и редактируется через терминал с повышенными привилегиями, например командой sudo nano /etc/hosts. Принцип записей там идентичен Windows-версии.

📊 Для чего вы обычно используете файл hosts?
Блокировка отвлекающих сайтов
Блокировка рекламы и трекеров
Перенаправление домена на локальный сервер для разработки
Восстановление после вирусных изменений

Как добавить блокировку: пошаговая инструкция

Главное условие — редактор должен быть запущен от имени администратора, иначе изменения просто не сохранятся. Надёжный порядок действий выглядит так: откройте меню «Пуск», найдите «Блокнот», кликните по нему правой кнопкой и выберите запуск с повышенными правами. Затем через меню «Файл → Открыть» перейдите в папку drivers\etc.

В диалоге открытия переключите фильтр типа файлов с «Текстовые документы» на «Все файлы» — иначе hosts не отобразится в списке, потому что у него нет расширения. После открытия добавьте в конец файла строки в формате «адрес — пробел — домен»:

127.0.0.1 example.com

127.0.0.1 www.example.com

☑️ Проверка перед сохранением hosts

Выполнено: 0 / 5

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

⚠️ Внимание: не удаляйте и не изменяйте строки, которые уже есть в файле, если не уверены в их назначении. Некоторые программы и службы добавляют туда служебные записи, и их удаление может нарушить работу софта.

Почему блокировка может не срабатывать

Самая частая причина — кэш DNS. Система и браузер запоминают адреса ранее посещённых сайтов, поэтому старое соответствие может использоваться ещё некоторое время после правки файла. Чтобы сбросить кэш в Windows, откройте командную строку от имени администратора и выполните:

ipconfig /flushdns

Вторая возможная причина — DNS-over-HTTPS (DoH) в браузере. Когда эта функция включена, браузер может разрешать домены через собственный защищённый DNS-канал, минуя системный резолвер. Поведение зависит от браузера и его версии: часть обозревателей всё же учитывает hosts, часть — нет. Если блокировка «проскакивает», проверьте настройки безопасного DNS в вашем браузере.

  • 🧹 Выполните ipconfig /flushdns и перезапустите браузер.
  • 🔍 Проверьте, что домен вписан без опечаток и без http:// в начале.
  • 🛡️ Убедитесь, что в браузере отключён или учитывает hosts защищённый DNS.
  • 📄 Откройте файл заново и убедитесь, что правки реально сохранились.

Типичные ошибки при редактировании hosts

Многие проблемы возникают не из-за самого механизма, а из-за мелких ошибок оформления. Ниже — сравнение частых ситуаций и способов их решения.

ОшибкаПризнакРешение
Файл сохранён как hosts.txtЗаписи игнорируются системойСохранить без расширения, тип «Все файлы»
Нет прав администратораОтказ в доступе при сохраненииЗапустить редактор от имени администратора
Домен с префиксом http://Блокировка не работаетУказывать только само доменное имя
Забыт поддомен wwwСайт открывается через www-версиюДобавить отдельную строку для www-домена
Антивирус защищает hostsИзменения откатываютсяПроверить настройки защиты файла в антивирусе
⚠️ Внимание: некоторые антивирусы и защитные утилиты контролируют целостность hosts и автоматически восстанавливают его содержимое. Если ваши записи исчезают после перезагрузки, загляните в настройки защитного ПО, а не редактируйте файл повторно «вслепую».

Как убрать блокировку и восстановить файл

Чтобы снять ограничение, достаточно удалить добавленные строки или поставить перед ними символ # — так строка превращается в комментарий и перестаёт действовать, но остаётся в файле на случай, если понадобится снова. Это удобнее, чем стирать и заново набирать длинный список доменов.

Если файл был сильно изменён — например, вредоносной программой, которая нередко подменяет записи, чтобы перенаправлять популярные сайты на фишинговые адреса, — разумно привести его к исходному состоянию. В стандартном виде файл содержит только закомментированные пояснения и не блокирует ничего. После очистки выполните ipconfig /flushdns и проверьте систему антивирусом: неожиданные записи в hosts с незнакомыми IP-адресами — типичный след вредоносного ПО, и без удаления источника проблема вернётся.

Ограничения метода и альтернативы

Блокировка через hosts подходит для точечных задач, но у неё есть понятные границы. Она не различает протоколы и страницы внутри сайта: закрывается весь домен целиком. Она также не защищает от обхода — пользователь с правами администратора может отредактировать файл обратно, а смена DNS или включение VPN в браузере способны нейтрализовать эффект.

Для более гибких сценариев существуют альтернативы: блокировка на уровне роутера, функции родительского контроля в операционной системе, фильтрующие DNS-сервисы и специализированные программы. Выбор зависит от задачи: для разработчика, которому нужно перенаправить домен на локальный сервер, hosts остаётся оптимальным инструментом, а для контроля детского доступа надёжнее системные средства.

Перенаправление домена для разработки

Разработчики используют hosts не только для блокировки: запись вида 127.0.0.1 myproject.test позволяет открывать локальный сайт по красивому доменному имени вместо IP-адреса. Это удобно при тестировании проектов перед переносом на реальный хостинг.

Частые вопросы

Нужно ли перезагружать компьютер после правки hosts?

Обычно нет. Изменения вступают в силу сразу после сохранения файла, но для надёжности стоит очистить DNS-кэш командой ipconfig /flushdns и перезапустить браузер.

Почему сайт заблокирован, но открывается с другого браузера?

Возможная причина — включённый DNS-over-HTTPS в одном из браузеров, который обходит системный резолвер. Проверьте настройки защищённого DNS в обоих обозревателях.

Можно ли заблокировать сайт по маске, например все поддомены сразу?

Нет, файл hosts не поддерживает шаблоны и маски. Каждый домен и поддомен придётся указывать отдельной строкой. Для массовой фильтрации лучше подходят файрвол или фильтрующий DNS.

Антивирус ругается на изменённый hosts — это опасно?

Не обязательно: защитные программы реагируют на любые правки файла, включая ваши собственные. Но если вы записей не добавляли, а они появились — это повод проверить систему на вредоносное ПО.

Работает ли блокировка через hosts на смартфоне?

На Android и iOS файл hosts тоже существует, но для его редактирования обычно требуются root-доступ или джейлбрейк. На устройствах без такого доступа проще использовать фильтрующий DNS или функции родительского контроля.