Pandora: Documentation ja: Tentacle: UserGuide

From Pandora FMS Wiki
Jump to: navigation, search

1 Tentacle ユーザガイド

1.1 PERL 版のインストール

1.1.1 SVN からのインストール

クライアントとサーバの 両方 をインストールするには、次のようにします。

$ svn co http://svn.code.sf.net/p/tentacled/code/trunk/perl/ tentacle
$ cd tentacle
$ perl Makefile.PL
$ make
# make install

クライアントのみインストールする場合は以下の通りです。

$ svn co http://svn.code.sf.net/p/tentacled/code/trunk/perl/client
$ cd client
$ perl Makefile.PL
$ make
# make install

サーバのみインストールする場合は以下の通りです。

$ svn co http://svn.code.sf.net/p/tentacled/code/trunk/perl/server
$ cd server
$ perl Makefile.PL
$ make
# make install

特定の場所にインストールしたい場合は、以下の代わりに

$ perl Makefile.PL

次のようにします。

$ perl Makefile.PL PREFIX=/custom/location

# は、root 権限でコマンドを実行する必要があることを意味します。

1.1.2 手動インストール

システムに make が無い場合は、tentacle_clienttentacle_server を手動で適切な場所(例えば /usr/local/bin)にコピーすることもできます。

このとき、Perl のバイナリが /usr/bin/perl にない場合は、双方のファイルの 1行目を適切なパスに修正します。

1.1.3 IPv6 対応

Tentacle は IPv6 にも対応しています。 IPv6 接続を利用したい場合は、perl モジュール 'IO::Socket::INET6' をインストールする必要があります。 インストールされていないと、IPv6 対応が無効化されます(tentacle は IPv4 のみの対応になります)。

1.2 C 言語版のインストール

1.2.1 SVN からのインストール

Tentacle クライアントをインストールするには、次のようにします。

$ svn co http://svn.code.sf.net/p/tentacled/code/trunk/c/ tentacle
$ cd tentacle
$ ./configure
$ make
# make install

configure の出力エラー、ヘッダーファイルの不足などを確認してください。

OpenSSL 開発ライブラリがあるとデフォルトで OpenSSL 対応が有効化されますが、無効化したい場合は、以下を

$ ./configure

次のようにします。

$ ./configure --disable-ssl

# は、コマンドの実行に root 権限が必要であることを意味します。

1.3 サンプル利用方法

存在する全オプションを表示するには、次のようにします。

$ tentacle_client -h
$ tentacle_server -h

全オプションのデフォルトの値が表示されます。

以下の例では、サーバはアドレス 192.168.1.1 で、クライアントの秘密鍵ファイルはパスワードでの保護はありません。

最大ファイルサイズを 1MB に設定してのシンプルなファイル転送:

$ tentacle_server -m 1048576 -s /tmp -v
$ tentacle_client -a 192.168.1.1 -v /bin/bash

ファイルの上書きを有効化し、ポート番号 65000 を使ったシンプルなファイル転送:

$ tentacle_server -o -p 65000 -s /tmp -v
$ tentacle_client -a 192.168.1.1 -p 65000 -v /bin/bash

パスワード認証付きのシンプルなファイル転送(セキュアではありません):

$ tentacle_server -x password -s /tmp -v
$ tentacle_client -a 192.168.1.1 -x password -v /bin/bash

クライアント証明を用いないセキュアなファイル転送:

$ tentacle_server -e cert.pem -k key.pem -w -s /tmp -v
$ tentacle_client -a 192.168.1.1 -c -v /bin/bash

クライアント証明付きのセキュアなファイル転送:

$ tentacle_server -e cert.pem -k key.pem -f cacert.pem -w -s /tmp -v
$ tentacle_client -a 192.168.1.1 -e cert.pem -k key.pem -v /bin/bash

クライアント証明とパスワード認証付きのセキュアなファイル転送:

$ tentacle_server -x password -e cert.pem -k key.pem -f cacert.pem -w -s /tmp -v
$ tentacle_client -a 192.168.1.1 -x password -e cert.pem -k key.pem -v /bin/bash

.xml と .log ファイルを異なるサブディレクトリへ保存:

$ tentacle_server -v -s /tmp -i'.*\.xml:xml_dir;.*\.log:log_dir'
$ tentacle_client -a 192.168.1.1 -v xml_file.xml
$ tentacle_client -a 192.168.1.1 -v log_file.log

認証のある HTTP プロキシを通しての接続:

$ tentacle_server -s /tmp -v
$ tentacle_client -a 192.168.1.1 -y user:[email protected]:8080 -v /bin/bash

複数のアドレスでのバインド(IPv6 の ::1 および、IPv4 の 192.168.1.1):

$ tentacle_server -a ::1,192.168.1.1 -s /tmp -v

1.4 Tentacle プロキシ

Tentacle サーバは、多くの tentacle クライアントが直接通信できない tentacle サーバとの通信を中継するプロキシとしても動かすことができます。

以下は、どのように tentacle プロキシが動作するかを示した図です。

+-----------------+                     +-----------------+                     +-----------------+
| Tentacle client |                     | Tentacle Proxy  |                     | Tentacle server |
+-----------------+                     +-----------------+                     +-----------------+
         |                                       |                                       |
         +-------'SEND <file> SIZE size\n'---->>>+-------'SEND <file> SIZE size\n'---->>>+
         |                                       |                                       |
         +<<<-----------'SEND OK\n'--------------+<<<-----------'SEND OK\n'--------------+
         |                                       |                                       |
         +-----------------data--------------->>>+-----------------data--------------->>>+
         |                                       |                                       |
         +-----------------data--------------->>>+-----------------data--------------->>>+
         |                                       |                                       |
         +-----------------data--------------->>>+-----------------data--------------->>>+
         |                                       |                                       |
         +<<<-----------'SEND OK\n'--------------+<<<-----------'SEND OK\n'--------------+
         |                                       |                                       |
         +---------------'QUIT\n'------------->>>+---------------'QUIT\n'------------->>>+
         |                                       |                                       |
         .                                       .                                       .

見ての通り、プロキシは情報を持たず、データをクライアントから tentacle サーバへ転送するだけです。

tentacle サーバをプロキシモードで起動するには、次のようにします:

$ tentacle_server -b 192.168.200.200 -g 65000

新たなパラメータは、クライアントから直接アクセスできない tentacle サーバの IP アドレス (-b) および ポート (-g) です。

もちろん、通常通り、データを受け取る IP アドレスおよびポートを指定することができます。

$ tentacle_server -a 192.168.100.100 -p 45000 -b 192.168.200.200 -g 65000

*注意: Tentacle プロキシは、認証 および 暗号化 に対応しています。