Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

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

ETC_HOSTS_OVERRIDE Linux / DevOps

Файл /etc/hosts в Linux: как привязать домен к IP или заблокировать сайт

Обновлено: 26.08.2026 · Официальная документация ↗

Необходимо протестировать работу сайта на новом сервере до того, как доменные DNS-записи разойдутся по миру, либо требуется полностью заблокировать доступ к определенному интернет-ресурсу на локальном компьютере без фаервола.

Что такое файл `/etc/hosts`?

Файл /etc/hosts — это встроенная локальная телефонная книга операционной системы. Когда программа в Linux обращается к доменному имени (например, example.com), система **в первую очередь** смотрит в файл /etc/hosts, и только если там ничего не найдено, отправляет запрос во внешний интернет к публичным DNS-серверам.


Шаг 1. Открытие файла для редактирования

Поскольку это системный файл, открывайте его с правами администратора:

sudo nano /etc/hosts

Шаг 2. Синтаксис файла

Каждая строка файла имеет простой вид: IP-АДРЕС ДОМЕННОЕ_ИМЯ [АЛИАСЫ]

Сценарий 1: Привязка домена к новому тестовому серверу

Добавьте строчку в конец файла:

85.192.34.110  my-new-site.ru  www.my-new-site.ru

Теперь все программы на этом сервере (curl, ping, браузер) при обращении к my-new-site.ru будут обращаться напрямую к серверу 85.192.34.110, даже если официальный DNS указывает на старый хостинг.

Сценарий 2: Блокировка нежелательных сайтов

Чтобы заблокировать сайт, перенаправьте его на несуществующий локальный IP 0.0.0.0 или 127.0.0.1:

0.0.0.0  ads.example.com
0.0.0.0  tiktok.com

Шаг 3. Сохранение и проверка

Нажмите Ctrl + O, затем Enter, и Ctrl + X для выхода.

Изменения применяются мгновенно без перезагрузки системы! Проверьте результат командой ping:

ping -c 2 my-new-site.ru
💡 Практика специалистов: Если система игнорирует файл hosts, проверьте файл /etc/nsswitch.conf: строка 'hosts:' должна содержать 'files dns' (слово 'files' должно стоять перед 'dns').

Частые вопросы (FAQ)

Нужно ли перезагружать сервер или сетевые службы после редактирования /etc/hosts?

Нет, операционная система перечитывает файл /etc/hosts при каждом новом сетевом обращении системных библиотек resolver.

Почему в файле обязательно должны быть строки 127.0.0.1 localhost?

Строка 127.0.0.1 localhost связывает имя локальной петли с виртуальным сетевым интерфейсом loopback (lo). Без нее сломается большинство внутренних сервисов и баз данных.

Почему утилита dig не видит записи из /etc/hosts?

Утилиты dig и nslookup предназначены для прямого тестирования внешних DNS-серверов по протоколу DNS и намеренно игнорируют локальный системный файл hosts. Проверяйте через ping или getent hosts.

Как называется аналогичный файл в операционной системе Windows?

В Windows этот файл находится по пути: C:\Windows\System32\drivers\etc\hosts и имеет точно такой же формат.

Полезные материалы
Рекомендуем