Как редактировать файл hosts в Windows, macOS и Linux
Кратко
Файл hosts перенаправляет доменные имена на IP-адреса локально, минуя внешний DNS. На Windows файл находится в C:\Windows\System32\drivers\etc\hosts, на macOS и Linux — в /etc/hosts. Для внесения изменений требуется запуск текстового редактора с правами администратора (Windows) или sudo (macOS, Linux). Учтите, что современные браузеры с DNS over HTTPS могут игнорировать локальный hosts.
Быстрая навигация
- Что такое файл hosts и зачем он нужен
- Как редактировать hosts на Windows 10/11
- Как редактировать hosts на Windows 8/8.1
- Как редактировать hosts на Windows 7
- Как редактировать hosts в Ubuntu и других дистрибутивах Linux
- Как редактировать hosts на macOS
- Почему hosts может не блокировать подключения
- Практическое руководство, сценарии, чеклисты и отладка

Что такое файл hosts и зачем он нужен
Файл hosts — это локальная таблица сопоставления доменных имён и IP-адресов. Исторически он использовался для разрешения имён до появления глобальной системы DNS. Формат простой и одинаковый на большинстве ОС: сначала IP-адрес, затем имя хоста, затем необязательный комментарий.
Пример записи:
127.0.0.1 localhost # loopbackКраткое определение: hosts — локальная переадресация доменов на IP-адреса без обращения к внешним DNS-серверам.
Когда полезно изменить hosts:
- Блокировка доступа к сайтам (локально на машине);
- Переадресация тестового домена на локальный сервер при разработке;
- Быстрая проверка разрешения имён без изменения DNS-записей у регистратора;
- Устранение проблем с DNS-публикациями во время миграции.
Важно: изменения в hosts действуют только на уровне хоста и не влияют на других клиентов сети.
Общие правила синтаксиса
- IP-адрес и имя хоста разделяются пробелом или табуляцией.
- Комментарии начинаются с «#» и игнорируются.
- Можно указать несколько имён через пробел для одного IP.
- IPv4 и IPv6 записываются отдельно (например, 127.0.0.1 и ::1).
Пример блокировки сайта:
0.0.0.0 www.facebook.com
# или
127.0.0.1 www.facebook.comРекомендации по безопасности и устойчивости
- Делайте резервную копию файла hosts перед изменениями: сохраните копию с датой.
- Не удаляйте системные записи (например, localhost), если не уверены в последствиях.
- Для массовых развёртываний используйте системную политику (GPO на Windows) или конфигурационные инструменты (Ansible/Chef/Puppet).
Редактирование файла hosts на Windows 10 и Windows 11
На Windows файл hosts есть по умолчанию, но он защищён правами системы. Чтобы изменить файл, необходимо запустить текстовый редактор с правами администратора.
- Нажмите «Пуск», введите “notepad” (или другой текстовый редактор).
- Правой кнопкой мыши по приложению → «Запуск от имени администратора».

- В редакторе: Файл → Открыть → перейдите в папку:
C:\Windows\System32\drivers\etc- В диалоге открытия файлов смените фильтр на “Все файлы (.)”, иначе файл hosts не отобразится (у него нет расширения).

- Внесите изменения и сохраните. Если сохранение не выполняется, убедитесь, что редактор запущен от имени администратора.
Пример: блокировка Facebook
0.0.0.0 www.facebook.comПосле сохранения проверьте доступ в браузере. Если сайт не блокируется, см. раздел «Почему hosts может не блокировать подключения».
Редактирование файла hosts на Windows 8 и 8.1
Процесс аналогичен Windows 10/11:
- Откройте меню поиска, найдите Notepad.
- Правой кнопкой мыши → Запуск от имени администратора.
- Файл → Открыть → C:\Windows\System32\drivers\etc → фильтр “Все файлы”.


