24.2. Локальное разрешение имен с использованием файла hosts

Проблема

Требуется настроить разрешение имен для локальной сети. Поскольку сеть не обслуживает внешних клиентов, регистрация доменных имен не требуется; можно использовать любые доменные имена по своему усмотрению (они не будут действительными за пределами локальной сети, но это не имеет значения). Если сеть стабильна, и изменения происходят редко, настройка сервера DNS не обязательна. Все, что нужно — это присвоить хостам удобные и запоминающиеся имена.

Возможно, у вас уже есть зарегистрированное доменное имя и работающий сервер DNS, но для надёжности вы хотите сохранить данные ключевых компьютеров в файле hosts на случай сбоя сервера DNS.

Решение

Используйте файлы hosts, структура которых идентична в Linux и Windows.

В большинстве версий Linux нужно отредактировать два файла: /etc/hostname и /etc/hosts. В файле /etc/hostname указывается только имя хоста:

windbag

Для дистрибутивов Red Hat и Fedora вместо /etc/hostname редактируется файл /etc/sysconfig/network:

HOSTNAME=windbag

Файл /etc/hosts содержит полное доменное имя. В нем всегда должна быть запись для localhost, а затем указывается IP-адрес и полное доменное имя:

127.0.0.1 localhost.localdomain localhost
192.168.1.5 windbag.test.net windbag

Проверить конфигурацию можно с помощью следующих команд:

$ hostname
windbag

$ hostname --fqdn
windbag.test.net

$ dnsdomainname
test.net

Изменения вступят в силу после перезагрузки компьютера.

Чтобы задать имя хоста в Windows, щелкните правой кнопкой мыши на значке «Мой компьютер», выберите команду «Свойства» и введите имя на вкладке «Имя компьютера». Местонахождение файла hosts зависит от версии Windows; проще всего найти файл через поиск в меню «Пуск».

Каждый компьютер в локальной сети должен содержать идентичные копии файла hosts. После этого компьютеры смогут обращаться друг к другу по именам, и можно использовать приложения, зависящие от имен хостов, такие как Samba.

Комментарий

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

Преимущества использования файла hosts

  1. Отсутствие зависимости от единого сервера.
  2. Возможность использования произвольных доменных имен в пределах локальной сети, что исключает необходимость регистрации доменов.
  3. Произвольное изменение доменных имен — полезно для тестирования виртуальных доменов с Postfix и Apache.
  4. Если использовать файл /etc/hosts только для серверов со статическими IP-адресами, разрешение имен для остальных хостов сети можно возложить на сервер DHCP, без создания записей в hosts (см. Раздел 24.3).

Пример файла hosts (файлы одинаковы в Linux и Windows):

127.0.0.1 localhost.localdomain localhost
192.168.1.5 windbag.test.net windbag
192.168.1.6 powerpc.test.net powerpc
192.168.1.10 laptop.test.net laptop

См. также

hosts(5).