OpenSim 開発者フォーラム

JAMSTECファイヤウォールからJOGへのアクセス

 
Picture of Yan Lauria
JAMSTECファイヤウォールからJOGへのアクセス
by Yan Lauria - Thursday, 18 September 2014, 1:58 PM
 

皆様

JAMSTECファイヤーウォールからSLにはリンデンのSecond Life Wikiの情報によりアクセスできていますが(なぜかヴォイスは使用できず)、JOGにはどうすればアクセス可能となるでしょうか? 

以前、インテルのScienceSimのグラントで4シム作った際に、インテルの技術者にも聞いて添付のような資料(110720_SPOD-FM-.....xls)を作り、ネットワーク管理者に措置してもらったのですが、ダメでした。

JAMSTECは地球シミュレータを持っていることもあってか、最近でもハッキングが来ているようで、わりと厳しいファイヤーウォールを敷いているとのこと。研究で必要ならポートを空け、そこを監視する方法をとっているとのこと。

ちなみに、私はこの方面はさっぱりで、仲介能力もないため、添付のファイルを直していただいたら、それをネットワーク管理者に渡すことしかできないのですが。

Picture of 久保 綾
Re: JAMSTECファイヤウォールからJOGへのアクセス
by 久保 綾 - Thursday, 18 September 2014, 3:33 PM
 

お初にお目にかかります、SL 名:Ayahime Twine(JOG、他、3Dgrid名は全て同じです)の、久保 綾と申します。

ファイヤーウォール内からのアクセスという事でいくと、まず最初にこちらの手順は設定されているのでしょうか?

http://community.secondlife.com/t5/English-Knowledge-Base/Using-Second-Life-with-a-firewall/ta-p/1304539

Proxy アクセス権(ユーザー認証)があるのならば、この手順でアクセスは可能になると想います。

これはSL、JOG、OSgrid、他問わず、Proxy設定さえ入れれば通常は可能になるはずです。

添付のファイルを拝見すると、DMZで制御されている様ですので一度お試し頂ければと想います。

ペコリ(o_ _)o))

 

Picture of Iseki Fumikazu
Re: JAMSTECファイヤウォールからJOGへのアクセス
by Iseki Fumikazu - Thursday, 18 September 2014, 5:11 PM
 

綾さん.こんにちは.

Proxy を使っている場合は,紹介していただいた資料にもあるように UDPパケットを中継するために Socks サーバをたてないといけません (すでにご存じかもしれませんが,他のユーザの情報にもなりますので).

HTTP Proxyはどこの組織でも普通にあると思いますが,Socksサーバを立てている組織というのは滅多にないように思います.

自前で立てるにしても,Socksサーバはちょっと敷居が高いです.

注) HTTP Proxy はTCPパケットを中継し,SocksサーバはUDPパケットを中継します.SL/OpenSim はサーバとのやり取りに TCPとUDPの両方を使用しています.

 

Picture of 久保 綾
Re: JAMSTECファイヤウォールからJOGへのアクセス
by 久保 綾 - Thursday, 18 September 2014, 6:14 PM
 

先生、ご無沙汰をしております。ペコリ(o_ _)o))

一応、承知しております^^;

UDP パケットがありますから、Proxy を使用している場合での基本設定をつい投稿してしまいました><

Socks Server は立てるには確かに敷居が高いです。

このところ、セキュリティ対策でこういった方面を検証していたもので、大変に失礼しました。

ペコリ(o_ _)o))

 

Picture of Yan Lauria
Re: JAMSTECファイヤウォールからJOGへのアクセス
by Yan Lauria - Thursday, 18 September 2014, 5:39 PM
 

 久保 綾

実は、JAMSTECからSLへのアクセスについては、このwikiの前のバージョン(日本語版は前のバージョンのまま)

https://wiki.secondlife.com/wiki/Second_Life_%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E4%BC%81%E6%A5%AD%E5%86%85%E3%83%95%E3%82%A1%E3%82%A4%E3%82%A2%E3%82%A6%E3%82%A9%E3%83%BC%E3%83%AB%E3%81%AE%E8%A8%AD%E5%AE%9A%E6%96%B9%E6%B3%95

に従って設定してもらいました。この新バージョンに書いてあることは、私にはちんぷんかんぷんです。

今、気づいたんですが、JAMSTECからSLにアクセスしてボイスが使えないのは、ボイスサーバーのIPアドレスを設定していないせいかも。それってなんなのかクリックしたら、このわけのわからない新バージョンwikiに飛ぶので、さっぱり^^;

Picture of Iseki Fumikazu
Re: JAMSTECファイヤウォールからJOGへのアクセス
by Iseki Fumikazu - Thursday, 18 September 2014, 7:46 PM
 

