Файл hosts сопоставляет доменные имена с IP-адресами на конкретном компьютере. С его помощью можно проверить сайт на новом сервере до изменения DNS-записей, протестировать перенос сайта или временно изменить адрес, по которому открывается домен.
В Windows 10/11 файл hosts находится по пути C:\Windows\System32\drivers\etc\hosts, а в MacOS и Linux — /etc/hosts. Для изменения файла в Windows нужны права администратора, а в MacOS и Linux обычно используется команда sudo. Перезагружать компьютер после изменения обычно не требуется. Если новый адрес не применяется, очистите DNS-кэш и перезапустите браузер.
Зачем нужен файл hosts
Файл hosts позволяет вручную сопоставить доменное имя с IP-адресом на конкретном компьютере. Записи в этом файле имеют приоритет при разрешении имен и действуют только на устройстве, где они добавлены. Они не изменяют DNS-записи домена.
Файл hosts используют, чтобы:
- проверить сайт на новом сервере до изменения DNS-записей,
- протестировать сайт в локальной или тестовой среде,
- временно направить домен на другой IP-адрес,
- локально заблокировать доступ к домену.
Например, запись
123.123.123.123 faq-reg.ru
указывает компьютеру использовать IP-адрес 123.123.123.123 для домена faq-reg.ru.
Где находится файл hosts
Расположение файла hosts зависит от операционной системы:
- Windows 10/11 —
C:\Windows\System32\drivers\etc\hosts, - MacOS —
/etc/hosts, - Linux —
/etc/hosts.
В MacOS /etc/hosts — системный путь к файлу, который также доступен как /private/etc/hosts.
Как внести изменения в файл hosts
Ниже мы рассмотрим, как редактировать и как сохранить изменения в файле hosts. Важно открыть файл с правами администратора, иначе система не даст вам его сохранить. Выберите вашу операционную систему и следуйте инструкции или посмотрите видеоинструкцию:
Как изменить файл hosts в Windows 10/11
-
1
Запустите Блокнот или любой другой редактор от имени администратора. Для этого найдите его в Пуске, нажмите по нему правой кнопкой мыши и выберите Запуск от имени администратора:
-
2
В меню «Файл» нажмите Открыть и перейдите в каталог, где находится файл hosts. Измените тип файла на «Все файлы»:
-
3
Откройте файл hosts и добавьте запись в конце файла:
123.123.123.123 faq-reg.ru www.faq-reg.ruГде:
- 123.123.123.123 — IP-адрес вашего сервера или хостинга,
- faq-reg.ru — имя вашего домена.
-
4
Сохраните изменения в файле.
Теперь сайт можно открыть в браузере с нового IP-адреса до обновления DNS-записей.
Как изменить файл hosts в Linux
Для Ubuntu, Debian, Fedora, Rocky Linux и других дистрибутивов действия будут аналогичными:
-
1
Введите в терминал команду hosts:
sudo nano /etc/hostsВведите пароль пользователя, если система его запросит.
-
2
Добавьте в конце файла необходимую запись в формате:
123.123.123.123 faq-reg.ru www.faq-reg.ruГде:
123.123.123.123 — IP-адрес вашего сервера или хостинга,
faq-reg.ru — имя вашего домена.
-
3
Сохраните изменения: в nano нажмите Control + O, затем Enter и Control + X.
Теперь вы можете открыть ваш сайт в браузере, не дожидаясь обновления DNS-серверов.
Как изменить файл hosts в MacOS
Инструкция подходит для современных версий MacOS, в том числе Sonoma и Sequoia.
-
1
Запустите терминал с помощью горячих клавиш: Command (⌘) + T или через Spotlight.
-
2
Введите команду:
sudo nano /etc/hostsНажмите Enter и введите пароль пользователя MacOS. При вводе пароля символы в терминале не отображаются — это нормально.:
-
3
Добавьте в конце файла запись в формате:
123.123.123.123 faq-reg.ru www.faq-reg.ruГде:
- 123.123.123.123 — IP-адрес вашего сервера или хостинга,
- faq-reg.ru — имя вашего домена.
-
4
Сохраните изменения в файле.
Теперь сайт можно открыть в браузере с нового IP-адреса до обновления DNS-записей.
Видео
Как проверить, что запись hosts работает
После изменения файла hosts проверьте, какой IP-адрес используется для домена. Для этого можно воспользоваться командой, которая проверяет системное разрешение имени.
Выполните:
ping example.ru
Если в результате указан IP-адрес из файла hosts, запись применяется. Отсутствие ответа от сервера на ping не означает, что запись hosts не работает: сервер может не отвечать на ICMP-запросы.
Выполните:
getent hosts example.ru
Выполните:
dscacheutil -q host -a name example.ru
Если запись hosts применяется, команда должна показать указанный в hosts IP-адрес.
Команда nslookup обычно обращается к DNS-серверу и не подходит для проверки того, какой адрес вернуло системное разрешение имени с учетом hosts. Для такой проверки используйте команды выше или откройте сайт в браузере.
Что делать, если изменения hosts не работают
Если сайт продолжает открываться со старого IP-адреса, проверьте возможные причины:
sudoКак очистить DNS-кэш
Перезагружать компьютер после изменения hosts обычно не требуется. Если новый адрес не применяется, очистите DNS-кэш.
Откройте Командную строку от имени администратора и выполните:
ipconfig /flushdns
После сообщения об успешной очистке перезапустите браузер.
В терминале выполните:
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
Затем перезапустите браузер.
В терминале выполните команду для вашей системы:
- Ubuntu и другие дистрибутивы с `systemd-resolved:
sudo resolvectl flush-caches
- если используется
nscd:
sudo systemctl restart nscd
Антивирус блокирует изменения
Некоторые антивирусы и другие системы защиты могут отслеживать изменения файла hosts. Они могут показать предупреждение, запретить изменение файла или восстановить его содержимое. Если сохраненная запись исчезает, проверьте настройки установленного защитного ПО.
Как использовать hosts для тестирования сайта
Файл hosts удобно использовать при переносе сайта на новый сервер. Например, faq-reg.ru пока работает на старом сервере, а новый сервер имеет IP-адрес 123.123.123.123.
Добавьте в hosts:
123.123.123.123 faq-reg.ru www.faq-reg.ru
После этого на вашем компьютере сайт faq-reg.ru будет открываться с нового сервера, хотя публичная DNS-запись еще указывает на старый адрес.
Так можно проверить:
- отображение сайта,
- работу системы управления контентом (CMS),
- формы, загрузку файлов,
- HTTPS.
После завершения проверки удалите временную запись из hosts.
Как использовать hosts в разработке и эксплуатации (DevOps)
Файл hosts можно использовать для локальной разработки и тестирования приложений. Например, направить доменное имя на локальный сервер:
127.0.0.1 dev.faq-reg.ru
После этого на вашем компьютере dev.faq-reg.ru будет указывать на этот же компьютер.
Для проверки приложения на тестовом сервере можно указать его локальный IP-адрес:
192.168.1.50 test.faq-reg.ru
Так можно использовать привычные доменные имена при разработке и тестировании без изменения публичных DNS-записей.
Записи в hosts действуют только на конкретном компьютере. Если домен должен быть доступен с нескольких устройств, настройте DNS.
Как заблокировать сайт с помощью hosts
Файл hosts можно использовать для локальной блокировки сайта на конкретном компьютере.
-
1
Откройте файл hosts от имени администратора на своем ПК.
-
2
Добавьте в конец файла строку с адресом
127.0.0.1и доменным именем сайта:
Чтобы заблокировать несколько сайтов, добавьте для каждого отдельную строку.
-
3
Сохраните изменения.
После этого указанные домены будут направляться на локальный компьютер, поэтому сайт не откроется с этого устройства.
Чтобы снять блокировку, удалите добавленные записи или поставьте перед ними символ #.
Такая блокировка действует только на компьютере, где изменен файл hosts. Она не блокирует сайт для других пользователей.
Как восстановить файл hosts
Если вы случайно удалили файл hosts или хотите отменить внесенные изменения, создайте новый файл с именем hosts без расширения в стандартной папке вашей операционной системы.
Если вы добавляли собственные записи, удалите ненужные строки из файла или восстановите его из резервной копии.
Не скачивайте готовые файлы hosts из непроверенных источников. В них могут содержаться нежелательные или вредоносные записи.
Частые вопросы
Где находится файл hosts в Windows 10/11?
C:\Windows\System32\drivers\etc\hosts. Для его изменения запустите редактор от имени администратора.
Где находится файл hosts в MacOS?
/etc/hosts. Открыть его для редактирования можно из терминала командой sudo nano /etc/hosts.
Где находится файл hosts в Linux?
/etc/hosts. Для редактирования обычно используют команду sudo nano /etc/hosts.
Нужны ли права администратора для изменения hosts?
sudo.
Почему изменения в hosts не работают?
Можно ли проверить сайт до изменения DNS с помощью hosts?
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