Поиск по сайту:

Как настроить локальный DNS с помощью файла /etc/hosts в Linux


DNS (Система или служба доменных имен) — это иерархическая децентрализованная система/служба именования, которая преобразует доменные имена в IP-адреса в Интернете или частной сети, а также сервер, предоставляющий такую возможность. служба называется DNS-сервером.

В этой статье объясняется, как настроить локальный DNS с использованием файла хостов (/etc/hosts) в системах Linux для разрешения локального домена или тестирования веб-сайта перед запуском в эксплуатацию.

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

/etc/hosts — это файл операционной системы, который преобразует имена хостов или доменные имена в IP-адреса. Это полезно для тестирования изменений веб-сайтов или настройки SSL перед публикацией веб-сайта.

Внимание. Этот метод будет работать только в том случае, если хосты имеют статический IP-адрес. Поэтому убедитесь, что вы установили статические IP-адреса для своих хостов Linux или узлов, работающих под управлением других операционных систем.

Для целей этой статьи мы будем использовать следующий домен, имена хостов и IP-адреса (используйте значения, соответствующие вашим локальным настройкам).

Domain:     tecmint.lan
Host 1:     ubuntu.tecmint.lan	 192.168.56.1
Host 2:     centos.tecmint.lan	 192.168.56.10

Понимание переключения службы имен в Linux

Прежде чем двигаться дальше, вам следует кое-что понять о другом важном файле — /etc/nsswitch.conf. Он предоставляет функцию Переключение службы имен, которая управляет порядком, в котором службы запрашиваются для поиска службы имен.

Конфигурация основана на заказе; если файлы находятся перед DNS, это означает, что система запросит файл /etc/hosts перед проверкой DNS на наличие запросов службы имен. Но если DNS предшествует файлам, тогда процесс поиска домена сначала будет обращаться к DNS, а затем к любым другим соответствующим службам или файлам.

В этом сценарии мы хотим запросить сервис «files». Чтобы проверить заказ, введите.

cat /etc/nsswitch.conf
OR
grep hosts /etc/nsswitch.conf

Настройте DNS локально с помощью файла /etc/hosts в Linux

Теперь откройте файл /etc/hosts, используя выбранный вами редактор, следующим образом.

sudo vi /etc/hosts

Затем добавьте строки ниже в конец файла, как показано на снимке экрана ниже.

192.168.56.1   ubuntu.tecmint.lan
192.168.56.10  centos.tecmint.lan

Затем проверьте, все ли работает должным образом, используя команду ping с хоста 1. Вы можете проверить связь с узлом 2, используя его доменное имя, например так.

ping -c 4 centos.tecmint.lan 
OR
ping -c 4 centos

На Хосте 2 мы настроили HTTP-сервер Apache. Таким образом, мы также можем проверить, работает ли служба перевода имен, перейдя по URL-адресу http://centos.tecmint.lan.

Важно! Чтобы использовать доменные имена на любом хосте в сети, необходимо настроить указанные выше параметры в его файле /etc/hosts.

Что это означает? В приведенном выше примере мы настроили только файл хостов Хост 1 и можем использовать в нем только доменные имена. Чтобы использовать те же имена на Хосте 2, нам также необходимо добавить адреса и имена в его файл хостов.

Наконец, вам следует использовать команду хоста или команду nslookup, чтобы проверить, действительно ли работает служба перевода имен. Эти команды только запрашивают DNS и игнорируют любые конфигурации в /etc/hosts и /etc/nsswitch. .conf файлы.

Вам также может быть интересно прочитать следующие статьи по теме.

  1. Установите и настройте DNS-сервер только для кэширования в RHEL/CentOS 7.
  2. Настройте базовый DNS-сервер рекурсивного кэширования и настройте зоны для домена
  3. 8 команд Linux Nslookup для устранения неполадок DNS (сервера доменных имен)
  4. Полезные примеры команды «host» для запроса DNS-запросов

Вот и все! Поделитесь с нами любыми дополнительными мыслями или вопросами по этой теме в разделе комментариев ниже.