SIP はかなり面倒ですよ.恐らく,ファイアウォールで外部からの接続を許可する必要があります.

UDPホールパンチングで開ける手もありますが,SLの Viewerでは使えないのではないでしょうか?

JOG でもちょっとサボってボイスサーバは動かしていませんが,今度暇を見つけて動かしてみます (もう夏休みが終わってしまったので,時期は確約できません)

Picture of 久保 綾
Re: JAMSTECファイヤウォールからJOGへのアクセス
by 久保 綾 - Thursday, 18 September 2014, 10:39 PM
 

SIPとして、以前(212年5月頃)に、FreeSWITCH をOpenSimulator と接続する実験をしてみましたけどかなりの手間でした。

一般的にファイヤーウォールの内側からSL系ビュワーを使用して使うのはかなり難しいですし面倒です。

セキュリティ面までも考慮すると作業量はかなりのものになるかと想われます。

ペコリ(o_ _)o))

 

Picture of Iseki Fumikazu
Re: JAMSTECファイヤウォールからJOGへのアクセス
by Iseki Fumikazu - Thursday, 18 September 2014, 4:24 PM
 

申請ファイルを拝見したところ,Proxy は使用していないようですね.

PCのIPアドレスはグローバルアドレスですよね.グローバルアドレスが振られていればそんなに難しくないはずです.

その場合は,内向きから外側に向かってファイアウォールのポート開けて貰えればつながると思います.

ただ1枚目の申請書のTCPのポート番号が違っているように思います.サーバの設定にもよりますが.TCPのポート番号は 9000がデフォルトです.

http://opensimulator.org/wiki/Network_Settings

JOGのサーバはTCPは 9000~9100 くらいを使用しています.UDPもたしかそれくらいのはずです(UDPのポートは自動設定なので).

2枚目の申請書は,内容が理解できません.こちらはプライベートアドレスですね?

 

Picture of Yan Lauria
Re: JAMSTECファイヤウォールからJOGへのアクセス
by Yan Lauria - Thursday, 18 September 2014, 5:40 PM
 

久保 綾様、Iseki様、返信ありがとうございます。

「PCのIPアドレスはグローバルアドレスですよね?」→JAMSTEC内のどのPCからインターネットで外のどこかにアクセスして、相手側に認識されるIPアドレスは一つのようです。JAMSTEC内のどのPCからアクセスしたかは、外側からは分かりません。一方、JAMSTEC内のすべてのPCはそれぞれ別個のIPアドレスが割り振られていて、家庭内のように自動割り当てではありません。

「1枚目の申請書のTCPのポート番号」、これはインテルの技術者に、SLとは違う点を教えてもらったら、「TCP ports 7000 to 8000」だと言われたので、そう書いたわけです。ここは、JOGに関しては「TCP ports 9000~9100 」、「UDP ports 9000~9100」と書き直せばいいのでしょうか? TCPとUDPのポートが同じ範囲でいいのでしょうか?

JOGサーバのIPアドレスというのは、どうやったらわかるのでしょうか?

2枚目の申請書」→これは記載例なので、私も知りません。

以上、つまりまともに質問する能力すらないので、答えになっているでしょうか?

Picture of Iseki Fumikazu
Re: JAMSTECファイヤウォールからJOGへのアクセス
by Iseki Fumikazu - Thursday, 18 September 2014, 7:26 PM
 

>> JAMSTEC内のどのPCからインターネットで外のどこかにアクセスして、相手側に認識されるIPアドレスは一つのようです。

微妙ですね.Windows のコマンドプロンプトを表示させて ipconfig と入力してみください.

IPv4アドレスが 10.0.0.0 ~ 10.255.255.255 または 172.16.0.0 ~ 172.31.255.255 または 192.168.0.0 ~ 192.168.255.255 の範囲であれば,プライベートアドレスです.この場合はかなり厄介なことになります.

>> 「TCP ports 9000~9100 」、「UDP ports 9000~9100」と書き直せばいいのでしょうか?

TCPに関してはその通りです.UDPに関しては先ほど確認した範囲では9000~91000 でOKでしたが,念のため広めに(OpenSimのwiki では 9000~9999)しておくと良いかもしれません.

>> インテルの技術者に、SLとは違う点を教えてもらったら

これは Science SIMのことですよね. OpenSim は 9000番以上がデフォルトなのですが,Science SIMでは何らかの理由でポート番号を変更していたのでしょう.

>> JOGサーバのIPアドレスというのは、どうやったらわかるのでしょうか?

TOP画面の左の JOGridブロックの「リージョンリスト」で見えないでしょうか? 一応,202.26.159.x, 202.26.148.x, 202.26.152.x あたりを使用しています.

 

 

