清水先生,
菅です.
ルータの向こう側でNATが掛かっていると,基本的にソケットがつながらないので,
RTM以前の問題になってしまうと思います.
一つは,ルータにポートフォワード機能があれば,
それを使うことです.ただ,CORBAで利用するポートがどれなのか僕にはよくわかりません.
もう一つは,ルータにもよりますが,すべてのポートをフォワードする機能があるので,
ルータ内のRTCが動作しているPCに対して,
すべてのパケットを転送すれば解決すると思います.
ルータの下にいくつかのRTCがある場合は,さらに問題が複雑ですね・・・
妙案がある方いらっしゃいますか?
2013年11月20日 20:53 Masayuki Shimizu :
> 皆様
>
> 静岡大の清水です。
> 標記の件で上手くいかずに困っています。
> 方法をご存じの方がいれば教えて頂けると幸いです。
>
> (やりたいこと)
> 192.168.0.0/24のネットワーク内にPC1とルータ1があり、
> ルータ1のLAN側(192.168.1.0/24)にあるPC2でRTCが動作しているとします。
> PC1で動くRTSEからPC2のRTCの操作(活性化など)をしたい場合、
> どうすればよいのでしょうか。
>
> 少し複雑なので、IPアドレス等を整理します。
> ・PC1: 192.168.0.10
> ・ルータWAN側: 192.168.0.11
> ・ルータLAN側: 192.168.1.1
> ・PC2: 192.168.1.2
> ・CORBAネームサーバ: 192.168.1.2:2809 (PC2の2809番ポート)
> ・ルータのポートフォワード設定: 28091番ポート => 192.168.1.2:2809
>
> PC2上でRTCを起動させ、PC1のRTSEのネームサーバに
> 192.168.0.11:28091を追加すると、そこにRTCのゾンビオブジェクトが見えます。
> ただ、RTCとしては何も操作ができません。
>
> おそらく、何かのCORBAオブジェクトがPC2のネームサーバに登録されていることは
> 分かるが、それがRTObjectとして機能していない状態だと思います。
>
> OpenRTMのHPの情報では、corba.alternate_iiop_addresses か何かを
> rtc.confで設定しないといけないようですが、
> そこに書いてあるやり方がよくわかりません。
>
> corba.alternate_iiop_addresses の項目なのに、設定例では、
> corba.additional_ior_addresses になっていたり、
> 上記の例のように、違う番号のポートに変換する場合はどうすべきかがわかりません。
>
> # OpenRTM-aistのソースをgrepしてみましたが、
> # corba.additional_ior_addresses は指定しても意味がないように見えます。
> # corba.alternate_iiop_addresses は実際にアドレスを追加する操作をしているので、
> # こちらが正しいのはではないかと思いますが、どうなのでしょう。
>
> また、今回の場合、PC1のサブネット内(192.168.0.0/24)には
> ネームサーバがないため、
> LAN(192.168.1.0/24)内のネームサーバを使うしかありません。
>
> 上記の場合、rtc.confをどう書けばよいのでしょうか?
> よろしくお願いいたします。
>
> 清水
皆様
静岡大の清水です。
標記の件で上手くいかずに困っています。
方法をご存じの方がいれば教えて頂けると幸いです。
(やりたいこと)
192.168.0.0/24のネットワーク内にPC1とルータ1があり、
ルータ1のLAN側(192.168.1.0/24)にあるPC2でRTCが動作しているとします。
PC1で動くRTSEからPC2のRTCの操作(活性化など)をしたい場合、
どうすればよいのでしょうか。
少し複雑なので、IPアドレス等を整理します。
・PC1: 192.168.0.10
・ルータWAN側: 192.168.0.11
・ルータLAN側: 192.168.1.1
・PC2: 192.168.1.2
・CORBAネームサーバ: 192.168.1.2:2809 (PC2の2809番ポート)
・ルータのポートフォワード設定: 28091番ポート => 192.168.1.2:2809
PC2上でRTCを起動させ、PC1のRTSEのネームサーバに
192.168.0.11:28091を追加すると、そこにRTCのゾンビオブジェクトが見えます。
ただ、RTCとしては何も操作ができません。
おそらく、何かのCORBAオブジェクトがPC2のネームサーバに登録されていることは
分かるが、それがRTObjectとして機能していない状態だと思います。
OpenRTMのHPの情報では、corba.alternate_iiop_addresses か何かを
rtc.confで設定しないといけないようですが、
そこに書いてあるやり方がよくわかりません。
corba.alternate_iiop_addresses の項目なのに、設定例では、
corba.additional_ior_addresses になっていたり、
上記の例のように、違う番号のポートに変換する場合はどうすべきかがわかりません。
# OpenRTM-aistのソースをgrepしてみましたが、
# corba.additional_ior_addresses は指定しても意味がないように見えます。
# corba.alternate_iiop_addresses は実際にアドレスを追加する操作をしているので、
# こちらが正しいのはではないかと思いますが、どうなのでしょう。
また、今回の場合、PC1のサブネット内(192.168.0.0/24)には
ネームサーバがないため、
LAN(192.168.1.0/24)内のネームサーバを使うしかありません。
上記の場合、rtc.confをどう書けばよいのでしょうか?
よろしくお願いいたします。
清水