[openrtm-users 02967] Re: ルータのLAN側にあるRTCの操作

ts suehiro @ is.uec.ac.jp
2013年 11月 22日 (金) 00:02:23 JST


安藤様,皆様,

末廣です.

SoftEtherなどはどうでしょうか?
オープンソース版もあるようですし,
ロボット用ということで共同研究を
持ちかければいろいろと話に乗って
もらえるかもしれません.

RTMはファイアーウォールに穴をたくさんあける必要があるし,
ロボットというハードを扱うにはネットワークセキュリティが
弱いという問題があります.
vpnにしてネットワークのセキュリティを上げてやれば
安全なロボットネットワークの構築手法が確立が
できるような気がします.
参考:http://www.softether.jp/1-product/11-vpn/21-intro/4

(2013/11/21 19:50), Ando Noriaki wrote:
> 末廣先生、清水先生、皆様
> 
> 安藤です
> 
> 試しにVPNでRTCをつなぐとどうなるかをやってみました。以下にドキュメントとして
> まとめましたので、間違いなどありましたらご指摘ください。ざっとですが
> パフォーマンスの比較もしてみました。
> 
> http://www.openrtm.org/openrtm/ja/content/rtm_on_vpn_ja
> 
> MTU/MRUなどは調整していませんので、確定的なことは言えませんが、
> やってみた印象としてはかなり遅いです。WindowsのVPNは遅いという噂も
> ありますので、Linuxだけだともう少しましになるかもしれませんが。
> あと、WindowsのVPNはちょくちょく切れました。切れるとポートの接続も
> 切れてしまいました。
> 
> VPNに関して何かいい方法ご存知の方いらっしゃいませんか?
> 
> 
> 
> 2013年11月21日 13:44 Ando Noriaki <n-ando @ aist.go.jp>:
>> 末廣先生
>>
>> 安藤です
>>
>> corba.additional_ior_addresses オプションでは、そのプロセスのすべてのオブジェクト
>> リファレンスに指定のIPアドレスが追加されますので、ポートフォワーディングさえ設定
>> されていれば一応NATの内と外のRTCを通信させることができます。
>>
>> #C++,Python版ではomniORBのomniIOR::add_IIOP_ADDRESS()という関数で、
>> #Java版ではIorのインターセプタを利用して実現しています。
>>
>> ただ、NAT内のRTCが増えると、その分だけポートフォワーディングを設定する必要が
>> あるので非常に面倒ではあります。UPnPでポートフォワーディングを自動で設定
>> する拡張モジュールも作りかけたのですが、途中で止まっています。
>>
>> VPNなどでトンネリングでネットワークがフラットに見えるようになっていれば
>> そういった手間がなくて楽ですので、それも一つの手だと思います。
>> VPNならエンドポイントを固定できるので(できますよね)、DHCPで実アドレスが
>> 変わったりしてもVPNを張りなおせば通信は維持できそうですね。ROSは
>> そうしているんでしたっけ?
>>
>>
>>
>> 2013年11月21日 10:47 ts <suehiro @ is.uec.ac.jp>:
>>> 安藤様,清水様,
>>>
>>> 末廣です.
>>>
>>> 安藤さんのやり方でRTCにはアクセスできるようになると
>>> 思うのですが,それだけで良いのでしょうか?
>>>
>>> 菅さんが指摘しているように他のcorbaオブジェクトの
>>> iiopを全部書き換えないと入出力ポートやサービスポートは
>>> 使えないのではないかと思います.
>>>
>>> 簡単な代替案としては,vpnなどでトンネルを掘って
>>> rtm用のvirtual lanセグメントを作ってしまうのが
>>> 良いのではないでしょうか.
>>>
>>> いかがでしょうか.
>>>
>>>
>>> (2013/11/21 10:28), Ando Noriaki wrote:
>>>> 安藤です
>>>>
>>>> すみません、corba.additional_ior_addresses は古いオプション名で
>>>> corba.alternate_iiop_addresses が正しいです。Webページの方は直しました。
>>>>
>>>> http://openrtm.org/openrtm/ja/content/rtcconf%E8%A8%AD%E5%AE%9A%E9%A0%85%E7%9B%AE%E4%B8%80%E8%A6%A7#toc23
>>>>
>>>> この場合、ネームサーバがプライベート側にあるんですね。そうすると
>>>> ネームサーバ用だけでなくRTC用にもポートフォワード設定をする必要があります。
>>>>
>>>> 1. ポートフォワード設定: 29101→ 192.168.1.2:2810 を追加する
>>>> 2. PC2のrtc.conf には以下のように記述
>>>>
>>>> corba.nameservers: 192.168.1.2:2809
>>>> corba.endpoints: 192.168.1.2:2910
>>>> corba.alternate_iiop_addresses: 192.168.0.11:29101
>>>>
>>>> これで、ネームサーバ上のRTCの参照には
>>>>
>>>> - 192.168.1.2:2910
>>>> - 192.168.0.11:29101
>>>>
>>>> が含まれることになり、RTSEが 192.168.1.2:2910 にアクセスしてリーチしなかった
>>>> 場合、つぎに 192.168.0.11:29101 にアクセスしに行き、結果としてルータの内側の
>>>> RTCに到達できるはずです。
>>>>
>>>> こちらで試していないので、うまくいくかどうかはわかりませんが、とりあえず
>>>> これで試してみていただけないでしょうか。よろしくお願いいたします。
>>>>
>>>>
>>>>
>>>>
>>>> 2013年11月20日 20:53 Masayuki Shimizu <tmsimiz @ ipc.shizuoka.ac.jp>:
>>>>> 皆様
>>>>>
>>>>> 静岡大の清水です。
>>>>> 標記の件で上手くいかずに困っています。
>>>>> 方法をご存じの方がいれば教えて頂けると幸いです。
>>>>>
>>>>> (やりたいこと)
>>>>> 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をどう書けばよいのでしょうか?
>>>>> よろしくお願いいたします。
>>>>>
>>>>> 清水
>>>>> --------------------
>>>>> Masayuki Shimizu
>>>>> Assistant Professor
>>>>> Dept. of Mechanical Engineering, Shizuoka Univ.
>>>>> 3-5-1, Johoku, Naka-ku, Hamamatsu 432-8561, JAPAN
>>>>> TEL/FAX: +81-53-478-1061
>>>>> Email: tmsimiz @ ipc.shizuoka.ac.jp
>>>>> _______________________________________________
>>>>> openrtm-users mailing list
>>>>> openrtm-users @ openrtm.org
>>>>> http://www.openrtm.org/mailman/listinfo/openrtm-users
>>>> _______________________________________________
>>>> openrtm-users mailing list
>>>> openrtm-users @ openrtm.org
>>>> http://www.openrtm.org/mailman/listinfo/openrtm-users
>>>>
>>>
>>>
>>> --
>>> Takashi Suehiro, Professor, Intelligent Systems Lab,
>>> Graduate School of Information Systems,
>>> the University of Electro-Communications
>>> Tel: +81-424-43-5655 Fax: +81-424-43-5682
>>> E-mail: suehiro @ is.uec.ac.jp
>>> 1-5-1 Chofugaoka, Chofu, Tokyo 1828585, Japan
>>> _______________________________________________
>>> openrtm-users mailing list
>>> openrtm-users @ openrtm.org
>>> http://www.openrtm.org/mailman/listinfo/openrtm-users
> _______________________________________________
> openrtm-users mailing list
> openrtm-users @ openrtm.org
> http://www.openrtm.org/mailman/listinfo/openrtm-users
> 


-- 
Takashi Suehiro, Professor, Intelligent Systems Lab,
Graduate School of Information Systems,
the University of Electro-Communications
Tel: +81-424-43-5655 Fax: +81-424-43-5682
E-mail: suehiro @ is.uec.ac.jp
1-5-1 Chofugaoka, Chofu, Tokyo 1828585, Japan


More information about the openrtm-users mailing list