Picture of Yan Lauria
Re: JAMSTECファイヤウォールからJOGへのアクセス
by Yan Lauria - Friday, 19 September 2014, 9:46 AM
 

Iseki様

JAMSTEC内のPCの自分のIPv4アドレスは172.24.36.55です。つまりプライベートアドレスですね。

JOGサーバのIPアドレスは分かりました。リージョンごとに割り当てられているわけですね。別リージョンにTPしたり、別グリッドにHGしても入口さえあればいいわけですね?

Picture of Iseki Fumikazu
Re: JAMSTECファイヤウォールからJOGへのアクセス
by Iseki Fumikazu - Friday, 19 September 2014, 10:34 AM
 

>> JAMSTEC内のPCの自分のIPv4アドレスは172.24.36.55です。つまりプライベートアドレスですね。

そうすると、通過の申請書の意味合いが変わってきますね。
もしかすると NAT (NAPT) を使っているのでしょうか? あまり大きな組織ではやらないと思うのですが、お話をまとめると NAT (NAPT) のような気がします。

NAT (NAPT) なら、一般家庭で使用している ブロードバンドルータと同じですので、確かにポート設定してもらえれば、内-->外 は問題なく通過できるはずです。

>> 別リージョンにTPしたり、別グリッドにHGしても入口さえあればいいわけですね?

すみません。ちょっと正確な意味がわかりません。(入口? Robust(Login)サーバのことでしょうか? テレポート先SIMのことでしょうか?)
申請書を見ると、ポート番号だけの申請のようですので、そもそも OpenSImサーバのIPを気にする必要はないかと思います。
Sicence Sim のように例外的なポートを使用しているところもありますが、通常であれば OpenSim サーバの 9000~のTCPとUDPのポートにアクセス可能(内->外)であれば、通信できるはずです(最初の通信が 内->外であれば、それに対する返答もファイアウォールを通過できます)。

