tcpserver
インストール
ファイルを取得して、展開する。
wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
tar zxvf ucspi-tcp-0.88.tar.gz
cd ucspi-tcp-0.88
インストール先を変える場合、以下のようにファイルを修正する。
vi conf-home
コンパイルして、インストールする。
make
make setup check
公式
http://cr.yp.to/ucspi-tcp/install.html
起動
tcpserver [オプション] [ホスト名または、IPアドレス] [ポート番号] [サービスを行うプログラム]
- ホスト名、またはIPアドレスに 0 を指定すると、全ての IPアドレスの指定ポート番号を受け付ける。
- ポート番号には、/etc/service に指定されているサービス名を指定することもできる。
[ -1pPhHrRoOdDqQv ] [ -c limit ] [ -x rules.cdb ] [ -B banner ]
[ -g gid ] [ -u uid ] [ -b backlog ] [ -l localname ] [ -t timeout ]
-q | エラーメッセージを出力する |
-Q | エラーメッセージを出力しない(デフォルト) |
-v | すべてのメッセージを出力する |
-p | パラノイドを行う。リモートホスト名を調べた後、そのホスト名でIPアドレスを調べ、TCPREMOTEIPに一致するか調べる。一致しない場合はTCPREMOTEHOSTをセットしない。 |
-P | パラノイドを行わない。(デフォルト) |
-h | リモートホスト名を調べ、TCPREMOTEHOSTをセットする。(デフォルト) |
-H | リモートホスト名を調べない。 |
-r | IDENTを行い、TCPREMOTEINFOをセットする。(デフォルト) |
-R | IDENTを行わない。 |
-climit | 最大同時接続数の設定。デフォルトは40 |
-xrules.cdb | 接続制御を行うときの接続制御データベースのファイル名 |
-Bbanner | 接続時にバナーをネットワークへ出力する。 |
-uuid | ユーザIDをuidに切り替える |
-ggid | グループIDをgidに切り替える |
-llocalname | ローカルホスト名を調べるのをやめて、localnameをTCPLOCALHOSTにセットする |
-ttimeout | IDENTをタイムアウトする時間(秒)。デフォルトは26 |
アクセス制御ファイルの書き方
$ cat allow
200.100.200.100:allow
192.168.:allow
:deny
$ tcprules allow.cdb allow.cdb.tmp < allow
- 200.100.200.100と192.168.*.*からの接続を許可する。
- それ以外は拒否する。
- allow.cdb.tmpは一時ファイルでallow.cdbが作成(更新)成功すると削除される。(←変な感じだ)
- アクセス制御ファイルを書き換えた後、tcpserverを再起動する必要はない。
参考