Мой блог
Не работает файл hosts в Windows: причины и способы решения
При редактировании файла hosts в Windows 11 и 10 с целью блокировки адресов или для локальной разработки пользователи периодически сталкиваются с тем, что внесенные правила игнорируются системой. В этой инструкции подробно рассмотрены основные причины подобного поведения операционной системы и практические способы исправить ситуацию, чтобы внесенные изменения в системный файл hosts начали корректно работать.
Проблема может заключаться как в банальных ошибках сохранения документа, так и во влиянии стороннего программного обеспечения, настроек сетевых протоколов или защитных механизмов. Ниже собраны все актуальные варианты диагностики и устранения неполадок.
Простые причины и способы исправить ситуацию
Сначала стоит разобрать самые распространенные ошибки, которые допускают начинающие пользователи при попытке изменить системный файл конфигурации доменов:

- Сохранение в формате .TXT через «Блокнот». Если открыть документ стандартным редактором и выбрать обычное сохранение, файл автоматически получает расширение .txt, в то время как оригинал в директории
C:\Windows\System32\drivers\etcрасширения не имеет. Решение заключается в запуске текстового редактора от имени администратора, выборе пункта «Все файлы» в типе сохраняемого документа и сохранении без какого-либо расширения. - Неправильная кодировка. В актуальных версиях операционной системы рекомендуется использовать кодировку UTF-8 без BOM либо классическую ANSI. Другие форматы могут некорректно обрабатываться системной службой разрешения имен.
- Ошибки синтаксиса. Правильная строка должна содержать IP-адрес, за которым следует пробел или знак табуляции, а затем домен (например,
127.0.0.1 example.com). Символ решетки (#) в начале строки превращает ее в комментарий. Важно помнить, что hosts не поддерживает маски вроде звездочек и указание портов; для поддоменов часто прописываются отдельные строки. - Влияние стороннего софта. Использование некоторых средств для оптимизации интернета и обхода блокировок может перенаправлять трафик на стороне удаленных серверов, из-за чего локальный файл игнорируется. Такие домены требуется добавлять в исключения используемого софта.
- Кэширование DNS. После любых правок обязательно требуется очистить кэш. Для этого в командной строке от администратора выполняют команду
ipconfig /flushdns, а в браузерах вроде Chrome, Edge или Яндекс используют специальные внутренние страницы управления кэшем хостов (например,chrome://net-internals/#dnsс нажатием кнопки «Clear host cache»). - Блокировка антивирусом. Защитник Windows или стороннее защитное ПО может фиксировать событие
HostsFileHijackи автоматически откатывать изменения. Если модификация выполнена осознанно, это действие необходимо разрешить в настройках безопасности.
В ряде сценариев выполнения этих шагов достаточно для восстановления работоспособности перенаправлений. Однако иногда трудности носят более глубокий характер, и тогда требуются дополнительные проверки.
Другие варианты и диагностика
Если стандартные методы не помогли добиться желаемого результата, следует проверить расширенные параметры системы, сетевых подключений и браузеров:

- Безопасный DNS в браузере (DoH). Использование функции DNS-over-HTTPS приводит к тому, что запросы имен отправляются напрямую в обход системной службы Windows. Параметр отключается в настройках конфиденциальности и безопасности используемого веб-обозревателя.
- Приоритет IPv6. Если провайдер поддерживает шестую версию протокола, а в hosts прописан только IPv4-адрес, правило может не срабатывать из-за приоритета протоколов. Рекомендуется добавлять записи для обоих стандартов (например,
127.0.0.1 domain.comи::1 domain.com) либо временно отключить IPv6 в свойствах сетевого подключения. - Активность вредоносного ПО. Если редактирование выполнялось для отмены нежелательных ограничений, установленных вирусами, зараженный софт может автоматически возвращать вредоносные блокировки обратно.
- Проблемы с HSTS. При настройке доступа к локальному серверу по доменному имени современные браузеры могут блокировать открытие ресурса, если на сервере отсутствует действующий SSL-сертификат, но включен заголовок HSTS.
Чтобы точно определить, на каком уровне возникла проблема — в самой операционной системе или в конкретной программе — можно выполнить диагностику через встроенную командную строку.

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

