|
1: 2008-12-21 (日) 03:29:18 iseki |
| + | * sl_relay [#k8b98ddc] |
| + | [[English is Here>sl_relay (E)]]~ |
| | | |
| + | ** 概要 [#uf81341b] |
| + | -''sl_relay'' は,大学などのファイアウォールが存在する環境で,プライベートIPアドレスを割り振られたPCから [[Second Life]]に接続するための''Packet Relay Server'' (中継サーバ) です. |
| + | - ''sl_relay'' は [[Second Life]]の SIMと Viewer間の通信(UDP, HTTP/HTTPS)を中継します. |
| + | - ただ中継するだけではなく,パケットの内部を監視し,別のSIMが指定された場合は,そのSIM用の中継プロセスを新たに起動し,このプロセスを経由するようパケットの内容(アドレスとポート番号)を書き換えます. |
| + | - キャッシュサーバ(''[[sl_cache]]'') と連携し,テクスチャデータをキャッシュすることにより,ネットワークの負荷を軽減できます. |
| + | - キャッシュサーバ(''[[sl_cache]]'') と連携させる場合は,矛盾が発生しないようにUDPパケットのシーケンス番号も書き換えます. |
| + | - 情報サーバ(''[[sl_info]]'') と連携し,特定のUDPパケットを破棄することにより,SIMへのアクセス制限をかけることが可能.この場合,Viewer からはパケロスを起こしているように見えます. |
| + | |
| + | - ''sl_relay'' は ''[[sl_proxy]]'' の一部. |
| + | - これらのプログラムは元々は大学内のネットワークなどの環境から,セカンドライフを快適に使用するために作られました. |
| + | - 最新版は ''v1.6.1'' ('08 10/6) |
| + | |
| + | *** 機能の概要 [#b28df040] |
| + | +適当な Proxy用マシンがあれば,ファイアウォール内でもセカンドライフを実行可能. |
| + | +外向けのポート番号を指定可能.これはファイアウォールに穴を開ける場合に有益です.(通常,外向き透過で返答も透過のファイアウォールの場合は,外側に対して穴を開ける必要はない) |
| + | +クライアントに対するアクセス制御が可能.デフォルトの制御ファイルは /usr/local/etc/sl_proxy/hosts_relay.allow |
| + | +SSLフルサポート.(クライアント<->プロキシサーバ間はデフォルトではSSL未使用) |
| + | +キャッシュサーバ(''[[sl_cache]]'') と連携してテクスチャデータのキャッシュが可能. |
| + | +情報サーバ(''[[sl_info]]'') と連携してホワイトリストによるSIMへのアクセス制限を行うことが可能. |
| + | +[[OpenSim]]でも使用可能.([[OpenSim]]自体が開発途中のため,現在はまだ暫定機能) |
| + | +独自のWEBプロキシ機能を内臓. |
| + | |
| + | *** バグまたは改善が必要な箇所 [#dc53166d] |
| + | +IMやチャットで同じメッセージが複数回表示されることがあるという報告を受けています.(原因不明) |
| + | +''[[slvoice]]'' には未対応. |
| + | |
| + | |
| + | ** 詳細説明 [#t9f50cf9] |
| + | + [[ファイアウォール越え>./ファイアウォール]] |
| + | + [[キャッシュサーバとの連携>./sl_cahe連携]] |
| + | + [[情報サーバとの連携>./sl_info連携]] |
| + | + [[HTTPS通信>./HTTPS通信]] |
| + | + [[WEBプロキシ機能>./WEBプロキシ機能]] |
| + | + [[サーバが2つ以上のネットワークインターフェイスを持つ場合>/sl_proxy/複数のネットワークインターフェイス]] |
| + | + [[Viewerバージョンの書き換え機能>./Viewerバージョンの書き換え機能]] |
| + | + [[ログとデバッグモード>./ログとデバッグモード]] |
| + | + [[セキュリティ>./sl_relayのセキュリティ]] |
| + | |
| + | ** 設定ファイル [#o72aa0e5] |
| + | -設定ファイルのデフォルトは ''/usr/local/etc/sl_proxy/sl_relay.conf''. |
| + | -''sl_relay'' の ''-f'' オプションを指定すれば他のファイルを指定することも可能. |
| + | -設定ファイルは,''sl_relay'' が実効ユーザにスイッチする前に読み込むので,''起動ユーザ''が読める必要がある. |
| + | -設定ファイルでは一行に一項目の設定を記述する.空行,#で始まる行は読み込まれない. |
| + | |
| + | *** 設定項目 [#kac9d439] |
| + | SIMサーバとの通信ポート (ファイアウォールの設定用)~ |
| + | ファイアウォールが,内部から外向への通信を完全通過で,かつ,内部からの通信への返答に対しても完全通過の場合は,ファイアウォールへの追加設定は必要はない. |
| + | -[[MinUdpExPort>./MinUdpExPort]] |
| + | -[[MaxUdpExPort>./MaxUdpExPort]] |
| + | -[[MinTcpExPort>./MinTcpExPort]] |
| + | -[[MaxTcpExPort>./MaxTcpExPort]] |
| + | |
| + | Viewerとの通信ポート (他のサービスと被らなければ,特に変更する必要はない) |
| + | -[[MinUdpImPort>./MinUdpImPort]] |
| + | -[[MaxUdpImPort>./MaxUdpImPort]] |
| + | -[[MinTcpImPort>./MinTcpImPort]] |
| + | -[[MaxTcpImPort>./MaxTcpImPort]] |
| + | |
| + | 中継プロセスコントローラの制御ポート (他のサービスと被らなければ,特に変更する必要はない) |
| + | -[[MinControlPort>./MinControlPort]] |
| + | -[[MaxControlPort>./MaxControlPort]] |
| + | |
| + | HTTPS |
| + | -[[CERT_PEM_File>./CERT_PEM_File]] |
| + | -[[SKEY_PEM_File>./SKEY_PEM_File]] |
| + | -[[CA_PEM_File>./CA_PEM_File]] |
| + | |
| + | アクセス制御 |
| + | -[[Hosts_Allow_File>/sl_proxy/Hosts_Allow_File]] |
| + | -[[ExternalWebProxy>./ExternalWebProxy]] |
| + | -[[Proxy_Allow_File>./Proxy_Allow_File]] |
| + | |
| + | その他 |
| + | -[[Temp_File_Dir>/sl_proxy/Temp_File_Dir]] |
| + | -[[MaxIdleTime>/sl_proxy/MaxIdleTime]] |
| + | |
| + | ** 起動オプション [#sc218ae6] |
| + | |
| + | sl_relay [-s server_name[:port]] [-p port] [-u user_name] [-f config_file] |
| + | [-v syslog_level] [-i interface_address] |
| + | [-pid pid_file] |
| + | [-as] [-aca] [-ano] |
| + | [-is [info_server:port]] |
| + | [-cs [cache_server:port]] [-cg] [-cp] |
| + | [-xp [web_proxy_server:port]] [-p [port]] [-mm] |
| + | [-wf] |
| + | [-d] [-x] [-xt] [-xu] [-xuf] |
| + | [-ver version] |
| + | |
| + | -s : セカンドライフのログインサーバを指定.デフォルトは login.agni.lindenlab.com:443 |
| + | -p : Viewer との接続口になるポート番号.デフォルトは8100 (OpenSimと被るので,8000 |
| + | から変更) |
| + | -u : 実効ユーザ.セキュリティ維持のため,root以外の権限で動かす場合に指定する. |
| + | -f : 設定ファイルの指定.デフォルトは /usr/local/etc/sl_proxy/sl_relay.conf |
| + | -v : syslog のレベル.デフォルトは LOG_INFO (7) |
| + | -i : サーバが二つ以上のネットワークインターフェイスを持つ場合に,Viewer側の |
| + | インターフェイスのIPアドレスを指定する. |
| + | -pid: pid ファイル./etc/init.d/sl_relay stop などで止めたい場合に,pidを書き込む |
| + | ファイル. |
| + | |
| + | -as : Viewer <--> Relay Server間のTCP通信を HTTPS で行う.秘密鍵ファイル,サーバ |
| + | 証明書,認証局証明書が必要 |
| + | -aca: Second Life(SIM)サーバの認証を行う.Second Life(SIM) サーバ認証局の自己 |
| + | 証明書が必要. |
| + | -ano: サーバと HTTPS(SSL)通信をしない.OpenSim用.Second Lifeに繋ぐ場合は指定しない. |
| + | |
| + | -is : 情報サーバの指定. |
| + | -cs : キャッシュサーバの指定.続けてサーバ名を記述し,さらに'':''の後にポート番号を |
| + | 指定する.サーバ名を省略した場合は localhost:8200 になる. |
| + | -cg : キャッシュサーバでデータの受信のみを行う. |
| + | -cp : キャッシュサーバでデータの送信(キャッシュへの保存)のみを行う. |
| + | |
| + | -ip : 内部WEBプロキシプロキシサーバを使用する.ポート番号指定可能 |
| + | -ipx: 内部WEBプロキシプロキシサーバを制限モードで使用する.ポート番号指定可能 |
| + | -xp : 外部WEBプロキシプロキシサーバからの接続を許可する. |
| + | -mm : MusicURL, MediaURL を処理する.もし可能なら WEBプロキシを使用する方がお勧め. |
| + | |
| + | -wf : sl_info と連携して,ホワイトリストによる SIMへのアクセス制限を行う. |
| + | |
| + | -d : デバッグ情報を出力 |
| + | -x : TCP(HTTP/HTTPS)パケットを作業ディレクトリに保存し,UDPパケットのヘッダ情報を |
| + | 表示する(-xt -xu の同時設定と同等) |
| + | -xt : TCP(HTTP/HTTPS)パケットを作業ディレクトリに保存する |
| + | -xu : UDPパケットのヘッダ情報を表示する |
| + | -xuf: UDPパケットをフルダンプする.サーバの動作が遅くなるので注意. |
| + | -ver: Viewerのバージョン情報を書き換える.これは新しいViewerを直ぐにインストール |
| + | する事がどうしても出来ない場合にのみ,一時的に使用する.これを永続的に使用 |
| + | することは危険であり,絶対に行ってはいけない. |
| + | |
| + | ** プロセス相関 [#f13647f7] |
| + | |
| + | *** Relationship between Processes [#ece449c6] |
| + | #ref(sl_relay.png) |
| + | *** Transfromation of UDP and HTTP/HTTPS Packet [#cfd53c48] |
| + | #ref(sl_relay2.png) |