Linux что такое xinetd

Linux что такое xinetd

Службы, перечисленные в файле с настройками xinetd могут быть разделены на две группы. Службы в первой группе называются multi-threaded (многопоточными) и они требуют разветвления (forking) нового серверного процесса для каждого нового запроса на соединение. Далее соединением управляет новый сервер. Для таких служб, xinetd продолжает слушать порты для приема новых запросов, чтобы вызвать новые серверы. В противолоположность первой, вторая группа включает службы, у которых демон службы отвечает за управление всеми запросами на соединение. Такие службы называются single-threaded (однопоточными) и для них xinetd не будет управлять новыми запросами пока сервер не завершит свою работу. Службы в этой группе обычно основаны на передаче данных через датаграммы (UDP).

Таким образом, единственная причина, по которой был создан расширенный суперсервер состоит в том, чтобы сохранить системные ресурсы через недопущение разветвления огромного числа процессов, которые могут бездействовать в течении большей части времени своей работы. В то же время выполненяя эту функцию, xinetd работает согласно идее суперсервера, предоставляя такие особенности, как управление доступом и протоколирование. Кроме того, xinetd не ограничивается обслуживанием служб, перечисленных в /etc/services. Поэтому, любой может использовать xinetd для запуска серверов специального назначения.

ОПЦИИ

Опции syslog и filelog являются взаимно исключающими. Если ни одна из них не задана, то по умолчанию используется syslog с daemon facility. Вы не должны путать сообщения xinetd с сообщениями, которые создаются службами. Последние протоколируются только если это задано в файле с настройками.

УПРАВЛЕНИЕ XINETD

Когда xinetd получает определенные сигналы, он выполняет определенные действия. Эти действия зависят от заданных сигналов и могут быть переопределены путем правки файла config.h и перекомпиляции. SIGUSR2 Заставляет выполнить жесткую перенастройку, которая означает, что xinetd перечитает файл с настройками и завершит работу серверов для тех служб, которые больше не доступны. Управление доступом выыполняется снова на уже запущенные сервера через проверку удаленных подключений, времени доступа и копий сереров. Если количество копий серверов уменьшается, то некоторые произвольно выбранные сервера будут убиты, чтобы соблюсти ограничение; это случится после завершения работы тех серверов, которые попадают под ограничение доступа с удаленных адресов или ограничение времни доступа. Также, если флаг INTERCEPT был сброшен и происходит его установка, то будет завершена работа любых запущенных серверов для служб с этим флагом. цель такого поведения — убедиться, что после жесткой перенастройки не будет запущено северов, которые могут принимать пакеты с тех адресов, которые не соответвуют криетриями управления доступом . SIGQUIT Приводит к завершению работы. SIGTERM Завершает работу всех запущенных серверов перед завершением работы xinetd . SIGHUP Приводит к снятию дампа внутреннего состояния (по умолчанию файл дампа это /var/run/xinetd.dump ; чтобы изменить данное имя файла нужна правка config.h и перекопиляция). SIGIOT Производит внутреннюю проверку того, что структуры данных, используемые программой не повреждены. Когда проверка завершится xinetd сгенерирует сообщение, которое скажет успешно прошла проверка или нет.

При перенастройке файлы журналов закрываются и переоткрываются. Это позволяет удалить старые файлы журналов.

Источник

Linux что такое xinetd

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Электронные книги по ОС Linux

Beyond Linux From Scratch. Version 2011-12-30
Назад 19.Основные серверы Вперед
Читайте также:  Vipnet client для линукс

Пакет xinetd-2.3.14

Знакомимся с пакетом xinetd

xinetd является демоном дополнительных сервисов сети интернет (eXtended InterNET) и его можно использовать в качестве безопасной замены вместе inetd.

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

  • Загрузка (HTTP): http://www.xinetd.org/xinetd-2.3.14.tar.gz
  • Загрузка (FTP): ftp://mirror.ovh.net/gentoo-distfiles/distfiles/xinetd-2.3.14.tar.gz
  • Контрольная сумма MD5: 567382d7972613090215c6c54f9b82d9
  • Размер загружаемого пакета: 301 KB
  • Оценочный размер требуемого дискового пространства: 4,4 MB
  • Оценочное время сборки: менее 0,1 SBU

Зависимости пакета xinetd

Необязательные

Установка пакета xinetd

Установите пакет xinetd с помощью следующих команд:

В этом пакете набор тестов отсутствует.

Теперь в роли пользователя root выполните:

