概要
- 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.10.0 ('11 9/29)
機能の概要
- 適当な Proxy用マシンがあれば,ファイアウォール内でもセカンドライフを実行可能.
- 外向けのポート番号を指定可能.これはファイアウォールに穴を開ける場合に有益です.(通常,外向き透過で返答も透過のファイアウォールの場合は,外側に対して穴を開ける必要はない)
- クライアントに対するアクセス制御が可能.デフォルトの制御ファイルは /usr/local/etc/sl_proxy/hosts_relay.allow
- SSLフルサポート.(クライアント<->プロキシサーバ間はデフォルトではSSL未使用)
- キャッシュサーバ(sl_cache) と連携してテクスチャデータのキャッシュが可能.
- 情報サーバ(sl_info) と連携してホワイトリストによるSIMへのアクセス制限を行うことが可能.
- OpenSimでも使用可能.(OpenSim自体が開発途中のため,現在はまだ暫定機能)
- 独自のWEBプロキシ機能を内臓.
詳細説明
- ファイアウォール越え
- キャッシュサーバとの連携
- 情報サーバとの連携
- HTTPS通信
- WEBプロキシ機能
- サーバが2つ以上のネットワークインターフェイスを持つ場合
- Viewerバージョンの書き換え機能
- ログとデバッグモード
- セキュリティ
設定ファイル
- 設定ファイルのデフォルトは /usr/local/etc/sl_proxy/sl_relay.conf.
- sl_relay の -f オプションを指定すれば他のファイルを指定することも可能.
- 設定ファイルは,sl_relay が実効ユーザにスイッチする前に読み込むので,起動ユーザが読める必要がある.
- 設定ファイルでは一行に一項目の設定を記述する.空行,#で始まる行は読み込まれない.
SIMサーバとの通信ポート (ファイアウォールの設定用)~
ファイアウォールが,内部から外向への通信を完全通過で,かつ,内部からの通信への返答に対しても完全通過の場合は,ファイアウォールへの追加設定は必要はない.
起動オプション
sl_relay [-s server_name[:port]] [-p port] [-f config_file] [-u user_name] [-i interface_address] [-pid pid_file] [-l [log_file]] [-v syslog_level] [-cs [cache_server:port]] [-cg] [-cp] [-is [info_server:port]] [-wf] [-vs [voice_relay_server:port]] [-as] [-aca] [-ano] [-xp [web_proxy_server:porti]] [-ip [port]] [-ipx [port]] [-mm] [-ver version] [-d] [-x] [-xt] [-xu] [-xuf] [--version] [--help] [-h] -s : セカンドライフのログインサーバを指定.デフォルトは login.agni.lindenlab.com:443 -p : Viewer との接続口になるポート番号.デフォルトは 8100 (OpenSimと被るので,8000から変更) -f : 設定ファイルの指定.デフォルトは /usr/local/etc/sl_proxy/sl_relay.conf -u : 実効ユーザ.セキュリティ維持のため,rootユーザ以外の権限で動かす場合に指定する. -i : サーバが二つ以上のネットワークインターフェイスを持つ場合に,Viewer側のインターフェイスのIPアドレスを指定する. -pid : pid ファイル./etc/init.d/sl_relay stop などで止めたい場合に,pidを書き込むファイル.-f から変更. -l : ログファイルを指定する.デフォルトは /var/sl_proxy/sl_relay.log -v : syslog のレベル.デフォルトは LOG_INFO (7) -cs : キャッシュサーバの指定.続けてサーバ名を記述し,さらの :の後にポート番号を指定する. サーバ名を省略した場合は localhost:8200 になる. -cg : キャッシュサーバでデータの受信のみを行う. -cp : キャッシュサーバでデータの送信(キャッシュへの保存)のみを行う. -is : 情報サーバの指定.サーバ名を省略した場合のデフォルトは localhost:8086 -wf : sl_info と連携して,ホワイトリストによる SIMへのアクセス制限を行う. -vs : ボイスチャット中継サーバの指定.サーバ名を省略した場合のデフォルトは localhost:8088 -as : Viewer <--> Relay Server間のTCP通信を HTTPS で行う.秘密鍵ファイル,サーバ証明書,認証局証明書が必要 -aca : Second Life(SIM)サーバの認証を行う.Second Life(SIM) サーバ認証局の自己証明書が必要. -ano : サーバと HTTPS(SSL)通信をしない.OpenSIM用.Second Lifeに繋ぐ場合は指定しない.(実験的オプション) -xp : 外部WEBプロキシプロキシサーバからの接続を許可する. -ip : 内部WEBプロキシプロキシサーバを使用する.ポート番号指定可能 -ipx : 内部WEBプロキシプロキシサーバを制限モードで使用する.ポート番号指定可能 -mm : MusicURL, MediaURL を処理する.もし可能なら WEBプロキシを使用する方がお勧め. -ver : Viewerのバージョン情報を書き換える.これは新しいViewerを直ぐにインストールする事がどうしても出来ない場合にのみ, 一時的に使用する.これを永続的に使用することは危険であり,絶対に行ってはいけない. -d : デバッグ情報を出力 -x : TCP(HTTP/HTTPS)パケットを作業ディレクトリに保存し,UDPパケットのヘッダ情報を表示する (-xt -xu の同時設定と同等) -xt : TCP(HTTP/HTTPS)パケットを作業ディレクトリに保存する -xu : UDPパケットのヘッダ情報を表示する -xuf : UDPパケットをフルダンプする.サーバの動作が遅くなるので注意. --version : Version 情報を表示する. --help, -h : ヘルプを表示する.
Counter: 5477,
today: 1,
yesterday: 0
最終更新: 2011-09-28 (水) 11:04:04 (JST) (4790d) by admin