Запись вида 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-версии.
Как добавить блокировку: пошаговая инструкция
Главное условие — редактор должен быть запущен от имени администратора, иначе изменения просто не сохранятся. Надёжный порядок действий выглядит так: откройте меню «Пуск», найдите «Блокнот», кликните по нему правой кнопкой и выберите запуск с повышенными правами. Затем через меню «Файл → Открыть» перейдите в папку drivers\etc.
В диалоге открытия переключите фильтр типа файлов с «Текстовые документы» на «Все файлы» — иначе hosts не отобразится в списке, потому что у него нет расширения. После открытия добавьте в конец файла строки в формате «адрес — пробел — домен»:
127.0.0.1 example.com
127.0.0.1 www.example.com
☑️ Проверка перед сохранением hosts
После сохранения блокировка обычно начинает действовать сразу. Если сайт продолжает открываться, помогает очистка 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 или функции родительского контроля.