xinetdとは
重要だけど、なんとなく感覚で使っている人も多い「xinetd」。
今回は基本編としてxinetdの説明や設定ファイルなどを説明していきます。
xinetd概要
スーパーサーバと呼ばれ、他のデーモンに代わってサービス要求を受け取り、必要に応じて各種デーモンを起動するプログラムです。
inetdやxinetdがあることによって、常駐するデーモンの数を減らすことができ、システムリソースの軽減ができます。
ざっくりとした流れとしては、アクセス発生⇒xinetdが受付⇒ポートに対応したサービス(デーモン)を起動するって感じです。
※デーモン ⇒ 常駐プログラムの呼び名
ちなみに、以前はアクセス制御を「TCPWrapper」、起動を「inetd」という組み合わせで利用されてましたが、「xinetd」はアクセス制御の機能もあるので単体でアクセス制御と起動の制御が行えます。セキュリティを強固にしたいのであれば、「TCPWrapper」+「xinetd」の組み合わせで二重でアクセス制御を行うことができます。
※またまた余談ですが、皆さん「inetd」や「xinetd」ってどう発音してます?
私の周りでは「アイネットディー・エックスアイネットディー」派と「イニットディー・エックスイニットディー」派、「イニティッドディー・エックスイニティッドディー」派の3つがありましたw
一度聞けばまあ理解できるのでいいのですが、最初聞いた時だけは混乱しました。
英語の発音って難しいですね~w
xinetdの設定
xinetdの全体的な設定は「/etc/xinetd.conf」ファイルに記載しますが、個別のサービスの設定は「/etc/xinetd.d」ディレクトリ以下にある各サービス毎の設定ファイルに記載します。
「/etc/xinetd.conf」
設定例
instance | 起動可能なデーモンの最大数 |
log_type | ログの出力方法 |
log_on_success | 接続許可時にログに記載する内容 |
log_on_failure | 接続拒否時にログに記載する内容 |
includedir | 個別サービスの設定ファイルの場所 |
「/etc/xinetd.d」ディレクトリ以下にある各サービス毎の設定ファイル
設定例
disable | サービスの有効・無効(noで有効) |
socket_type | 通信のタイプ(TCPはstream、UDPはdgram) |
wait | ウェイト時間 |
user | サービスを実行するユーザ |
server | デーモンの場所 |
server_args | デーモン起動時の引数 |
only_from | 接続を許可するIP |
log_on_success | 接続許可時にログに記載する内容 |
log_on_failure | 接続拒否時にログに記載する内容 |
nice | 実行優先度 |
まとめ
ということで、ちょっと仕事で必要になりそうだったので復習も兼ねた備忘録でした。
忘れていたことや初めて知ったこともあり、復習の大事さを改めて実感w
今回はxinetdの基本編でしたが、またどこかのタイミングで応用編を書いていきたいと思います。