Запись вида 127.0.0.1 example.com добавлена в файл hosts, а сайт по-прежнему открывается с реального адреса — это типичный симптом того, что система игнорирует файл или читает не ту его копию. Чаще всего причина кроется не в самой записи, а в кэше DNS, неверной кодировке файла, лишнем расширении .txt или в том, что браузер использует собственный DNS-резолвер поверх системного.

Ниже разберём пошаговую диагностику: от проверки расположения и формата файла до сброса кэша и особенностей браузеров с функцией DNS-over-HTTPS. Все шаги обратимы и не требуют переустановки системы.

Как система работает с файлом hosts

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

В Windows файл расположен по пути C:\Windows\System32\drivers\etc\hosts, в Linux и macOS — /etc/hosts. Формат записи простой: сначала IP-адрес, затем через пробел или табуляцию доменное имя. Строки, начинающиеся с символа #, считаются комментариями и игнорируются.

⚠️ Внимание: для каждого домена с www и без www нужна отдельная строка. Запись для example.com не распространяется автоматически на www.example.com — это одна из самых частых причин «неработающего» hosts.

Проверка пути, имени и расширения файла

Первое, что стоит проверить, — редактируется ли именно тот файл, который читает система. Проводник Windows по умолчанию скрывает расширения, поэтому нередко файл на самом деле называется hosts.txt, и система его попросту не видит.

  • 📂 Откройте папку C:\Windows\System32\drivers\etc и включите отображение расширений: Вид → Расширения имён файлов.
  • 📄 Убедитесь, что файл называется строго hosts без какого-либо расширения.
  • ✏️ Редактируйте файл через «Блокнот», запущенный от имени администратора, иначе изменения не сохранятся.
  • 🚫 Не создавайте рядом копии вида hosts.bak или hosts — копия в той же папке — лишние файлы могут путать при диагностике.

Если файл сохраняется с ошибкой доступа, возможная причина — недостаточные права или атрибут «Только чтение». Проверьте свойства файла и убедитесь, что редактор запущен с повышенными привилегиями.

☑️ Базовая проверка файла hosts

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

Очистка кэша DNS

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

В Windows откройте командную строку от имени администратора и выполните:

ipconfig /flushdns

После этого проверьте, какой адрес возвращает система для нужного домена:

ping example.com

Если ping показывает IP из вашей записи в hosts — файл работает, и проблема, скорее всего, на стороне браузера. Если возвращается реальный адрес из интернета, система файл игнорирует, и нужно возвращаться к проверке пути, кодировки и содержимого.

📊 На каком этапе у вас перестал работать hosts?
Файл не сохраняется
Записи есть, но ping показывает реальный IP
Ping правильный, но браузер открывает старый сайт
Не работает только в одном браузере

Кодировка и невидимые символы

Менее очевидная причина — кодировка и служебные символы в файле. Некоторые редакторы сохраняют текст в UTF-8 с меткой BOM, и системный парсер может некорректно обработать такой файл. Безопасный вариант — сохранять hosts в ANSI или UTF-8 без BOM, если ваш редактор позволяет это выбрать.

Также мешают невидимые пробелы в конце строк, табуляции, скопированные из веб-страниц, и «неразрывные пробелы». Если запись выглядит правильно, но не срабатывает, удалите строку целиком и наберите её заново вручную, используя обычный пробел между адресом и доменом.

💡

Скопируйте содержимое hosts в новый пустой файл, заново наберите проблемные строки вручную и сохраните в кодировке без BOM — это исключает скрытые символы, попавшие при копировании из браузера.

Браузер с DNS-over-HTTPS обходит hosts

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

Проверьте настройки браузера: в разделе приватности или сети найдите параметр защищённого DNS и временно отключите его, затем перезапустите браузер и проверьте снова. Название и расположение настройки зависят от браузера и его версии, поэтому сверьтесь с документацией вашего обозревателя. Дополнительно помогает очистка кэша браузера или проверка в режиме инкогнито.

⚠️ Внимание: если hosts используется для блокировки нежелательных сайтов, включённый DoH у пользователя фактически обходит эту блокировку. Учитывайте это при настройке родительского контроля или корпоративных ограничений.
Почему ping и браузер показывают разное

Утилита ping использует системный резолвер Windows, который читает hosts напрямую. Браузер с включённым DoH отправляет DNS-запрос по зашифрованному соединению на свой сервер, минуя системный резолвер и файл hosts. Поэтому результаты различаются — и это нормальное поведение, а не поломка.

Стороннее ПО и антивирусы

Некоторые антивирусы и защитные утилиты контролируют файл hosts, блокируя его изменение или восстанавливая исходное содержимое. Если записи «исчезают» после перезагрузки или не сохраняются, проверьте журнал вашего антивируса — возможно, он откатывает правки как подозрительные.

Также на резолвинг влияют VPN-клиенты, прокси и сетевые фильтры: они могут направлять DNS-запросы через собственные серверы. Для чистой диагностики временно отключите VPN и прокси, повторите ipconfig /flushdns и проверьте результат ещё раз.

💡

Диагностику ведите по цепочке: ping → системный резолвер → браузер. Место, где цепочка «ломается», и указывает на истинную причину.

Сводная таблица симптомов и причин

СимптомВероятная причинаЧто проверить
Файл не сохраняетсяНет прав администратора или атрибут «только чтение»Запуск редактора от имени администратора, свойства файла
ping показывает реальный IPФайл в неверной папке, лишнее расширение, DNS-кэшПуть, имя файла, ipconfig /flushdns
ping верный, браузер открывает старый сайтDoH в браузере или его кэшНастройки защищённого DNS, очистка кэша
Работает без www, не работает с wwwОтсутствует отдельная строка для поддоменаДобавить запись для www.домен
Записи пропадают после перезагрузкиАнтивирус восстанавливает файлЖурнал защитного ПО, исключения

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

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

Обычно нет. Достаточно выполнить ipconfig /flushdns и перезапустить браузер. Перезагрузка может потребоваться, только если изменения блокирует стороннее ПО.

Можно ли в hosts указать порт или адрес страницы?

Нет. Файл работает только на уровне «домен → IP-адрес». Порты, протоколы и отдельные страницы в нём указать нельзя — для этого нужны другие инструменты, например локальный прокси.

Почему запись с 127.0.0.1 не блокирует сайт полностью?

Возможные причины: у сайта есть зеркала на других доменах, браузер использует DoH, или открывается версия с www, для которой нет отдельной строки. Проверьте все три варианта.

Работает ли hosts на смартфоне?

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

Чем открыть файл, если Блокнот портит кодировку?

Подойдёт любой редактор с выбором кодировки, например Notepad++: откройте файл, убедитесь, что выбрана кодировка ANSI или UTF-8 без BOM, и сохраните. Редактор также нужно запускать с правами администратора.