Сертификация системного администратора

Эффективное решение базовых задач администрирования

Сетевые службы


Сетевые службы обсуждались в главе 8. Программа inetd представляет собой сетевой демон, который запускается в системе и прослушивает сеть от имени целого ряда процессов сервера, которые не запускаются во время загрузки системы. Демон inetd, когда принимает запрос на выполнение конкретной службы, стартует соответствующий серверный процесс. Список сетевых служб, которые предоставляются демоном inetd, содержится в файле /etc/inetd.conf. Ниже приведен пример некоторого элемента файла /etc/inetd.conf:
ftp stream tcp6 nowait root /usr/sbin/in.ftpd in.ftpd
Синтаксис данного элемента выглядит следующим образом:
tli Каждая сетевая служба использует некоторый порт, который представляет адресное пространство, зарезервированное для данной службы. Системы связываются друг с другом через указанные порты. Общеизвестные порты перечисляются в файле /etc/services. Каждая сетевая служба должна иметь уникальный номер порта, который используется всеми хостами в данной сети. Отслеживание этих портов может быть непростой задачей, особенно в сети, в которой поддерживается несколько сетевых служб.
Операционная система Solaris использует модель клиент-сервер, известную как RPC (Remote Procedure Call - вызов дистанционных процедур). При использовании какой-нибудь службы RPC клиент подключается к специальному серверному процессу, rpcbind, который является хорошо известной, зарегистрированной службой Internet. Процесс rpcbind регистрирует номера портов, ассоциированные с каждой службой RPC, перечисленной в файле /etc/ грс. Процесс rpcbind принимает запросы на установление соединения от всех клиентских приложений, основанных на модели RPC, и посылает клиенту номер соответствующего порта на сервере. Например, демон mountd, с которым вы познакомитесь в главе 17, описывается в файле следующим элементом:
mountd 100005 mount showmount
Демон mountd имеет программный номер 100005 и известен также под именами mount и showmount.
Для просмотра зарегистрированных программ RPC, запущенных в некоторой системе, следует воспользоваться утилитой rpcinfo с опцией -р. Например, можно проверить процессы на другой системе:
rpcinfo -р 192.168.1.21
Система отвечает списком всех зарегистрированных служб RPC, которые обнаружены выполняющимися на заданной системе. Этот листинг отображает программный номер, версию, протокол, порт и имя службы. Одна из перечисленных - служба mountd, может выглядеть следующим образом:
program vers proto port service 100005 1 udp 32784 mountd
Вы также можете использовать утилиту rpcinfo, чтобы убрать какую-нибудь RPC-программу из числа зарегистрированных. С помощью опции -d вы можете удалить регистрацию некоторой службы. Например, в локальной системе запущена программа sprayd. Чтобы отметить ее регистрацию, введите следующую командную строку:
rpcinfo -d sprayd 1
Служба sprayd остановится. В главе 9 описывалось, как послать какой-нибудь сигнал процессу. Можно перезапустить sprayd, послав демону inetd сигнал HUP (hangup - "зависание"), как показано в следующем примере:
pkill -HUP inetd

Теги: ,

Похожие темы