2009年03月23日
OpenSIMを外部グリッドに繋いだ時、SIMにテレポできず
先日、自宅のサーバ(OSはLinux)にOpenSIMを入れて、OSGridというグリッドサービスに自分のSIMをつないでみました。
OSGridにログインし、マップ上で自分のSIMを検索し、テレポートを試みましたが失敗しました;;
(マップ上には自分のSIMが表示されています)
原因はデバッグコンソールを眺めてみた限り、グリッドサーバからビューアに送られてくるSIMの情報がグローバルIPのようで、ローカルネットワーク内で自分のSIMにテレポすると、グローバルIPで参照しているので当然失敗してしまうみたいなのです。(あくまで推測ですが・・・)
原因を裏付けるものとして、外部ネットワークからは自分のSIMに、普通にテレポできました。
(ノートPCにケータイをつないで検証しました。パケット代が心配^^;)
設定ファイルのOpenSim.iniについては、OpenSIMが問題なく動いているので、特に間違いはないと思います。
Regionsディレクトリにあるdefault.xmlファイルのexternal_host_nameという項目には、グローバルIPではなくドメイン名で指定してあります。(理由は、うちには固定グローバルIPが割り当てられていないので)
それでもグリッドサーバからはグローバルIPで送られてきてしまうみたいなんです・・・;
ちなみに、自宅サーバにはDNSサーバが稼働しているので、ドメイン名でならローカル環境でもサーバを参照することができるはずです。
これでは、せっかく自分のSIMを持てても、土地の編集も建造もできないどころか、SIMに入ることすらできません;
まぁ、そのときだけスタンドアロンモードに切り替えれば、できないことはないのですが・・・
何か良い解決策はないものでしょうか?
ご存知の方、ご教授下さい。
宜しくお願い致します。
OSGridにログインし、マップ上で自分のSIMを検索し、テレポートを試みましたが失敗しました;;
(マップ上には自分のSIMが表示されています)
原因はデバッグコンソールを眺めてみた限り、グリッドサーバからビューアに送られてくるSIMの情報がグローバルIPのようで、ローカルネットワーク内で自分のSIMにテレポすると、グローバルIPで参照しているので当然失敗してしまうみたいなのです。(あくまで推測ですが・・・)
原因を裏付けるものとして、外部ネットワークからは自分のSIMに、普通にテレポできました。
(ノートPCにケータイをつないで検証しました。パケット代が心配^^;)
設定ファイルのOpenSim.iniについては、OpenSIMが問題なく動いているので、特に間違いはないと思います。
Regionsディレクトリにあるdefault.xmlファイルのexternal_host_nameという項目には、グローバルIPではなくドメイン名で指定してあります。(理由は、うちには固定グローバルIPが割り当てられていないので)
それでもグリッドサーバからはグローバルIPで送られてきてしまうみたいなんです・・・;
ちなみに、自宅サーバにはDNSサーバが稼働しているので、ドメイン名でならローカル環境でもサーバを参照することができるはずです。
これでは、せっかく自分のSIMを持てても、土地の編集も建造もできないどころか、SIMに入ることすらできません;
まぁ、そのときだけスタンドアロンモードに切り替えれば、できないことはないのですが・・・
何か良い解決策はないものでしょうか?
ご存知の方、ご教授下さい。
宜しくお願い致します。
http://tshimizu.cocolog-nifty.com/good_job/2009/01/opensim-version.html#comments
OpenSimの関連サイト:
http://opensimulator.org/wiki/Network_Settings
英語の本家サイトの方は、あまり理解できませんでしたが^^;
どうやらルータを買い替えないと無理っぽいですね・・・;
情報ありがとうございました^^
ルーターはバッファローのBBR-4MGなどで3,000円ぐらいです。
外部アクセス(2台目ルーターのグローバルIP)-自宅サーバー(OpenSimPCのローカルIP)にポートマッピングの設定をし
ルーターのPPPOEでつなぐとフレッツの場合2セッションつながりますので
自分のサーバーがみえるようになります。
OpenSimの仕様ではNATループバックがないとみれません。
NATループバックとは、ルーター自身がグローバルIPをもって
クライアントPCに送っているはずですが、クライアント側から
ルーターのグローバルIPをLAN内からアクセスがあった場合に
指定のPCにパケットを送る仕組みです。
通常NTTなどからもらえるルーターはこの機能がついておらず
モデムではなく、ルーターなので機能上どうしようもありませんでした。
現在の状態では、ビューアーがサーバーではなくルーター自身を
参照していることになりますのでみれないわけです。
2重ルーターにはなりますが、自宅からみえるようになります。
とりあえず自分の携帯などでサーバー側にapache2などを立ち上げて
確認してみるといいです。
ノートPCに携帯からつなぐと1日で20,000円ぐらいいっちゃうので
気をつけましょう。
OpenSimPCのexternalIPは、DynDNSへ登録してdefault.xmlに指定しておくと楽です。
このかたの環境は、ADSLだとおもわれますのでモデムに新しいルーターをつなぐと見れるわけですが、Bフレッツではルーターがくる(ここ重要)のでみんなハマっていると思います。
>このかたの環境は、ADSLだとおもわれますのでモデムに新しいルーターをつなぐと見れるわけですが、Bフレッツではルーターがくる(ここ重要)のでみんなハマっていると思います。
Bフレッツで二回線使ってるってブログで書いてますね。
VDSLモデムからハブで分岐してNTTの光電話用ルーターと、ヤマハのRT57iへ分岐しているとも書いてます。
この人は、プロのライター。ネットワークエンジニアもやてるとブログに書いていますよ。
NTTレンタルルーターで市販の無線LANカードが使えるレポートはみんなが助かってます。僕もその一人ですけどね。
情報ありがとうございます^^
ですが現在、購入してきたルーターBBR-4MGと格闘中です;;
2台目ルーターのWAN側にモデムを、LAN側に自宅サーバをつなぐということなのでしょうか?
元々あるルーターと2台目ルーターとは、どのように接続しているのでしょうか?
2台目ルーターには2つ目のグローバルIPを設定してやる必要があるのでしょうか?
NATループバックとは、どのように設定するのでしょうか?
ちなみに、うちはBフレッツではなく、KDDIの光oneです。
ブラウザにてグローバルIPでアクセスしてもルーターの設定画面はでてきません。
Bフレッツと光oneでは、仕様が違うみたいですね^^;
質問ばかりですみません;;
自宅の接続イメージはこんな感じです。
大変残念ですが、ひかりOneはマルチセッションに対応していないのです。
Bフレッツ回線(VDSL)
■
Bフレッツルーター(グローバルから192.168.1.2へポートマッピング、DMZ)1セッション目
■---------OpenSimサーバー(例192.168.1.2)
BBR-4MG(2個目のグローバルIP)2セッション目 WANに接続
■---------クライアントPC(2個目のグローバルIPから自分のIPにポートマッピング)
そうですか、残念・・・;;
NATループバック(ヘアピンNATとも言う)は、設定不要です。ルータがNAT変換する場合に、ポートフォアード(或いはDMZ)元のアドレスをクライアントへ返す機能なので、特に設定しなくても機能します。
ひかりOneの場合、契約状況によって設定が変わります。
・ひかりoneのホーム100/SOHO、マンションV100/V57/E100/無線はPPPoE接続。
http://www.hikari-one.com/support/t/index.html
http://buffalo.jp/download/manual/bro150/manual/router/f_list/l_bbr4hg-2.html
・その他のひかりoneの場合
WAN設定でWAN側IPアドレスを192.168.0.2、サブネットマスクを255.255.255.0にする。
デフォルトゲートウェイとDNSサーバーアドレスは192.168.0.1。
http://buffalo.jp/download/manual/bro150/manual/router/f_list/l_bbr4hg-2.html
ネットワーク設定でアドレス変換を「使用しない」にする。
http://buffalo.jp/php/lqa.php?id=BUF5724
http://buffalo.jp/download/manual/bro150/manual/router/f_list/l_bbr4hg-3.html
HGW(ホームゲートウェイ)の静的ルーティング設定で
宛先IPアドレス:192.168.11.0/24 ゲートウェイ:192.168.0.2 を設定する。
http://www.aterm.jp/function/guide12/web-data/j-all/bl/k/8w_m30.html
>大変残念ですが、ひかりOneはマルチセッションに対応していないのです。
OpenSimサーバが一台の場合には、マルチセッションは不要です。
グローバスIPアドレスが一個(ルータへ振られる)あれば、それをポートフォアードするなり、DMZへサーバのローカルIPへ送ってやればOKです。