Up:Tutorial?       Next:SIGVerseのインストール

ポートフォワーディングでサーバに接続する方法

まず、SIGVerseサーバに接続するためにはsshクライアントの環境を構築します。

このチュートリアルではCygwinのsshが使える環境を前提とします。 SIGVerseはSIGVerseサーバとクライアント(SIGViewer)の間でデータの送受信を行います。NIIの外からNIIサーバに接続する際には、firewallにより通信できない場合があるので、ssh(ポート番号22)によるポートフォワーディングを使って接続する必要があります。以下にその方法を説明します。

1.Cygwinによる設定

クライアント→サーバ

クライアント→サーバにポートフォワーディングする方法を説明します。基本的にはこれだけでサーバとクライアントの間でデータの送受信ができるようになります。Cygwinでsshを使ってNIIサーバに接続する場合、接続時に-Lオプションを使ってポートフォワーディングするポート番号を指定します。設定方法は以下のようになります。

-L [クライアントで使用するポート番号]:localhost:[サーバで使用するポート番号]

クライアント側と、サーバ側で使用するポート番号を指定します。これらの番号は空いているポート番号でしたら何番でも構いません。混乱を避けるため:localhost:ではさんだ2つのポート番号を同じ番号にすることをお勧めします。

サーバ→クライアント(detectEntities, captureView使用時)

SIGVerse APIの一部(detectEntities、captureView)を使用するときにはクライアント側(SIGViewer)をサービスプロバイダとして使用するたサーバ→クライアントのポートフォワーディングを行う必要があります。サーバ側からクライアント側へのポートフォワーディングは-Rオプションを使って行います。

-R [サーバで使用するポート番号]:localhost:[クライアントサービスプロバイダのポート番号]

このとき:localhost:ではさんだ2つのポート番号は一致させなければなりません。

また、先ほど-Lオプションで指定したポート番号とは別のポート番号を指定します。デフォルトではクライアントサービスプロバイダのポート番号は8000番に設定されています。

ポートフォワーディングによる接続

それではポートフォワーディングでサーバに接続してみましょう。サーバへのログイン時に双方向のポートフォワーディングを同時に行います。

クライアント→サーバのポートフォワーディングによるログインの場合

$ ssh hoge@socio.iir.nii.ac.jp -L 9001:localhost:9001

双方向ポートフォワーディングによるログインの場合

$ ssh hoge@socio.iir.nii.ac.jp -L 9001:localhost:9001 -R 8100:localhost:8100

TeraTermなどの他のsshツールを使ってサーバにログインする場合など、サーバにログインせずにポートフォワーディングを行いたい場合は-Nオプションをつけます。

$ ssh hoge@socio.iir.nii.ac.jp -L 9001:localhost:9001 -R 8100:localhost:8100 -N

ここではクライアント→サーバへのポートフォワーディングはクライアント側、サーバ側ともにポート番号9001を指定し、サーバ→クライアントへのポートフォワーディングは8100番を指定しました。-L、-Rオプションで指定したポート番号は空いている番号でしたら何番でも構いません。(他人とかぶりにくい番号にすることをお勧めします)また、-Rオプションで指定した、ポート番号はSIGViewerで設定したサービスプロバイダのポート番号と一致させる必要があります。設定方法は次項で説明します。

設定が完了したら3.SIGViewerによる動作確認へ進みます。

2.Tera Termによる設定

TeraTermによる設定方法はこちら(工事中)

3.SIGViewerによる動作確認

SIGVerse, SIGViewerのインストールがまだ完了していない場合はSIGVerseのインストール(NIIサーバ),SIGViewerのインストール?へ先に進みます。

SIGViewerの設定(detectEntities, captureView使用時)

SIGViewerのサービスプロバイダ関連の設定を行います。 ここで行う設定はSIGViewerのバージョン1.3以降で可能です。 SIGViewerの設定ファイルはインストールした場所 (デフォルトではc:\Program Files) の

SIGViewer_<version>\SIGViewer\release\

にあるstartup.cfgです。 startup.cfgのサービスプロバイダ関連の設定を以下のように編集します。

編集前

# ---------------------------------------------------
#  SIGViewerのサービスプロバイダ関連の設定
# ---------------------------------------------------

# SIGViewerをサービスプロバイダとして登録するか
VIEWER_AS_SERVICE_PROVIDER=true 

# サービスを受け付けるホストアドレス
# この項目を指定しない場合は、自動的にSIGViewerを実行している
# マシンのIPアドレスになる.
#SERVICE_PROVIDER_HOST=127.0.0.1

# サービスを受け付けるポート番号
SERVICE_PROVIDER_PORT=8000

編集後

# ---------------------------------------------------
#  SIGViewerのサービスプロバイダ関連の設定
# ---------------------------------------------------

# SIGViewerをサービスプロバイダとして登録するか
VIEWER_AS_SERVICE_PROVIDER=true 

# サービスを受け付けるホストアドレス
# この項目を指定しない場合は、自動的にSIGViewerを実行している
# マシンのIPアドレスになる.
SERVICE_PROVIDER_HOST=127.0.0.1

# サービスを受け付けるポート番号
SERVICE_PROVIDER_PORT=8100

SERVICE_PROVIDER_HOSTの行のコメントアウトを解除しました。ここで、サーバ側が認識するサービズプロバイダのIPアドレスを設定します。次にSERVICE_PROVIDER_PORTの行で先ほどポートフォワードしたサービスプロバイダのポート番号(8100番)を指定します。

動作確認

それではsshによるポートフォワーディングをした状態のままSIGVerseを起動します。このとき-Lオプションを使ってポートフォワーディングしたサーバ側のポート番号(9001)を-pオプションで指定して起動します

$ cd ~/sigverse-<version>/bin  
$ ./sigserver.sh -p 9001
 

次にSIGViewerを起動して下のほうにあるcommタブのconnectionの枠の中にある"server host name" にlocalhostと入力し、"server port No" に先ほど指定したlocalhostのポート番号を入力します。

tera_8.jpg

最後に、"Connect to SimServer"をクリックしてSIGViewerからサーバに接続されていることを確認してください。

ポートフォワーディングが成功していればサーバ側で以下のようなメッセージが出力されます。

all done.[SYS]  waiting for connection...
[SYS]  attach view : polling
[SYS]  127.0.0.1 connected
[SYS]  SIGViewerDataPort : dataport
[SYS]  127.0.0.1 connected
[SYS]  127.0.0.1:8100  : service provider
[SYS]  127.0.0.1 connected

接続時に表示されるIPアドレスがすべて127.0.0.1となっていて、サービスプロバイダのポート番号が先ほど設定した8100番となっています。

今後NIIサーバにログインするときは毎回ポートフォワーディングによる接続を行うようにしてください。

Up:Tutorial?       Next:SIGVerseのインストール


Front page   New List of pages Search Recent changes   Help   RSS of recent changes