* tcpserver [#fa4378f6]

** インストール [#ma29ab25]
ファイルを取得して、展開する。
 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

*** 公式 [#z84f2a3a]
http://cr.yp.to/ucspi-tcp/install.html

** 起動 [#ve6ab9a3]
 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|

** アクセス制御ファイルの書き方 [#qc431f49]
 $ 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を再起動する必要はない。''
** 参考 [#h80e01f0]
- http://www.asahi-net.or.jp/~wv7y-kmr/memo/tcpserver.html
- http://quox.org/tips/server/tcpserver.html
- http://www.emaillab.org/djb/tcpserver/database.html


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS