Сетевые сервисы при работе UNIX-системы в качестве сервера (9 глава дипломной работы)

Страницы работы

Содержание работы

9 Сетевые сервисы

            При работе UNIX-системы в качестве сервера основная функциональная нагрузка ложится на сетевые сервисы – программы-демоны, предоставляющие определенные услуги для клиентских программ, подключающихся к ним по сети. Значительное место среди этих сервисов занимают сервисы прикладных протоколов Internet – DNS, FTP, World Wide Web и др.

            Каждый из этих сервисов реализован, как правило, в виде отдельного программного модуля, который открывает определенный сетевой порт и ожидает клиентских соединений на этот порт. Существуют также средства мультиплексирования клиентских соединений (суперсервисы inetd и tcpd – см. 9.8), позволяющие централизовано принимать и обрабатывать клиентские запросы, запуская для каждого из них требуемый сервис.

9.1 Сервер DNS

Сервер доменной системы имен DNS выполняет функции установки соответствия между IP-адресами и символическими адресами узлов сети Internet. Именно к серверу DNS обращается клиентская система в процессе разрешения имен, в случае, когда требуемое имя не может быть разрешено локально (на основе файла /etc/hosts). DNS-сервер обеспечивает как прямое (из имени в адрес), так и обратное (из адреса в имя) сопоставление имен. В настоящее время подавляющее большинство действующих в Internet серверов DNS работает на платформе UNIX.

            Основной функцией сервера DNS является сопоставление имен и адресов для некоторого домена имен (напр., «.ru», «.nsk.su», «.neic.nsk.su» и т.п.). Такой домен называется зоной ответственности данного сервера. В базе данных сервера DNS содержатся записи обо всех хостах, принадлежащих к поддерживаемому им домену; эти записи задают взаимно однозначное соответствие между именами и IP-адресами. Кроме того, база имеет ссылки на DNS-сервер верхнего (по отношению к зоне ответственности) уровня, а также на DNS-сервера всех поддоменов, т.е. доменов более низкого уровня, входящих в зону ответственности. Например, для домена «.nsk.su» в базе DNS будут присутствовать записи об адресах хостов www.nsk.su, ftp.nsk.su и т.п., а также ссылки на DNS-сервера доменов .neic.nsk.su, .turbo.nsk.su и т.п., на домен верхнего уровня - .su.

            При обращении клиента сервер DNS определяет, относится ли указанное имя к его зоне ответственности, и если относится, возвращает клиенту IP-адрес. Иначе, в зависимости от домена, к которому принадлежит имя, выполняется запрос либо к DNS-серверу требуемого поддомена, либо к серверу домена верхнего уровня. Полученные ответы кэшируются для обеспечения более быстрой обработки запросов по выясненным ранее доменным именам.

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

            Сервер DNS для UNIX-систем поставляется в виде пакета bind (Berkeley Internet Name Domain – система доменных имен Internet, разработанная университетом Беркли). Как правило, пакет bind входит в стандартный дистрибутив операционной системы. Сервис DNS выполняется в виде процесса named и принимает запросы клиентов на порт 53 протоколов TCP и UDP.

            Базовым файлом конфигурации DNS является файл /etc/named.conf (в более ранних версиях bind используется файл /etc/named.boot, формат которого значительно отличается от формата named.conf). В числе различных параметров, задающих режим работы, файл конфигурации определяет рабочий каталог сервера и имена файлов базы данных DNS.

            Обычно база данных DNS включает не менее двух файлов – для прямого и обратного сопоставления имен. Файлы данных DNS имеют текстовый формат и состоят из записей определенной структуры. Каждый из этих файлов содержит запись, обозначаемую как SOA, с описанием зоны ответственности сервера и его основных параметров.

            Файл прямого сопоставления имен обычно имеет имя named.hosts. Основную роль в прямом сопоставлении играют записи типа А (адрес):

            server1   IN   A    195.86.103.95

     gw        IN   A    195.86.103.80

Каждая из записей задает уникальное в пределах домена каноническое имя хоста. Значение IN указывает на тип адреса – Internet/IP; другие типы адресации в настоящее время в DNS практически не используются. Каждому имени должна соответствовать запись типа PTR в файле обратного сопоставления (см. ниже).

            Для канонического имени могут быть определены псевдонимы, позволяющие обращаться к одному хосту (один IP-адрес) по нескольким именам. Для этого служит запись ссылки на каноническое имя – CNAME. Так, для хоста server1 могут быть описаны дополнительные имена mail и www:

            mail    IN CNAME   server1

     www     IN CNAME   server1

Из прочих типов записей в файле прямого сопоставления крайне важны записи MX и NS. Записи типа MX (Mail eXchange) описывают имена почтовых серверов (те имена, которые указываются после символа «@» в адресах электронной почты). Для связи с поддоменами и доменом более высокого уровня используются записи NS (name server), указывающие имя сервера DNS для этого домена. Фактически, регистрация домена сводится к внесению записи NS в базу данных DNS.

            Файл обратного сопоставления (обычно named.rev) базируется на записях PTR, которые соответствуют записям A из named.hosts. Байты IP-адреса при этом указываются в обратном порядке:

95.103.86.195  IN  PTR  server1

Если адреса принадлежат к одной сети, возможна сокращенная запись из одного или двух байт:

95   IN  PTR  server1

80   IN  PTR  gw

В виде отдельного текстового файла (обычно named.ca) оформляется кэш, в котором сервер накапливает полученные ответы. По истечении некоторого периода данные из кэш-файла автоматически удаляются, чтобы избежать проблем при изменении IP-адресов и доменных имен в различных точках сети Internet.

9.2 Сервер FTP

Поддержка протокола передачи файлов (FTP) считается обязательной для любой системы, работающей под управлением UNIX. Именно FTP является основным средством для обмена файлами по сети, как между UNIX-машинами, так и между UNIX-машиной и машинами с другими ОС. Средствами FTP можно выполнять все основные операции по манипулированию файлами и каталогами – передавать файлы на удаленный хост, считывать файлы с удаленного компьютера на локальный, переименовывать и удалять файлы; просматривать, создавать и удалять каталоги.

Обычно пакет поддержки сервера FTP (сетевой демон ftpd) устанавливается при установке UNIX и работает в заданной по умолчанию конфигурации. Сервер ftpd может работать как в автономном режиме, так и через интерфейс суперсервиса inetd.

Протокол FTP поддерживает аутентификацию пользователей при доступе к файловым ресурсам. Имя и пароль пользователя для FTP не выделяются отдельно; используется общесистемная база данных пользователей. Права доступа к файлам и каталогам по FTP также определяются на основе общих для UNIX принципов защиты – на основе принадлежности и масок прав. Пользователь, зарегистрированный в системе, может получить доступ к ресурсам системы по FTP независимо от того, имеет ли он право на работу в среде shell. В то же время имеется возможность отдельно управлять правами пользователей на доступ к FTP. Если обращение к серверу производится анонимно (без указания имени пользователя), клиент работает в системе с минимальными правами – от имени псевдо-пользователя ftp или аналогичного. Обычно анонимный доступ ограничивается домашним каталогом пользователя ftp.

9.3 Сетевая файловая система NFS

NFS является основным в среде UNIX стандартом для предоставления дисковых и файловых ресурсов в совместное использование. Сервер NFS может сделать определенные каталоги своей файловой системы доступными для других компьютеров в сети. Клиентами для NFS обычно являются UNIX-системы, однако имеется и клиентское программное обеспечение для DOS, Windows и других ОС.

Похожие материалы

Информация о работе