Файл Hosts в Linux ⋆ ALexHost SRL

Проверьте свои навыки на всех наших услугах хостинга и получите скидку 15%!.

Используйте код при регистрации:

Skills
12.12.2024

Файл Hosts в Linux

Файл hosts является важным компонентом многих операционных систем, включая Linux VPS Hosting. Он служит локальным инструментом системного уровня для сопоставления имен хостов с IP-адресами, помогая вашему компьютеру находить и подключаться к различным серверам или устройствам в Интернете или локальной сети. Понимание того, как работает файл hosts и как его модифицировать, может быть полезно для устранения неполадок, блокировки определенных сайтов или настройки пользовательских доменных имен для целей разработки. В этой статье мы рассмотрим, что такое файл hosts, где он находится в Linux и как его эффективно редактировать.

1. Что такое файл hosts?

Файл hosts – это обычный текстовый файл, используемый операционной системой для сопоставления человекочитаемых имен хостов (например, www.example.com) с соответствующими им IP-адресами. Он функционирует аналогично системе доменных имен (DNS), но работает локально на вашем компьютере. Этот файл используется перед запросом к внешним DNS-серверам, позволяя вам отменить разрешение DNS с помощью ваших собственных отображений.

Основные области применения файла hosts включают:

  • Сопоставление доменов для локальной разработки: Разработчики часто используют файл hosts для создания локальных тестовых сред, сопоставляя пользовательские доменные имена с localhost (127.0.0.1).
  • Блокирование доступа к определенным веб-сайтам: Вы можете заблокировать доступ к определенным веб-сайтам, указав их доменные имена на немаршрутизируемый IP-адрес, например 0.0.0.0 или 127.0.0.1.
  • Быстрое устранение неполадок DNS: Файл hosts можно использовать для устранения проблем с DNS или тестирования конфигураций веб-сайтов без изменения реальных записей DNS.

2. Расположение файла hosts в Linux

В системах Linux файл hosts обычно находится в каталоге /etc и имеет имя hosts. Полный путь к файлу выглядит следующим образом:

/etc/hosts

Этот файл обычно предварительно сконфигурирован с некоторыми записями по умолчанию для управления локальной сетью. Например, запись для localhost обычно включена по умолчанию:

127.0.0.1 localhost ::1 localhost

3. Структура файла Hosts

Файл hosts имеет простую структуру. Каждая строка файла содержит IP-адрес, за которым следует одно или несколько имен хостов, сопоставленных с этим адресом. Формат следующий:

IP_адрес имя хоста [псевдоним1] [псевдоним2]…
  • IP_адрес: IP-адрес, в который должно преобразовываться имя хоста.
  • hostname: имя домена или хоста.
  • псевдоним (необязательно): Альтернативные имена для хоста, которые можно добавить для удобства.

Например, если вы хотите сопоставить домен example.com с локальным сервером (localhost), вы добавите следующую строку:

127.0.0.1 example.com

Вы также можете добавить несколько имен хостов в одной строке, например, так:

127.0.0.1 example.com www.example.com

4. Редактирование файла Hosts в Linux

Чтобы изменить файл hosts в системе Linux, вам нужны права администратора (root), поскольку этот файл является частью конфигурации системы. Вот пошаговое руководство по редактированию файла hosts:

Шаг 1: Откройте файл hosts от имени Root

Поскольку для редактирования файла hosts вам нужны права root, вы должны открыть его с помощью текстового редактора с правами sudo. К обычным текстовым редакторам относятся nano и vim. Вот как открыть файл с помощью nano:

sudo nano /etc/hosts

Шаг 2: Редактирование файла Hosts

Открыв файл, вы можете добавлять, изменять или удалять записи по мере необходимости. Например, чтобы заблокировать доступ к веб-сайту example.com, вы можете добавить следующую строку:

0.0.0.0 example.com

Это эффективно блокирует сайт, направляя домен на немаршрутизируемый IP-адрес.

Шаг 3: Сохранить и выйти

После внесения изменений сохраните файл. Если вы используете nano, нажмите CTRL O, чтобы записать изменения, а затем нажмите Enter. Чтобы выйти, нажмите CTRL X.

Если вы используете vim, вы можете сохранить и выйти, набрав:

:wq

Шаг 4: Проверьте изменения

Чтобы убедиться, что изменения вступили в силу, можно воспользоваться командой ping или просто попробовать зайти на домен в браузере. Например:

ping example.com

Если вы заблокировали домен, привязав его к 0.0.0.0 или 127.0.0.1, вы должны увидеть сообщение о том, что хост недоступен.

5. Общие случаи использования файла Hosts

5.1. Локальная разработка

При работе над проектами веб-разработки вы можете использовать файл hosts для привязки пользовательских доменов к localhost. Это позволит вам использовать более человекопонятный URL, например myproject.local, вместо localhost:3000.

Пример:

127.0.0.1 myproject.local

После добавления этой записи вы можете перейти по адресу myproject.local в веб-браузере, и он будет указывать на ваш локальный сервер разработки.

5.2. Блокирование веб-сайтов

Вы можете использовать файл hosts для блокировки доступа к определенным веб-сайтам, привязав их домены к 0.0.0.0 или 127.0.0.1. Это полезно для предотвращения доступа к отвлекающим веб-сайтам или потенциально опасным доменам.

Пример:

0.0.0.0 facebook.com www.facebook.com

Это заблокирует доступ к Facebook, перенаправив запросы на несуществующий локальный адрес.

5.3. Обход проблем с DNS

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

Пример:

203.0.113.15 mywebsite.com

Это заставит вашу систему разрешить mywebsite.com в IP-адрес 203.0.113.15, независимо от того, что говорят записи DNS.

6. Промывка кэша DNS (необязательно)

После внесения изменений в файл hosts ваша операционная система может сохранить в кэше предыдущие разрешения DNS. Чтобы немедленно применить изменения, вам может понадобиться промыть кэш DNS. Следующая команда может быть использована в системах Linux, поддерживающих systemd:

sudo systemctl restart systemd-resolved

В качестве альтернативы можно использовать:

sudo service network-manager restart

Это гарантирует, что новые сопоставления в файле hosts будут использоваться сразу же.

Заключение

Файл hosts – это мощный инструмент для управления процессом разрешения доменных имен в вашей системе. Если вы блокируете нежелательные веб-сайты, создаете локальную среду разработки или устраняете проблемы с DNS, знание того, как изменять файл hosts, поможет вам сэкономить время и улучшить возможности управления сетью. В Linux редактирование файла hosts очень простое и может быть выполнено всего за несколько шагов с помощью основных команд терминала. Только не забывайте использовать привилегии root при изменении этого важного системного файла!

Проверьте свои навыки на всех наших услугах хостинга и получите скидку 15%!.

Используйте код при регистрации:

Skills