各種設定方法
Home

tcpserver

Linux 標準? の inetd の不便な所が改善されたプログラムです。
inetd は、同時にアクセスが多いと、サービスが一定時間停止してしまいます。

目次
 特徴 
 ダウンロード 
 コンパイル/インストール 
 起動時のオプション 
 私の設定 

特徴 Top
特徴
 同時接続数を制限できます 
 アクセス制御データベースの変更は再起動せずに反映します 
 アクセス制御データベースはハッシュ化されているので大規模でも高速に処理できる 
 IPアドレスを元にアクセス制御ができる 
 ポート毎に tcpserver を起動するので設定が明確 

ダウンロード Top

qmail 日本語ページ から ucspi-tcp をダウンロードします

コンパイル/インストール Top

アーカイブの展開

 
 mv ucspi-tcp-0.88.tar.gz /usr/local/src 
 cd /usr/local/src 
 tar -zxvf ucspi-tcp-0.88.tar.gz
 

コンパイル/インストール

 
 cd /usr/local/src/ucspi-tcp-0.88 
 make 
 make setup chek 
 

ルールを格納するディレクトリを作成

 
 mkdir /etc/tcpserver 
 


起動時のオプション Top

オプション 備考
-q エラーメッセージを出力する 
-Q エラーメッセージを出力しない 
-c 同時接続数の指定 
-H ホスト名を調べない 
-u 実行するプログラムの UID 
-g 実行するプログラムの GID 
-x アクセス制御データベース ( .cdb ) の指定 

私の設定 Top

アクセス制御データベースの元となるファイルは、/etc/tcpserver に保存するようにします。
アクセス制御データベースの生成は、Make を使って/etc に生成するようにします

  1. /etc/rc.d/rc.local に tcpserver を起動するようにします ( 1行で指定します )

     
     /usr/local/bin/tcpserver -x /etc/tcp.smtp.cdb -c 50 -u 7791 -g 2108 0 smtp /var/qmail/bin/qmail-smtpd &
     

  2. Makefile の例 ( /etc/tcpserver に保存します )

     
     TARGET = /etc/tcp.smtp.cdb ......... ( 生成されるアクセス制御データベースの指定 ) 
     SRC = /etc/tcpserver/smtp.tcp .... ( アクセス制御データベースの元となるファイル ) 
     TMP = /etc/tcp.smtp.tmp ................ ( アクセス制御データベースの作業ファイル ) 

     $(TARGET) : $(SRC) 
     tcprules $(TARGET) $(TMP) < $(SRC)  
     

  3. アクセス制御データベースの元ファイル の例 ( /etc/tcpserver/smtp.tcp とします )

     
     172.16.2.30:allow ....................................... 許可する(リレーはデフォルトリレー) 
     172.16.5.30:allow,RELAYCLIENT="" .... 許可する(無条件にリレーする) 
     172.16.0.92:deny ....................................... 拒否する 
     :allow ............................................................ 許可する(リレーはデフォルトリレー) 
     


Home