В данном случае предполагается, что маршрутизатор Office 2 использует для соединения с маршрутизатором Office 1 сетевой интерфейс с адресом 172.21.1.1. Заметьте, что этот адрес не принадлежит сети Office 2 (все компьютеры сети Office 2 соединены с маршрутизатором Office 2 через один интерфейс, а маршрутизатор Office 1 подключен к нему через другой интерфейс). Если кроме приведенной выше команды для маршрутизатора Office 1 также задать с помощью утилиты
route
маршрут по умолчанию, то в результате в таблице маршрутизации будут определены два шлюза: один в качестве маршрута по умолчанию, а другой — для управления трафиком, предназначенным для сети Office 2. Заметьте, что остальные компьютеры в сети Office 1 не обязаны знать об особенностях настройки маршрутизатора, в них должна содержаться лишь информация о маршруте по умолчанию, в котором роль шлюза выполняет маршрутизатор этой сети.
Подобная конфигурация маршрутизатора может потребоваться и в других случаях. Предположим, что в сети Office 1 присутствует второй маршрутизатор,
посредством которого локальная сеть подключается к Internet. При этом для каждого компьютера сети Office 1 должны быть определены два шлюза: шлюз по умолчанию, т.е. компьютер, посредством которого осуществляется соединение сети с Internet, и второй шлюз, через который походит маршрут к компьютерам сети Office 2. (Компьютеры сети Office 1 могут быть сконфигурированы и по-другому, для них может быть определен только шлюз по умолчанию, который, в свою очередь, будет передавать пакеты на второй шлюз. Как нетрудно заметить, использование такой конфигурации увеличивает трафик локальной сети.) Поскольку использование двух маршрутизаторов затрудняет настройку компьютеров, желательно использовать в сети один маршрутизатор.
Настройка DNS
После активизации интерфейсов и установки маршрутов компьютер может обмениваться пакетами как с компьютерами локальной сети, так и с любыми другими компьютерами, с которыми он соединен системой шлюзов. Для указания адреса назначения пакета используются IP-адреса. Такая адресация естественна для маршрутизаторов, но чрезвычайно неудобна для пользователей. Преобразование символьных имен (например,
www.awl.com
) в IP-адреса, используемые при маршрутизации пакетов, осуществляет система доменных имен (DNS — Domain Name System). Кроме того, DNS может также осуществлять обратное преобразование.
DNS поддерживает глобальную распределенную базу данных, для работы с которой используется большое количество серверов. Для того чтобы пользоваться этой базой, компьютер должен знать адрес лишь одного сервера DNS. Большинство организаций и провайдеров Internet устанавливают у себя один или несколько серверов. Чтобы узнать адрес такого сервера, надо обратиться к администратору сети. Получив эти сведения, надо включить их в файл
/etc/resolv.conf
. В данном файле может содержаться до трех строк, начинающихся с ключевого слова
nameserver
, за которым следует IP-адрес сервера DNS. В этом файле также указывается домен по умолчанию (для этого используется ключевое слово
domain
) и произвольное число доменов, в которых выполняется поиск имени. Поиск проводится в том случае, если указано лишь имя компьютера, а имя домена пропущено (например, если вместо
mail.threeroomco.com
пользователь задал имя
mail
). Пример файла
/etc/resolv.conf
, содержащего все три типа записей, приведен в листинге 2.1.
Листинг 2.1. Пример файла
/etc/resolv.conf
domain threeroomco.com
search tworoomco.comfourroomco.com
nameserver 10.98.17.34
nameserver 172.20.13.109
Внимание
Несмотря на то что запись
search
позволяет сэкономить время при вводе доменного имени, желательно воздержаться от ее использования. Предположим, что в обоих доменах, указанных в листинге 2.1 (
tworoomco.com
и
fourroomco.com
), содержится компьютер с именем
www
. Если, работая на компьютере, на котором находится приведенный выше файл
/etc/resolv.conf
, пользователь введет имя
www
, он может получить документ, содержащийся на сервере одного домена, и считать при этом, что он работает с другим доменом. Кроме того, при поиске затрачивается время, в течение которого обработка других запросов на преобразование адресов замедляется. Более того, даже если вы зададите полное имя, система сначала попытается найти в доменах, определенных посредством записей
domain
и search. Например, если на компьютере, на котором находится рассматриваемый файл
/etc/resolv.conf
, вы зададите имя
www.awl.com
, то сначала будет предпринята попытка найти имена
www.awl.com.threeroomco.com
,
www.awl.com.tworoomco.com
и
www.awl.com.fourroomco.com
и лишь затем начнется обработка имени
www.awl.com
. Успехом увенчается лишь попытка преобразования имени, в которое после домена
com
будет стоять точка.
После того как вы отредактируете файл
/etc/resolv.conf
в соответствии со своими потребностями, можете начинать работу в сети. Для активизации внесенных изменений не требуются никакие дополнительные команды. Linux автоматически начнет работать с указанным сервером имен и выполнять поиск в указанных доменах.
Если вы хотите, чтобы ваш компьютер под управлением Linux выполнял функции сервера DNS, вам надо выполнить специальные настройки.
Сделать это поможет материал, изложенный в главе 18. В главе 18 приводятся сведения об особенностях работы сервера имен. В зависимости от конфигурации, к этому серверу могут обращаться как компьютеры, находящиеся в той же локальной сети, так и другие узлы Internet.
Определение имени узла
При использовании многих протоколов семейства TCP/IP необходимо, чтобы к компьютеру можно было обращаться по имени. Для того чтобы упростить настройку отдельных программ, в Linux содержится специальная утилита
hostname
, позволяющая определить имя узла. Если вызвать эту утилиту без параметров, она выведет текущее имя узла. Если за именем утилиты следует имя узла (например,
hostname larch.threeroomco.com
), это имя присваивается узлу. Имя узла можно хранить в файле и с помощью опции
– f
или
– file
передавать
hostname
имя того файла, например
hostname -f /etc/HOSTNAME
. В большинстве дистрибутивных пакетов предусмотрена автоматическая установка имени узла при загрузке системы, но имя узла в различных системах хранится в разных файлах. Это может быть файл
/etc/hostname
,
/etc/HOSTNAME
или файл, указанный в составе дополнительного конфигурационного файла (см. табл. 2.1).
Имя узла должно устанавливаться единожды, но это не всегда возможно. Некоторые прикладные программы, в частности почтовые клиенты и программы просмотра сообщений Usenet, позволяют пользователям переопределять имена, используемые по умолчанию. Задать имя узла можно также в файле
/etc/hosts
. Этот файл используется при работе системы преобразования имен, альтернативной DNS. В файле
/etc/hosts
содержатся строки, начинающиеся с IP-адреса, за которым следует набор имен узла. Чаще всего первым после IP-адреса указывается полностью определенное доменное имя, в его состав входит имя компьютера и домен, которому он принадлежит, например
larch.threeroomco.com
. За полностью определенным доменным именем следуют так называемые псевдонимы. Обычно они представляют собой сокращенную форму имени, например
larch
. Если ваш компьютер корректно настроен для работы с сервером DNS и если на этом сервере содержатся записи для вашего компьютера, нет необходимости определять имя узла в файле
/etc/hosts
. Если сервер DNS работает ненадежно или если в результате некорректной работы маршрутизаторов сервер DNS периодически становится недоступным, записи в
/etc/hosts
повысят надежность работы вашего компьютера в сети. Кроме того, вы, возможно, захотите поставить в соответствие адресу 127.0.0.1 имена
localhost.localdomain
и
localhost
. Примеры записей в файле
/etc/hosts
приведены ниже.
10.92.68.1 larch.threeroomco.com larch
127.0.0.1 localhost.localdomain localhost
Совет
Если в процессе загрузки системы возникает пауза в несколько секунд и даже несколько минут (в особенности такая пауза бывает заметной при запуске программы
sendmail
), это может означать, что при соединении с сервером DNS возникают проблемы и вам желательно определить имя узла в файле
/etc/hosts
.
Если компьютер содержит несколько сетевых интерфейсов, вы можете задать одно имя узла посредством команды
hostname
или определить в файле
/etc/hosts
отдельное имя для каждого интерфейса. (Сервер DNS также позволяет задать для одного компьютера несколько имен.)
Совет
Настраивая небольшую сеть, вы можете указать имена всех компьютеров в файлах
/etc/hosts
; при этом необходимость в использовании сервера DNS отпадает. Однако при увеличении размеров сети редактировать файлы
/etc/hosts
становится все труднее. В этом случае целесообразно перейти к использованию централизованного сервера DNS.
Сохранение внесенных изменений
Некоторые из описанных выше процедур настройки системы предполагают редактирование конфигурационных файлов. К таким процедурам относятся установка имени узла в файле
/etc/hosts
и указание адресов серверов DNS в файле
/etc/resolv.conf
. Установки, выполненные таким способом, продолжают действовать до тех пор, пока соответствующий файл не будет поврежден, либо до переинсталляции системы. Другие изменения конфигурации носят временный характер. Характеристики системы, установленные с помощью утилит
ifconfig
,
route
или
hostname
, действуют лишь до перезагрузки компьютера либо до тех пор, пока установки не будут изменены теми же средствами. Чтобы сохранить произведенные установки, надо внести соответствующие изменения в сценарий запуска системы либо отредактировать конфигурационный файл. Для этого используются текстовый редактор либо специальные инструментальные средства.