Написание файлов hosts и networks

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

Даже если Вы хотите использовать DNS или NIS, можно иметь некоторое подмножество имен и в /etc/hosts. Например, если Вы хотите иметь некоторый вид поиска по имени даже, когда сетевые интерфейсы не запущены, например, во время загрузки. Это не только вопрос удобства, но также позволяет Вам использовать символические имена хостов в скриптах rc. Таким образом, при изменении IP-адресов, Вы должны будете только копировать обновленный файл hosts на все машины вместо того, чтобы редактировать большое количество файлов rc. Обычно Вы будете помещать все локальные имена и адреса в hosts добавлением их на любой gateway и NIS-сервер, если они используются.

Также при проверке Вы должны удостовериться, что сервер имен использует информацию только из файла hosts. Программное обеспечение DNS или NIS может иметь файлы примеров, которые могут дать странные результаты при их использовании. Чтобы заставить все приложения использовать исключительно /etc/hosts при поиске IP-адреса хоста, Вы должны отредактировать файл /etc/host.conf. Закомментируйте все строки, начинающиеся с ключевого слова order и вставьте строку:

order hosts

Конфигурация библиотеки сервера имен будет подробно описана в главе 6.

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

Имя хоста может быть полностью квалифицированным или заданным относительно локального домена. Для vale Вы ввели бы в hosts полностью квалифицированное имя, vale.vbrew.com, а также vale само по себе так, чтобы было известно и официальное имя и более короткое локальное.

Пример файла hosts для Virtual Brewery дан ниже. Два специальных имени, vlager-if1 и vlager-if2, задают адреса для обоих интерфейсов, используемых на vlager:

#
# Hosts file for Virtual Brewery/Virtual Winery
#
# IP            FQDN                 aliases
#
127.0.0.1       localhost
#
172.16.1.1      vlager.vbrew.com      vlager vlager-if1
172.16.1.2      vstout.vbrew.com      vstout
172.16.1.3      vale.vbrew.com        vale
#
172.16.2.1      vlager-if2
172.16.2.2      vbeaujolais.vbrew.com vbeaujolais
172.16.2.3      vbardolino.vbrew.com  vbardolino
172.16.2.4      vchianti.vbrew.com    vchianti

Точно так же, как с IP-адресами хостов, можно дать символическое имя сетевым адресам. Поэтому файл hosts имеет компаньона /etc/networks, который отображает имя сети на сетевой адрес и наоборот. В Virtual Brewery мы могли бы устанавливать файл networks подобно этому:

# /etc/networks for the Virtual Brewery
brew-net      172.16.1.0
wine-net      172.16.2.0