【LPIC1】スーパーサーバ(xinetd)

LPIC1

1.スーパーサーバ(xinetd)とは

複数のネットワークサービスをまとめて管理するサーバデーモンのこと。
telnet・ftp・fingerなどのサービスはそれぞれ独自の常駐プロセスを立ち上げて専用ポートへのアクセスを監視している。しかし、ほとんど使われないサービスも常駐するためリソースが無駄になる。これを解消するためのものがスーパーサーバ。複数のポートをまとめて監視し、特定のポートへのアクセスがあったときのみサービスを起動するデーモン。
xinetdとは、スーパーサーバの種類の一つ。現在はsystemdに機能集約されているため、レガシーになっている。※LPIC1のテスト範囲だから掲載するが実運用ではsystemdのソケットアクティベーション(systemd.socket)を使う方がいい。

2.使い方

(1)設定方法

xinetdの設定には「/etc/xinetd.conf」ファイルと「/etc/xinetd.d/」ディレクトリ下の各サービスファイルがある。

①/etc/xinetd.confファイル

このファイルではスーパーサーバの全体的な設定を行う。ファイル内の主な設定は以下の通り。

  • log_type
    →ログの出力方法を設定。
  • log_on_failure
    →xinetd経由の接続に失敗したり、接続拒否した場合にログに記録する内容の指定
    「HOST」指定でリモートホストのIPアドレスをログ出力
    「USERID」指定でリモートホストの認証ユーザー名をログ出力
  • log_on_success
    →xinetd経由の接続成功時のログ内容の指定
    「HOST」指定でリモートホストのIPアドレスをログ出力
    「PID」指定でリクエストを処理するサーバプロセスのPIDをログ出力
    「DURATION」指定でセッション周期を出力
    「EXIT」サービス終了のシグナル有無をログ出力
  • cps
    →1秒間に接続できる最大コネクション数と最大値になった場合にサービスを停止させる秒数を指定
  • instances
    →xinetdが一度に起動できる最大デーモン数
  • includedier
    →サービスごとの設定ファイルを格納するディレクトリを指定※デフォルトで「/etc/xinetd.d」が指定されている

②/etc/xinetd.dディレクトリ

このディレクトリに入っている各サービスの詳細な設定を行う。

  • disable
    →サービスの有無を指定
    「no」で有効
    「yes」で無効
  • flags
    →通信接続方法に関するFLAGを設定
    「REUSE」指定でポート使用中でも再利用可とする
    「IDONLY」指定で認証でユーザー名が存在する場合のみ接続可とする
    「NORETRY」認証失敗時に同じサービスへの接続を不可とする
  • socket_type
    →通信方式の指定
    「stream」指定でTCP通信
    「dgram」指定でUDP通信
  • wait
    →待ち時間の有無
    「yes」でサービスが起動したら、そのサービスが終わるまで次の接続を受けない
    「no」でサービス起動後に上限まで次の接続を受ける
  • user
    →サービスの実行ユーザー
  • server
    →サーバプログラムのパス
  • only_from
    →サービスへのアクセスを許可するホスト
  • no_access
    →サービスへのアクセスを拒否するホスト
タイトルとURLをコピーしました