SIPは(確認していませんが、たぶん)、最初に 外->内 の通信が発生する場合がありますので、外->内のファイアウォールの通過申請(ポート解放)の申請をしないといけません。
SL_Voice について以前資料を作ったはずなので、探してみます (健忘症で、最近3日前に作った自分のプログラムさえ分からなくなるありさまです) (^^;

Picture of Iseki Fumikazu
Re: JAMSTECファイヤウォールからJOGへのアクセス
by Iseki Fumikazu - Friday, 19 September 2014, 2:19 PM
 

>> SIPは(確認していませんが、たぶん)、最初に 外->内 の通信が発生する場合がありますので、
>> 外->内のファイアウォールの通過申請(ポート解放)の申請をしないといけません。

思い出しました(何で忘れていたんでしょう.自分でもやばいような気が...).NAT(NAPT)内でSIPを使用する場合はポート解放云々より前に持って重大な問題があります.

それは,SIPの場合,IPアドレスやポート番号が通信データの中(ペイロード)に埋め込まれるという問題です.
NAT(NAPT)はヘッダ中のIPアドレスやポート番号は書き換えますが,データ中のIPアドレス,ポート番号の書き換えは行いません.

SIPでNAT(NAPT)を超えるには,専用のアプリケーションレベルゲートウェイを使うか,組織外部(またはDMZ)に STUNサーバを用意しないといけません.

以前,SERというSIPサーバ(たしか今はOpen Sourceでなくなった)には MediaProxy という専用のNAT(NAPT)越えのプログラムが付属していて,これは結構使いやすかったことを覚えています.

また,以下のページは以前私が開発した SL_Voice のファイアウォール越えのためのアプリケーションレベルゲートウェイの解説ページです (すっかり忘れていました(^^;)

http://www.nsl.tuis.ac.jp/xoops/modules/xpwiki/?sl_voice_relay

今見ると結構中途半端ですが,まあほとんど自分用のプログラムだったので...
これはVivox のSL_Voice 専用なので,たぶんこのままでは OpenSim の FreeSwitch (OpenSimでよく使われるSIPサーバ)では動かないと思います.

どの道,プライベートアドレス+SIP での NAT(NAPT) 越えは,結構大変だと思います.

Picture of Yan Lauria
Re: JAMSTECファイヤウォールからJOGへのアクセス
by Yan Lauria - Friday, 19 September 2014, 3:43 PM
 

Iseki様、いろいろお調べいただき、ありがとうございました。

これはJAMSTEC側のネットワーク管理者にも全面的に協力してもらわないといけないようですね。

残念ながら、まだそこまで頼める状況ではなく、ただ見てもらうだけならOARでスタンドアロンでデモすることもできますし、ちょっといったん様子見しつつ、もちょっと自分の知識も増えてってもらわないといけないようです。

Picture of Iseki Fumikazu
Re: JAMSTECファイヤウォールからJOGへのアクセス
by Iseki Fumikazu - Saturday, 20 September 2014, 9:16 AM
 

すみません.よくよく考えると,前の私の発言は 一般的な SIPの話で,SL_Voice は参考ページの図にある Vivox Account Managenent Server がうまくやっている気がしてきました.

いい加減ですみません.

記憶を頼りにした机上の話なので,今度実際に OpenSim で FreeSwitch 立てて実験してみます.

Picture of Iseki Fumikazu
Re: JAMSTECファイヤウォールからJOGへのアクセス
by Iseki Fumikazu - Saturday, 20 September 2014, 2:00 PM
 

>> >> 「TCP ports 9000~9100 」、「UDP ports 9000~9100」と書き直せばいいのでしょうか?

>> TCPに関してはその通りです.UDPに関しては先ほど確認した範囲では9000~91000 で
>> OKでしたが,念のため広めに(OpenSimのwiki では 9000~9999)しておくと良いかもしれません.

後から後から,ボロボロとすみません.

9000番台は SIM(Regionサーバ)で,Robust サーバは 8000番台も使用していました.
8000 ~ 8010 (TCP/UDP)くらいです.

すみません,

Picture of Yan Lauria
Re: JAMSTECファイヤウォールからJOGへのアクセス
by Yan Lauria - Monday, 20 October 2014, 4:01 PM
 

用語メモ

HTTPプロキシサーバ

内部ネットワークからインターネット接続を行う際、高速なアクセスや安全な通信などを確保するための中継サーバ。プロキシはクライアントとサーバの間に存在し、情報元のサーバに対してはクライアントの情報を受け取る、クライアントに対してはサーバの働きをする。TCPパケットを中継する。

SOCKS(SOCKetS)サーバ

クライアントサーバ型のアプリケーションに、ネットワーク・ファイアーウォールのサービスを透過的に使用することを可能にするインターネットプロトコルの一つである。 ファイアーウォールの背後にあり、外部サーバにアクセスする必要があるクライアントは、代わりに SOCKS プロキシサーバに接続できる。 SOCKS プロキシサーバはクライアントが外部サーバにアクセスする資格を制御し、外部サーバにリクエストを伝える。 SOCKS はまた正反対にも使用することができる。つまり、ファイアーウォールの外側のクライアント("外部クライアント")が、ファイアーウォールの内側のサーバ(内部サーバ)に接続することを可能にする。UDPパケットを中継する。

(JAMSTECはHTTPプロキシの代わりにSOCKSサーバを立てているらしい。めったにない)

SIP (Session Initiation Protocol) サーバ

SIPとは、 2 つ以上のクライアント間でセッションを確立するための IETF 標準の通信プロトコルである。SIP サーバは、SIP リクエストを処理する SIP エンティティである。UA 同士は直接 SIP のメッセージを交換することができるが、通常は SIP サーバ (SIP プロキシサーバ) を介してメッセージ交換する。これは、UAC が UAS へ直接通信するためには相手 UAS の IP アドレスが判っていなければならないのに対して、SIP プロキシサーバを介することによって SIP URI から IP アドレスをもとめる操作を UA が行う必要がなくなり、通信相手が移動するなどして IP アドレスが変化してもそれを意識せずに通信することができるからである。

NAT(Network Address Translation/ネットワークアドレス変換):インターネットプロトコルによって構築されたコンピュータネットワークにおいて、パケットヘッダに含まれるIPアドレスを、別のIPアドレスに変換する技術である。

NAPT(Network Address Port Translation):IPアドレスに加え、ポート番号の変換を行うもの。今日では、NATと言えばNAPTのことを指すのが一般的である。

アプリケーションレベルゲートウェイ

STUN(Simple Traversal of UDP through NATs)サーバ

音声、映像、文章などの双方向リアルタイムIP通信を行うアプリケーションにおいて、NAT traversal (NAT通過) の方法の1つとして使われる標準化された (standards-based) インターネットプロトコルである。 STUNプロトコルは、アプリケーションがNATの存在と種類とを発見し、リモートホストへのUDP (User Datagram Protocol) 接続にNATが割り当てたグローバルIPアドレスとポート番号とを得ることを許す。 STUNプロトコルが動作するには、インターネット上にSTUNサーバが存在する必要がある。 STUNプロトコルは、RFC(Request for Comments) 3489に定められる。

DMZ(非武装セグメント):ファイアウォールを直列に2台並べた外側のファイアウォールと内側のファイアウォールの間のこと。