Обзор TCP/IP 39
Таблицы маршрутизации
Таблицы маршрутизации хранят информацию, необходимую для отправки
пакетов адресатам. Эта информация включает данные о сети адресата, за-
действованном шлюзе, состоянии маршрутов и количестве отправленных
пакетов. Таблицы маршрутизации можно просмотреть при помощи коман-
ды netstat.
Служба имен
Каждый узел в сети имеет имя, по которому можно найти информацию об
узле. Имя узла можно присвоить любому устройству, имеющему IP-адрес.
Служба имен преобразует легкие для запоминания имена в IP-адреса (числа,
с которыми работают машины).
DNSnBIND
Система доменных имен (Domain Name System, DNS) - это распределенная
база данных, в которой хранится информация об узлах сети. Структура базы
данных схожа со структурой файловой системы Unix, т. е. напоминает дере-
во, растущее ветвями вниз. Ветви дерева называются доменами (или поддо-
менами) и соответствуют IP-адресам. Самой распространенной программной
реализацией DNS является BIND (Berkeley Internet Name Domain).
DNS работает по модели клиент-сервер. Resolver- это программа-клиент,
запрашивающая информацию об узле. Сервер имен (name server) представ-
ляет собой процесс, реагирующий на запросы. Сервером BIND является де-
мон named. Вы можете в диалоговом режиме запрашивать у серверов имен
информацию об узлах с помощью команды nslookup. Более подробно named
и nslookup описаны в главе 3.
В качестве сервера доменных имен ваша машина будет ответственна за хра-
нение (и предоставление по запросу) данных по именам машин в вашем до-
мене. Именно сюда будут передавать запросы по этим именам все остальные
серверы имен в сети.
Доменные имена
Полное имя домена представляет собой последовательность имен, начиная с
имени текущего домена и заканчивая корнем, при этом имена разделяются
точками. Например, [Link] содержит имя домена orellly (от O'Reilly &
Associates), который расположен в домене сот (коммерческий). Одна из ма-
шин в этом домене имеет имя [Link]. Перечислим домены верхнего
уровня:
сот - коммерческие организации
edu - образовательные организации
gov — правительственные организации
mil - военные службы
Обзор NFS 43
В дополнение к существующим цепям можно определить и свои собствен-
ные. Можно создать специальную цепь для РРР-интерфейсов или для паке-
тов из определенного узла. Для активации пользовательской цепи необходи-
мо сделать ее действием, привязанным к правилу.
Это можно сделать посредством цепи без применения каких-либо правил,
связанных с действиями. Если пакет не подпадает ни под одно из правил це-
пи, определенной пользователем, управление возвращается цепи, из кото-
рой произошел вызов, и проверяется следующее правило в этой цепи. Если
ни одно из правил встроенной цепи не применяется к пакету, используется
поведение по умолчанию для этой цепи. Поведение по умолчанию может
заключаться в специальных действиях, совершаемых над пакетом. Допус-
тимые действия для каждой команды подробно описаны в разделе команд.
В ядрах ветви 2.2 для определения правил используется ipchains. Когда пра-
вила определены, можно использовать команду ipchains-save для создания
файла, содержащего определения правил, и ipchains-restore — для восста-
новления определений после перезагрузки системы. Эквивалентная коман-
да для ядер ветви 2.4 — iptables. Во время написания этой книги команды ip-
tables-save и iptables-restore еще находились в стадии разработки, но
должны работать подобно их ipchains-аналогам.
Более подробно о принятии решений и соображениях, влияющих на состав-
ление правил, можно прочесть в литературе по брандмауэрам, например в
книге издательства O'Reilly «Создание защиты в Интернете»1 («Building In-
ternet Firewalls»), написанной Элизабет Цвики (Elizabeth D. Zwicky), Саймо-
ном Купером (Simon Cooper) и Брентом Чепменом (D. Brent Chapman). Под-
робности о командах ipchains и iptables можно найти во втором издании
«Руководства сетевого администратора Linux» («Linux Network Administra-
tor's Guide») Олафа Кирха (Olaf Kirch) и Терри Доусона (Terry Dawson) или в
одном из тематических документов HOW-TO, например в «Linux IPCHAINS
HOW-TO» или «Linux IPTABLES HOW-TO».
Обзор NFS
Сетевая файловая система (Network File System, NFS) - это распределенная
файловая система, предоставляющая пользователям возможность монтиро-
вать удаленные файловые системы так, как если бы они были локальными.
NFS работает по модели клиент-сервер: сервер экспортирует разделяемые
каталоги, а клиенты монтируют их, чтобы получить доступ к файлам в ката-
логах. NFS делает ненужным хранение копий одних и тех же файлов на раз-
ных машинах, позволяя всем клиентам разделять единственную копию
файла на сервере. NFS является протоколом прикладного уровня на основе
RPC. Более подробную информацию об архитектуре сетевых протоколов
смотрите ранее в этой главе в разделе «Обзор TCP/IP».
1
«Создание защиты в Интернете», издательство «Символ-Плюс», IV кв. 2001 г.
Обзор NIS 45
Обзор NIS
Network Information System (NIS) - это служба, известная ранее как Жел-
тые страницы Sun (Sun Yellow Pages, YP) и используемая для синхрониза-
ции настроек большого количества машин в сети. Для этого один узел назна-
чается хозяином, владеющим всеми системными файлами и базами данных
и распространяющим эту информацию всем узлам сети. Информация хра-
нится в специальных базах данных, называемых картами (maps). NIS рабо-
тает на основе протокола RPC. В настоящее время существует два бесплат-
ных NIS-сервера для Linux - yps и ypserv.
Серверы
В NIS существует два типа серверов - хозяин (master) и подчиненный (slave).
Сервер-хозяин отвечает за работу с картами и распределение их по подчи-
ненным серверам. После распределения файлы становятся локально-доступ-
ными по соответствующим запросам.
Домены
Домен NIS - это группа узлов, которые пользуются одним и тем же набором
карт. Карты хранятся в подкаталоге /var/yp, имеющем такое же имя, что и
домен. Машины одного домена разделяют пароль, информацию об узлах и
групповые права владения файлами. Доменные имена NIS устанавливаются
с помощью команды domainname.
Карты NIS
В NIS информация хранится в базах данных, называемых картами. Каждая
карта состоит из пары dbm-файлов базы данных, первый из которых содер-
жит иерархию ключей (бит-карту индексов), а второй - конкретные значе-
ния полей данных. Нетекстовая (не-ASCII) структура dbm-файлов делает не-
обходимым использование специальных инструментов NIS, например ур-
push для переноса карт между машинами.
Файл /var/yp/YP_MAP_X_LATE содержит полный список активных карт
NIS, а также псевдонимов для NIS-карт. Здесь должны быть перечислены
все карты, которые обслуживаются NIS.
Инструменты для работы с картами
Для работы с картами NIS используются следующие инструменты:
makedbm
Создание dbm-файлов. Изменениям подвергаются только карта ypservers
и любые дополнительные (не по умолчанию) карты.
RPC и XDR 47
нию карт. При установке NIS существующие учетные записи автоматически
становятся локальными.
RPC и XDR
Удаленный вызов процедур (Remote Procedure Call, RPC) является протоко-
лом работы, используемым как NFS, так и NIS. Он позволяет узлу делать
запросы, которые с виду являются локальными, но выполняются на удален-
ном узле в сети. RPC реализован как библиотека функций плюс сетевой
стандарт порядка следования байтов и структур данных, называемый XDR
(external Data Representation, представление внешних данных).
Алфавитный перечень команд 49
Алфавитный перечень команд
agetty [options] port baudrate [term] agetty
Команда системного администрирования. Linux-версия ко-
манды getty. Устанавливает тип терминала, режим, ско-
рость и характеристики линии. Запускается демоном init.
Это второй из процессов в последовательности init-getty-lo-
gin-shell, которая в конечном итоге соединяет пользователя
с системой, agetty считывает имя пользователя и выполняет
команду login с этим именем в качестве аргумента. В процес-
се считывания имени agetty пытается адаптировать систему
к скорости и типу используемого устройства.
Необходимо указать порт, поиск которого agetty производит
в каталоге /dev. Если указан символ «-», то agetty произво-
дит чтение со стандартного ввода. Необходимо также указы-
вать скорость линии baudrate, которая может быть задана
списком скоростей, перебираемых agetty. Также возможно
указание типа терминала term, которое для agetty имеет
больший приоритет, чем значение переменной окружения
TERM.
Параметры
—h Установить аппаратный, а не программный контроль
передачи.
—i Подавить вывод содержимого файла /etc/issue перед вы-
дачей приглашения входа в систему.
-I program
Использовать указанную программу вместо /bin/login.
-m Автоматический подбор подходящей скорости линии.
—t timeout
Предписание agetty завершать работу, если произошло
удачное соединение (open), но ответ на приглашение
входа (login prompt) не получен в течение timeout се-
кунд.
-L Не отслеживать наличие несущего сигнала в линии. Это
подразумевает только локальное обслуживание. Пара-
метр используется для подключения терминалов.