Конфигурирование пакета xinetd

Конфигурационные файлы

/etc/xinetd.conf и /etc/xinetd.d/*

Подробнее о конфигурировании

Проверьте, чтобы для всех демонов использовался путь /usr/sbin , а не путь /usr/etc , указываемый по умолчанию, и, находясь в роли пользователя root , с помощью следующих команд установите конфигурационные файлы xinetd:

Во всех файлах, приведенных далее, есть инструкция «disable = yes» («отключить = да»). Чтобы активировать любой из сервисов, эту инструкцию необходимо заменить инструкцией «disable = no» («отключить = нет»).

Замечание

Следующие файлы приведены для демонстрации классических приложений xinetd. Во многих случаях эти приложения не нужны. В некоторых случаях использование этих приложений рассматривается как возможный риск, связанный с безопасностью. Например, приложение telnet, rlogin, rexec и rsh передают имена пользователей и пароли по сети в незашифрованном виде, и эти приложения могут легко быть заменены на более безопасную альтернативу — ssh.

Формат файла /etc/xinetd.conf описан на странице man xinetd.conf.5 . Более подробную информацию можно найти по адресу http://www.xinetd.org .

Загрузочный скипт

В роли пользователя root установите загрузочный скрипт /etc/rc.d/init.d/xinetd , который находится в пакете blfs-bootscripts-20111226.

Для запуска xinetd воспользуйтесь в роли пользователя root новым загрузочным скриптом:

Весьма полезным может оказаться просмотр файла /var/log/daemon.log . В этом файле могут быть записи следующего вида:

Эти ошибки возникают, главным образом, из-за того, что xinetd пытается управлять серверами, которые еще не установлены.

Описание пакета

Установленные программы: itox, xconv.pl и xinetd

Установленные библиотеки: Нет

Установленные директории: /etc/xinetd.d/

утилита, предназначенная для преобразования файлов inetd.conf в формат xinetd.conf

скрипт Perl, используемый точно также, как и itox, для преобразования файлов inetd.conf в формат xinetd.conf

демон сервисов сети интернет

Перевод сделан с варианта оригинала, датированного 2010-08-12 12:18:41 +0000

Источник

XINETD


Index


ЧТО ЭТО ?


ЗАПУСК


ОПИСАНИЕ

Сервисы перечисленные в конфигурационном файле xinetd можно разделить на две группы. Сервисы из первой группы называются multi-threaded см. примечание и на каждый новый запрос запускается новый серверный процесс. Для таких сервисов xinetd продолжает слушать сеть на соответствующем порту ожидая новых запросов и готовай породить новый процесс. В другую группу включаются сервисы демоны которых в состоянии обрабатывать новые соединения. Такие сервисы называются single-threaded см. примечание и xinetd прекращает обработку новых запросов до тех пор пока серверный процесс не завершит свою работу. Сервисы в этой группе обычно datagram-based.

Итак, причиной существования супер-сервера является факт сохранения системных ресурсов за счет не запуска множества серверных процессов которые возможно будут бездействовать большую часть своей жизни. Полностью соответствуя назначению запускать требуемые сервисы, xinetd осуществляет так же функции контроля доступа и регистрации событий. Кроме того xinetd не ограничен сервисами перечисленными в файле /etc/services. Можно использовать xinetd для запуска сервисов специального назначения.

ПАРАМЕТРЫ

Параметры syslog и filelog взаимно исключающие. Если ничего не указано, то по умолчанию используется syslog daemon facility. Не путайте сообщения xinetd с сообщениями относящимися к функциям регистрации событий. Последние журналируются только если это указано в файле конфигурации.

УПРАВЛЕНИЕ XINETD

xinetd выполняет определенные действия при получении определенных сигналов. Действия ассоциированные с соответствующими сигналами могут быть переопределены путем редактирования config.h и последующей компиляции. SIGUSR1 вызывает мягкую переконфигурацию, это означает что xinetd перечитывает файл конфигурации и подстраивается под изменения. SIGUSR2 вызывает жесткую переконфигурацию, это значит то же самое что и мягкая переконфигурация за исключением того что все серверы для сервисов которые стали недоступны принудительно завершаются. Контроль доступа заново выполняется для выполняющихся серверных процессов, путем проверки удаленного хоста, времени доступа и количества выполняющихся серверов. Если число выполняющихся процессов превышает заданное, произвольным образом выбранные процессы убиваются что бы число оставшихся удовлетворяло поставленному условию. Так же если флаг INTERCEPT был сброшен или установлен, все серверы обеспечивающие этот сервис завершаются. Все это выполняется для того что бы после жесткой реконфигурации не осталось не одного работающего процесса обрабатывающего запросы с адресов не соответствующих критериям контроля доступа. . SIGQUIT приводит к завершению программы. SIGTERM завершает все выполняющиеся серверы перед завершением xinetd . SIGHUP приводит к генерации дампа внутреннего состояния (по умолчанию файл дампа /tmp/xinetd.dump ; что бы сменить отредактируйте config.h и перекомпилируйте). SIGIOT вызывает проверку внутренней целостности что бы проверить что структуры данных используемые программой не повреждены. После завершения проверки xinetd генерирует сообщение о результате проверки.

Читайте также:  Windows live как ввести пароль

При реконфигурации лог-файлы закрываются и вновь открываются. Это позволяет удалять старые логи.

ФАЙЛЫ

/etc/xinetd.conf стандартный конфигурационный файл /var/run/xinetd.dump стандартный файл дампа

СМОТРИТЕ ДОПОЛНИТЕЛЬНО


АВТОР


ПРОИЗНОШЕНИЕ


ПРИМЕЧАНИЕ

Я несколько не согласен с терминологией авторов относительно «multi-threaded» и «single-threaded», в текстах прочитанных мною ранее например объяснения разницы архитектуры Apache и M$ IIS или Oracle и M$ SQL а также различных реализаций InterBase V6 то что авторы называют «multi-threaded» принято называть «классической архитектурой» (Classic) — на каждый запрос свой процесс, а для того что здесь названо «single-threaded» используется термин «многопоточный» (multi-threaded — вот оно, в точности наоборот 🙂 или «суперсерверная архитектура», то есть в рамках одного процесса несколько потоков(нитей). В данном документе я решил при переводе оставить терминологию оригинального текста.

Источник

5.4. Демон inetd/xinetd

5.4. Демон inetd/xinetd

Для того чтобы сервер смог обрабатывать запросы клиентов, программа должна быть постоянно загружена и связана с определенным портом. В этом нет ничего сложного, но зачем постоянно держать программу в памяти, особенно если она слишком большая, а работает очень редко. Намного лучше, когда один сервис в системе будет следить за портами, и если пользователь обращается к определенному каналу, то эта программа запустит необходимый сервис. В ОС Linux такая возможность есть, и для этого используется демон inetd или более новая версия — xinetd.

Как определить, что запускать? Для этого используется файл /etc/services, в котором находится список сервисов и их портов в следующем формате:

имя порт/протокол псевдоним

? имя — название сервиса, который необходимо запускать;

? порт — номер канала, который должен прослушиваться;

? протокол— сервис inetd умеет работать с TCP- и UDP-протоколам, порты которых не пересекаются (и они совершенно разные), то необходимо в явном виде указывать протокол;

? псевдоним — вымышленное имя для сервиса.

Например, в файле /etc/services вы найдете следующие строки:

tcpmux 1/tcp # TCP port service multiplexer

tcpmux 1/udp # TCP port service multiplexer

rje 5/tcp # Remote Job Entry

rje 5/udp # Remote Job Entry

ftp 21/udp fsp fspd

Я специально выбрал такие строки, чтобы вы увидели варианты описания различных сервисов.

Если вы используете старый дистрибутив ОС Linux, то в нем, скорей всего, еще работает inetd. Но мы уже говорили, что давнишний дистрибутив не может быть безопасным, и с ним что-либо делать бесполезно. Лучший защита — обновление, и тогда основным сервисом станет xinetd, который становится, если уже не стал, стандартом для всех.

Я рекомендую переход на xinetd, потому что в нем появилось много дополнительных возможностей, которые делают удобным администрирование и повышают безопасность. Например, в сервис xinetd встроены проверка всех удачных и неудачных соединений, возможность контроля доступа и даже предоставление его строго в определенное время.

Данный текст является ознакомительным фрагментом.

Продолжение на ЛитРес

Читайте также

Глава 13 Процессы-демоны и суперсервер inetd

Глава 13 Процессы-демоны и суперсервер inetd 13.1. Введение Демон (daemon) — это процесс, выполняющийся в фоновом режиме и не связанный с управляющим терминалом. Системы Unix обычно имеют множество процессов (от 20 до 50), которые являются демонами, работают в фоновом режиме и

Читайте также:  Open windows in osx

13.5. Демон inetd

13.5. Демон inetd В типичной системе Unix может существовать много серверов, ожидающих запроса клиента. Примерами являются FTP, Telnet, Rlogin, TFTP и т.д. В системах, предшествующих 4.3BSD, каждая из этих служб имела связанный с ней процесс. Этот процесс запускался во время загрузки из файла

5.4.1. Конфигурирование xinetd

5.4.1. Конфигурирование xinetd Основной конфигурационный файл для xinetd — это /etc/xinetd.conf. В нем описываются настройки по умолчанию для запускаемых сервисов и директория, в которой будут находиться конфигурационные файлы, влияющие на работу конкретных сервисов. Рассмотрим по

5.4.3. Недостатки xinetd

5.4.3. Недостатки xinetd У любой технологии есть недостатки, и inetd/xinetd не являются исключением. При подключении пользователя к одному из портов вашего сервера программа inetd (или xinetd) просматривает таблицу портов, чтобы найти сервис, который необходимо запустить, и передать ему

Использование inetd

Использование inetd В обычных условиях программа-сервер связывается с некоторым портом (ресурсом, для идентификации которого используется тип протокола и число в интервале от 1 до 65535). В зависимости от номера порта, указанного в запросе, этот запрос направляется тому или

Формат файла /etc/inetd.conf

Формат файла /etc/inetd.conf Для настройки inetd используется конфигурационный файл /etc/inetd.conf. Если не принимать во внимание комментарии (строки, начинающиеся с символа #), то можно сказать, что содержимое файла inetd.conf представляет собой набор строк, каждая из которых определяет

Использование xinetd

Использование xinetd Традиционно inetd был основным суперсервером, использовавшимся в системе Linux. Однако в 2000 г. наметилась тенденция перехода к альтернативному суперсерверу xinetd. Условно xinetd можно представить себе как сочетание inetd и TCP Wrappers. Но между этими программами

8.1. Суперсерверы inetd и xinetd

8.1. Суперсерверы inetd и xinetd В данной главе пойдет речь об общей настройке Интернет-суперсерверов inetd и xinetd, а также о настройке сервера xinetd для работы с протоколом IPv6.Для начала все же определимся, почему inetd(xinetd) называется суперсервером? Да потому, что он отвечает за

8.1.1. Настройка сервера inetd

8.1.1. Настройка сервера inetd Для начала разберемся с настройкой inetd. Этот сервер использовался в дистрибутиве RedHat до версии 7, в более новых версиях он заменен на xinetd (описание этого суперсервера приведено далее в п. 8.1.4…8.1.7). При конфигурирования inetd вам потребуется

8.1.4. Установкаx inetd

8.1.4. Установкаx inetd Суперсервер xinetd является достойной заменой inetd. Этот суперсервер, помимо всего прочего, обладает встроенными механизмами защиты, которые для inetd выполняет специальный демон tcpd. К тому же xinetd, в отличии от inetd, поддерживает IPv6. Даже если вы пока не

8.1.5. Настройка xinetd

8.1.5. Настройка xinetd Синтаксис файла xinetd.conf такой: service < … … …

11.3. Суперсервер xinetd

11.3. Суперсервер xinetd 11.3.1. Установка суперсервера xinetd Суперсервер xinetd появился в дистрибутивах давно (например, в Red Hat начиная еще с 7 версии) и стал достойной заменой inetd, использовавшемуся до него. Суперсервер xinetd обычно устанавливается по умолчанию во время установки

11.3.3. Запуск xinetd

11.3.3. Запуск xinetd Я надеюсь, что с настройкой все более-менее понятно. Если нет, то немного ниже вы найдете пример файла /etc/xinetd.conf. Сейчас же займемся запуском только что откомпилированного и настроенного суперсервера. А запускать его можно с ключами, самые нужные из которых

11.3.3.1. Защита xinetd

11.3.3.1. Защита xinetd Суперсервер xinetd достаточно защищен, но его конфигурационный файл придется защитить вам самим. Естественно, нужно установить ему права доступа, разрешив только чтение в только суперпользователю:# chmod 400 /etc/xinetd.confЧтобы никто не смог изменить, удалить,

Inetd и серверы RPC

Inetd и серверы RPC По умолчанию серверы, созданные с помощью rpcgen, могут вызываться сервером верхнего уровня inetd. Этот сервер описывается в разделе 12.5 [24]. Изучение содержимого заглушки сервера, создаваемой rpcgen, показывает, что при запуске функции main сервера она проверяет,

Источник

Оцените статью