Up:[[Tutorial]]    Previous:[[SIGViewerのインストール]]     Next: [[SSH接続]]  
#contents
*ポートフォワーディングでサーバに接続する方法 [#edc7db7a]

** Tera Termによる設定 [#z5ba360c]

*** Tera Termの起動 [#n12f3ebb]
ここではTera Termを用いたIPフォワーディングによるサーバへの接続方法について説明します。まずTera Termを起動します。(Tera Termがすでにインストールされていると考えます。) 
まず、SIGVerseサーバに接続するためにはsshクライアントの環境を構築します。

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

#ref(tera_1.jpg)
#br
接続するホスト名を聞かれますが、ここではキャンセルボタンをクリックします。
次にメニューバーにあるSetupのSSHForwardingを選択します。
※ポートフォワーディングの設定は次のページ[[SSH接続]]でビューワーから行うこともできます。


** 1.Cygwinによる設定 [#pc51d41c]

#ref(tera_2.jpg)
#br
***ポートフォワーディングの設定 [#d4e72370]
ポートフォワーディング一覧のダイアログが表示されるので、Addボタンをクリックします。
***ローカルポートフォワーディング [#b641b3ff]
ローカルポートフォワーディングの方法について説明します。基本的にはこれだけでサーバとクライアントの間でデータの送受信ができるようになります。Cygwinでsshを使ってNIIサーバに接続する場合、接続時に-Lオプションを使ってポートフォワーディングするポート番号を指定します。設定方法は以下のようになります。 

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

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

#ref(tera_3.jpg)
#br
次に以下を入力します。
+Forward local port のところにローカルホスト(クライアント)のポート番号を入力します。
(この番号はlocalhostの空いているポート番号であれば何でもかまいません。)
ここでは9000番を指定しました。
+to remote machineのところにサーバのホスト名(socio.iir.nii.ac.jp)を入力します。
+portのところにサーバ側で使用するポート番号を入力します。今回はテストのため80番としました。
真ん中のlocalhostはポートフォワーディングを行う中継サーバのホスト名です。

#ref(tera_5.jpg)
#br
入力が終わったらokボタン(2回)を押して設定を完了します。
***リモートポートフォワーディング(サービスプロバイダ機能使用時) [#u9a630a4]
SIGVerse APIの一部(detectEntities、captureView)を使用するときにはクライアント側(SIGViewer)をサービスプロバイダとして使用するためリモートポートフォワーディングの設定を行う必要があります。サーバ側からクライアント側へのポートフォワーディングは-Rオプションを使って行います。

次にwebブラウザを起動してurl入力欄に
http://localhost:9000
と入力します。
webページが見れたら、ポートフォワーディングは成功です。
 -R [サーバで使用するポート番号]:localhost:[クライアントサービスプロバイダのポート番号]
このとき:localhost:ではさんだ2つのポート番号は一致させなければなりません。

***SIGVerseによる動作確認 [#wdd68f15]
ポートフォワーディングに成功したら、次はSIGViewerによる動作確認を行います。(SIGVerseの起動方法およびSIGViewerのインストール方法は別ページ参照)
再びSetupメニューのSSH Forwardingを選択してEditをクリックし、先ほど80番と指定したポート番号をサーバ側でSIGVerseを起動するポート番号に変更します。ここでは9001番に指定しました。(サーバ側またはクライアント側の空いているポート番号を確認するためにはnetstat -an コマンドで確認することができます。)
#ref(tera_6.jpg)
このとき接続するたびに設定するのが面倒なのでSetupメニューのSave setup...で設定を保存しておきます。
また、先ほど-Lオプションで指定したポート番号とは別のポート番号を指定します。デフォルトではクライアントサービスプロバイダのポート番号は8000番に設定されています。

次にTera Termでサーバにログイン(Fileメニュー→New connection)し先ほど設定したサーバ側のポート番号(9001)を指定してSIGVerseを起動します。
***ポートフォワーディングによる接続 [#u243091e]
それではポートフォワーディングでサーバに接続してみましょう。サーバへのログイン時に双方向のポートフォワーディングを同時に行います。

    ./simserver.sh -p 9001
#br
次にSIGViewerを起動してcommタブのconnectionの枠の中にあるserver host name にlocalhostと入力し、server port No に先ほど指定したlocalhostのポート番号を入力します。
#ref(tera_7.jpg)
クライアント→サーバのポートフォワーディングによるログインの場合
 $ ssh hoge@socio.iir.nii.ac.jp -L 9001:localhost:9001

そして、Connect to SimServerをクリックしてSIGViewerからサーバに接続されていることを確認してください。
双方向ポートフォワーディングによるログインの場合
 $ 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による動作確認>#b245cc28]]へ進みます。

** 2.Tera Termによる設定 [#z5ba360c]

TeraTermによる設定方法は[[こちら(工事中)>TeraTermによるポートフォワーディングの設定]]

**3.サービスプロバイダの設定 [#b245cc28]

SIGVerse, SIGViewerのインストールがまだ完了していない場合は[[SIGVerseのインストール(NIIサーバ)]],[[SIGViewerのインストール]]でそれぞれインストールしておきます。

***SIGViewerの設定(detectEntities, captureView使用時) [#m8ea8646]
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アドレスを設定します。双方向のポートフォワーディングをする場合サーバ側はサービスプロバイダのIPアドレスをローカル・ループバックアドレス(127.0.0.1)として認識します。(コメントアウトしている場合はクライアント側のIPアドレスが自動的に設定されます。)次にSERVICE_PROVIDER_PORTの行で先ほどポートフォワードしたサービスプロバイダのポート番号(8100番)を指定します。

//***動作確認 [#k08315d7]

//このファイルではSIGViewerのカメラの位置や視線の方向などの設定を行えます。



//それではsshによるポートフォワーディングをした状態のままSIGVerseを起動します。このとき-Lオプションを使ってポートフォワーディングしたサーバ側のポート番号(9001)を-pオプションで指定して起動します
// $ cd ~/sigverse-<version>/bin  
// $ ./sigserver.sh -p 9001
//#br
//次にSIGViewerを起動して下のほうにあるcommタブのconnectionの枠の中にある"server host name" にlocalhostと入力し、"server port No" に先ほど指定したlocalhostのポート番号を入力します。
//#ref(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
//
//接続時に表示されるクライアントpcのIPアドレス(下から2行目)が127.0.0.1となっていて、サービスプロバイダのポート番号が先ほど設定した8100番となっています。


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

ポートフォワーディングが成功しているかどうかは[[テスト実行]]で確認することができます。

*更新履歴 [#pd381b85]


Up:[[Tutorial]]    Previous:[[SIGViewerのインストール]]     Next: [[SSH接続]]  


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