Если появляется ошибка прав доступа — повторите шаги и убедитесь, что редактор запущен именно с повышенными правами.
Редактирование файла hosts на Windows 7
В Windows 7 можно открыть файл двумя способами:
Способ A — через интерфейс
- Найдите Notepad, правый клик → Запуск от имени администратора.
- Откройте C:\Windows\system32\drivers\etc\hosts (фильтр “Все файлы”).
Способ B — через окно Выполнить (быстро)
- Нажмите Win+R, введите:
notepad c:\windows\system32\drivers\etc\hosts- Подтвердите UAC при запросе — это откроет Notepad с правами администратора и сразу загрузит файл.
![Команда для запуска Блокнота с открытием hosts] (https://static1.howtogeekimages.com/wordpress/wp-content/uploads/2010/08/sshot20100831194119.png)
Пример редактирования и результата (скриншоты демонстрируют блокировку сайта в браузерах):
![Пример блокады Facebook в браузере] (https://static1.howtogeekimages.com/wordpress/wp-content/uploads/2010/08/sshot20100831205644.png)
Совет: если изменения не вступили в силу, закройте и откройте браузер, очистите кэш DNS (ipconfig /flushdns в Windows), проверьте прокси-настройки.
Редактирование файла hosts в Ubuntu и большинстве Linux-дистрибутивов
В Linux файл hosts находится в /etc/hosts и защищён системными правами. Откройте редактор с sudo.
Пример с Vim:
sudo vim /etc/hostsЕсли Vim отсутствует, установите его через менеджер пакетов (например, sudo apt install vim).

В файле вы увидите записи для IPv4 и отдельный блок для IPv6 (::1). В большинстве типовых задач достаточно править секцию IPv4.
После правки сохраните файл и проверьте результат при помощи ping или через браузер. Если браузер использует DNS over HTTPS, hosts может быть проигнорирован — см. отдельный раздел.

Редактирование файла hosts на macOS
На macOS путь тот же: /etc/hosts. Запустите терминал и отредактируйте файл с sudo и удобным редактором, например nano или vi:
sudo nano /etc/hosts
# или
sudo vi /etc/hosts
Пример: перенаправление facebook на 0.0.0.0
0.0.0.0 www.facebook.comПосле изменения сохраните файл и при необходимости сбросьте кэш DNS (в macOS команды зависят от версии, например sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder для более новых версий). Проверьте в браузере.


Почему файл hosts может не блокировать подключения
- DNS over HTTPS (DoH): многие браузеры (и некоторые ОС) могут использовать зашифрованный DNS, отправляя запросы на внешние DNS-серверы, минуя системный resolver.
- Браузер использует собственный DNS-сервис: если браузер настроен на использование встроенного DNS (например, публичного сервера), он не учитывает локальный hosts.
- Кеширование DNS: система или браузер могут держать старые записи в кэше.
- Неправильно заданный IP или опечатка в имени хоста.
- Использование прокси или VPN, которые перенаправляют DNS-вопросы на удалённый сервер.
Проверочные шаги:
- Выполните ipconfig /flushdns (Windows) или sudo dscacheutil -flushcache (macOS) и перезапустите браузер.
- Отключите прокси и VPN и проверьте снова.
- В браузере отключите DoH в настройках или установите его так, чтобы он использовал системный DNS.
- Убедитесь, что запись в hosts корректна и файл действительно сохранён.
Отладка и команды для проверки
Windows:
ipconfig /flushdns
nslookup www.example.com
ping www.example.comLinux/macOS:
sudo systemd-resolve --flush-caches # systemd-based
ping www.example.com
dig +short www.example.com @127.0.0.1Если ping возвращает IP из записи hosts — переадресация работает.
Альтернативные подходы и когда hosts не подходит
Сценарии, когда hosts не подходит:
- Нужно централизованно управлять блокировками на уровне сети (используйте DNS-сервер, прокси или firewall).
- Необходимо блокировать доступ для большого числа устройств — hosts действует только локально.
- Браузеры с DoH игнорируют локальные переадресации.
Альтернативы:
- Локальный DNS-сервер (Pi-hole, bind) — централизованная блокировка и учёт трафика.
- Брандмауэр/маршрутизатор — блокировка по IP/портам на уровне сети.
- Родительский контроль и профиль безопасности в ОС.
Практическое SOP: пошаговое руководство для администратора
- Сделать резервную копию текущего hosts:
# Windows PowerShell
copy C:\Windows\System32\drivers\etc\hosts C:\Windows\System32\drivers\etc\hosts.backup.%date:~10,4%-%date:~4,2%-%date:~7,2%
# Linux / macOS
sudo cp /etc/hosts /etc/hosts.bak.$(date +%F)- Открыть редактор с правами администратора (или sudo).
- Добавить запись(и) в нижней части файла, избегая удаления системных строк.
- Сохранить файл и применить очистку DNS-кэша.
- Проверить результат командой ping/nslookup/dig.
- При проблемах — откатить резервную копию.
Чеклист для ролей
Администратор сети:
- Разработать политику управляемых блокировок (централизованный DNS, если нужно).
- Обеспечить бекапы и журнал изменений hosts.
Разработчик:
- Использовать hosts для локального тестирования перенаправлений.
- Документировать локальные переопределения, чтобы не конфликтовать с коллегами.
Пользователь ПК:
- Всегда делайте копию файла перед изменением.
- Помните, что изменения действуют только на данной машине.
Ментальные модели и эвристики
- «hosts = локальная таблица адресов»: думайте о hosts как о маленьком локальном DNS только для этой машины.
- «Если не работает — проверь DoH и VPN»: чаще всего проблема в том, что запросы утекают наружу.
- «Для масштабного блока — DNS, для одиночного компьютера — hosts»: подберите инструмент по масштабу задачи.
Примеры записей и шаблоны
Блокировка одиночного сайта:
0.0.0.0 example.com
0.0.0.0 www.example.comПереадресация тестового домена на локальную машину (разработка):
127.0.0.1 myapp.localНесколько имён для одного IP:
192.168.1.10 staging.example.com test.example.comВозврат к заводскому виду (удаление пользовательских записей): удалить строки, добавленные вами, и сохранить файл.
Критерии приёмки
- Файл сохранён и доступен на чтение для системных служб.
- При проверке ping/nslookup возвращается нужный IP.
- После очистки кэша браузер отражает изменения.
- Нет побочных эффектов: системные записи вроде localhost не удалены.
Решение проблем: пошаговая отладка
- Убедитесь, что файл сохранён в правильном месте и без расширения.
- Очистите DNS-кэш (ipconfig /flushdns или эквивалент).
- Отключите VPN/прокси и временно отключите DoH в браузере.
- Проверьте права доступа к файлу (на Windows: должен быть доступен для чтения пользователю и изменяем только при запуске «от имени администратора»).
- Проверьте, что не заданы правила в локальном firewall, которые могут отражать поведение.
Decision tree для выбора метода блокировки (Mermaid)
flowchart TD
A[Нужно ли блокировать/переадресовывать домен?] --> B{Это только для одной машины?}
B -- Да --> C[Использовать hosts]
B -- Нет --> D{Нужно ли централизованное управление?}
D -- Да --> E[Настроить локальный DNS 'Pi-hole/Bind']
D -- Нет --> F[Использовать брандмауэр или маршрутизатор]
C --> G{Browser использует DoH?}
G -- Да --> H[Отключить DoH или настроить браузер на системный DNS]
G -- Нет --> I[hosts должен работать]Частые ошибки и как их избежать
- Ошибка: не выбираете “Все файлы” при открытии в Windows — hosts не виден. Решение: смените фильтр в диалоге открытия.
- Ошибка: опечатка в имени хоста. Решение: проверяйте имена через ping.
- Ошибка: браузер использует DoH. Решение: временно отключить DoH, проверить результат.
- Ошибка: забыли сохранить файл с правами администратора. Решение: запустите редактор с повышением прав.
Примечания по приватности и безопасности
- Файл hosts не отправляет данные в сеть — он локален. Однако запись туда может быть результатом вредоносного ПО. Если вы внезапно видите неизвестные записи, проверьте систему антивирусом.
- Для корпоративной среды предпочтительнее централизованные механизмы управления (DNS, firewall), они позволяют аудит и контроль версий.
Локальные альтернативы и подводные камни
- На домашних роутерах некоторые прошивки позволяют редактировать локальную таблицу переадресации — это удобнее для всей сети, но требует аккуратности.
- Pi-hole и похожие решения хорошо подходят для блокировки рекламы и трекинга на уровне сети.
Короткое резюме
Файл hosts — простой и полезный инструмент для локальной переадресации доменов, разработчиков и быстрого тестирования. Для правок требуется запуск редактора с повышенными правами. Современные технологии, такие как DNS over HTTPS и VPN, могут обойти hosts, поэтому для надёжной и централизованной фильтрации лучше использовать DNS-сервисы или сетевые средства.
Важно: всегда делайте резервную копию и документируйте изменения.
Полезные команды и шаблоны на одной странице
- Резервное копирование:
# Windows PowerShell
copy C:\Windows\System32\drivers\etc\hosts C:\Windows\System32\drivers\etc\hosts.bak
# macOS / Linux
sudo cp /etc/hosts /etc/hosts.bak- Очистка DNS-кэша:
# Windows
ipconfig /flushdns
# macOS
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
# Linux (systemd-resolved)
sudo systemd-resolve --flush-caches- Проверка:
ping example.com
nslookup example.com
dig example.comЕсли нужно, могу подготовить готовые шаблоны hosts для разработки, тестирования и домашней блокировки рекламы, а также инструкции по массовому развёртыванию через Ansible или GPO.
Похожие материалы
Как сохранить PDF из Safari на iPhone или iPad
Как проверить звонок 911 на телефоне
Рождественская открытка в Photoshop — пошагово
Как выгнать воду из Apple Watch
Как играть в игры Nintendo Switch офлайн