Файл Hosts в Linux
Освойте файл хостов Linux: ваш локальный мастер DNS
Зачем настраивать файл hosts? Файл hosts – это секретное оружие вашего Linux VPS для сопоставления доменов с IP-адресами, обхода внешнего DNS для быстрого исправления ситуации или ловких трюков. Хотите протестировать сайт на локальном уровне, заблокировать такие тайм-астеры, как социальные сети, или избежать сбоев DNS? Этот текстовый файл поможет вам. Ниже мы раскроем его возможности и покажем вам, как редактировать его на вашем AlexHost Linux VPS как профессионал.
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_адрес: IP-адрес, в который должно преобразовываться имя хоста.
- hostname: имя домена или хоста.
- псевдоним (необязательно): Альтернативные имена для хоста, которые можно добавить для удобства.
Например, если вы хотите сопоставить домен example.com с локальным сервером (localhost), вы добавите следующую строку:
Вы также можете добавить несколько имен хостов в одной строке, например, так:
4. Редактирование файла Hosts в Linux
Чтобы изменить файл hosts в системе Linux, вам нужны права администратора (root), поскольку этот файл является частью конфигурации системы. Вот пошаговое руководство по редактированию файла hosts:
Шаг 1: Откройте файл hosts от имени Root
Поскольку для редактирования файла hosts вам нужны права root, вы должны открыть его с помощью текстового редактора с правами sudo. К обычным текстовым редакторам относятся nano и vim. Вот как открыть файл с помощью nano:
sudo nano /etc/hosts
Шаг 2: Редактирование файла Hosts
Открыв файл, вы можете добавлять, изменять или удалять записи по мере необходимости. Например, чтобы заблокировать доступ к веб-сайту example.com, вы можете добавить следующую строку:
Это эффективно блокирует сайт, направляя домен на немаршрутизируемый IP-адрес.
Шаг 3: Сохранить и выйти
После внесения изменений сохраните файл. Если вы используете nano, нажмите CTRL O, чтобы записать изменения, а затем нажмите Enter. Чтобы выйти, нажмите CTRL X.
Если вы используете vim, вы можете сохранить и выйти, набрав:
Шаг 4: Проверьте изменения
Чтобы убедиться, что изменения вступили в силу, можно воспользоваться командой ping или просто попробовать зайти на домен в браузере. Например:
Если вы заблокировали домен, привязав его к 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. Это полезно для предотвращения доступа к отвлекающим веб-сайтам или потенциально опасным доменам.
Пример:
Это заблокирует доступ к Facebook, перенаправив запросы на несуществующий локальный адрес.
5.3. Обход проблем с DNS
Если у вас возникли проблемы с разрешением DNS или вы хотите протестировать сайт на новом сервере перед обновлением записей DNS, вы можете использовать файл hosts для временного сопоставления домена с определенным IP-адресом.
Пример:
Это заставит вашу систему разрешить 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 вашего Linux VPS, который можно легко отобразить, заблокировать или отладить. Редактируйте /etc/hosts с помощью sudo, тестируйте с помощью ping и промывайте кэш для мгновенных побед. Это легкая мощная система для разработчиков и блокировки рекламы. Работаете на AlexHost? Ваш VPS уже готов к этому. Настраивайте, но сначала создайте резервную копию – счастливая маршрутизация!