NAT を行うルータがあります。NAT の内側では、プライベート・ア
ドレスを使っていて、NAT でグローバルに変換しています。NAT の
内側にあるコンピュータで、NAT の外側のアドレスを知るうまい方
法はないでしょうか。NAT は、1対1ではなくて、N:1 で、集約する
タイプのものです。
1つ思いついたのは、外側にある Web サーバで、CGI を動かして、
REMOTE_ADDR を取るという方法です。Web サーバを維持するのが少
し面倒です。
Dynamic DNS を使ったりすると、アドレスの登録でこのような問題
が生じるのではないかと思います。NAT Box 自体でやれば、大丈夫
なのでしょうけれど、内側のコンピュータでやろうとすると、同じ
問題が出てくるのではないかと思います。今回は、Dynamic DNS ま
では要らないのですが、Dynamic DNS 関連のツールで解決できるな
ら、それでもありがたいです。
よろしくお願いします。
\\ 新城 靖 (しんじょう やすし) \\
\\ 筑波大学 電子・情報 \\
この手の質問は、もっと「何がしたいのか」をはっきり書いてもら
った方がうれしいです。
In article <YAS.06Au...@kirk.is.tsukuba.ac.jp>, y...@is.tsukuba.ac.jp (Yasushi Shinjo) writes
> NAT を行うルータがあります。NAT の内側では、プライベート・ア
> ドレスを使っていて、NAT でグローバルに変換しています。NAT の
> 内側にあるコンピュータで、NAT の外側のアドレスを知るうまい方
> 法はないでしょうか。NAT は、1対1ではなくて、N:1 で、集約する
> タイプのものです。
それを知っても、Router 側で、こちらに転送してくれなければ、
役に立ちません。Rouer 側が無視する限り、何やっても無駄です。
Dynamic DNS でもだめ。
our global IP g:port x ------> my local IP l : port y
まぁ、それがNATの内側が安全な理由なわけだし。
一旦、こちらから外に出れば、
other global IP g:port x <-----> my local IP l : port y
双方向に通じるわけですけど....
外側にサーバがあるなら、結局、トンネル掘るのが確実だと思う。
---
Shinji KONO @ Information Engineering, University of the Ryukyus
河野真治 @ 琉球大学工学部情報工学科
記事 <YAS.06Au...@kirk.is.tsukuba.ac.jp> で
Yasushi Shinjoさんは書きました
> NAT を行うルータがあります。NAT の内側では、プライベート・ア
> ドレスを使っていて、NAT でグローバルに変換しています。NAT の
> 内側にあるコンピュータで、NAT の外側のアドレスを知るうまい方
> 法はないでしょうか。
ルーターが UPnP に対応しているのなら、UPnPでグローバルアドレスの取得が
可能です。私は
http://www.bosuke.mine.nu/neta/upnp.shtml
を参考にしました。
ルーターを機種限定してIPアドレスも分かっている状況なら、プログラムを
組まなくても、リクエスト用のxmlデータをあらかじめ作っておいて送り
つければ簡単に取得できると思います。
UPnP 非対応なルーターでも、web 経由とか telnet とかで通信状態の表示が
できるのなら、ルーターにログインして通信状況を取得するスクリプトか何かを
走らせるという方法もありますね。
通信状況を表示するページをいきなり GET してやる、と。
それも無理となると、
> 1つ思いついたのは、外側にある Web サーバで、CGI を動かして、
> REMOTE_ADDR を取るという方法です。Web サーバを維持するのが少
> し面倒です。
この方向ですが、
どっかの適当な SMTP サーバに HELO して、その返事を見るというが簡単じゃ
ないでしょうか。
> % telnet doga.jp smtp
> Trying 219.117.196.238...
> Connected to doga.jp.
> Escape character is '^]'.
> HELO example.com
> 250 maha2.doga.co.jp Hello 219.117.196.43.user.rb.il24.net [219.117.196.43], pleased to meet you
こんな感じです。
PROJECT TEAM DoGA 高津正道 ta...@doga.jp
TBD0...@nifty.ne.jp
PROJECT TEAM DoGAのホームページ → http://doga.jp/
8月11日(金) 今日のマーフィーの法則 [芸術および科学における黄金率]
規則は、黄金を持つ者によって作られる。
In article <0608111746...@XP.doga.jp>
Masamichi Takatsu <ta...@doga.jp> writes:
> ルーターが UPnP に対応しているのなら、UPnPでグローバルアドレスの取得が
> 可能です。私は
> http://www.bosuke.mine.nu/neta/upnp.shtml
> を参考にしました。
なるほど。SOAP で GetExternalIPAddress て投げるわけね。面白
いです。
最近は、UPnP で、勝手にルータの設定を書き換えてポートを開く
というワームもあるし、個人的にはあんまり使いたくはない機能で
はあります。
Unix (MacOSX) で UPnP をしゃべるプログラムを書くとすると、ど
うすれば楽でしょうか。
> > 1つ思いついたのは、外側にある Web サーバで、CGI を動かして、
> > REMOTE_ADDR を取るという方法です。Web サーバを維持するのが少
> > し面倒です。
> どっかの適当な SMTP サーバに HELO して、その返事を見るというが簡単じゃ
> ないでしょうか。
これは、面白いですね。ちょっと怪しい動きなので、相手に攻撃と
思われると困りますが、そうでない時には使えますね。
メールで、こんな URL を教えてもいました。ありがとうございま
した。
http://checkip.dyndns.org/
Dynamic DNS をやっていそうなサイトのおまけかな。
In article <3993162...@rananim.ie.u-ryukyu.ac.jp>
ko...@ie.u-ryukyu.ac.jp (Shinji KONO) writes:
> この手の質問は、もっと「何がしたいのか」をはっきり書いてもら
> った方がうれしいです。
それは、やや秘密にしたい所はあります。
> それを知っても、Router 側で、こちらに転送してくれなければ、
> 役に立ちません。
もちろん、NAT をやっているルータでは特定のポート番号を特定の
プライベート・アドレスの特定のポート番号に転送するように設定
します。ポート番号は、わかるけれど、ルータ自身の外側の IP ア
ドレスが必要です。
> 外側にサーバがあるなら、結局、トンネル掘るのが確実だと思う。
トンネルだと、NAT 側を外部のサーバ側のネットワークに入れると
いう話になりますよね。それは、今はやりたくないです。逆ならい
いけれど。