グローバルIPとプライベートIPについて

このQ&Aのポイント
  • 外出先のクライアントから自宅のネットワークにアクセスするためのIPアドレスが変わる理由は何ですか?
  • ホームネットワークのルータから目的のサーバに送信されるIPアドレスはなぜグローバルIPとなるのですか?
回答を見る
  • ベストアンサー

グローバルIPとプライベートIPについて

ソフトウェア開発技術者の平成20年春の問題をやっていて、腑に落ちないところがあります。 質問は二つです。 外出先のクライアントのPCからルータA(外出先からインターネットへつなぐためのもの)を通じて、インターネット経由で自宅のネットワークのルータBにアクセスをして、そこからアドレス変換をすることによりサーバにアクセス要求パケットを送信するという類のものなのですが…。 アクセス経路で、あるネットワーク内に存在するクライアントPCからそのPCをネットへつなぐためのルータにアクセスする時に送信元IPアドレスが「192.168.1.10」とクライアントPCのプライベートアドレスになっていました。   ところが、ルータAから別のネットワークのルータBにつなぐときは、送信元のIPアドレスが「61.xxx.42.94」とグローバルIPアドレスになっていました。 (1) 送信元IPアドレスのプライベートとグローバルIPアドレスが変わってくるのは何が原因なのでしょうか? 自分なりに考えてみると、別のネットワークにパケットを送るときは一旦プライベートアドレスからグローバルIPアドレスに変換する必要があるため。と解釈したのですが、正しかったでしょうか。 また、ホームネットワークのルータBに来て目的のサーバにパケットを送るときに、そのルータBから「そのネットワーク内の目的のサーバ」への送信元IPアドレスがパケットが送られてきたネットーワークのグローバルIPアドレスである「61.xxx.42.94」となっていました。 (2)しかし、ルータBは別のネットワークの中に属するものでありその送信元アドレスがなぜそう表示されるのかわかりません。 これは、目的のサーバからのパケットの応答がある場合に、ルータAからクライアントPCに帰るときも同様で、ルータBが存在する方のグローバルIPアドレスである「202.yyy.63.242」が使われていました。 以上二つです。二つともIPアドレスに関する質問です。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • 774danger
  • ベストアンサー率53% (1010/1877)
回答No.1

> (1) 送信元IPアドレスのプライベートとグローバルIPアドレスが変わってくるのは何が原因なのでしょうか? ルータでNAT or NAPTを行っているから > 自分なりに考えてみると、別のネットワークにパケットを送るときは一旦プライベートアドレスからグローバルIPアドレスに変換する必要があるため。と解釈したのですが、正しかったでしょうか。 「『インターネットを経由して』別のネットワークにパケットを送るときは一旦プライベートアドレスからグローバルIPアドレスに変換する必要があるため」です 自分で専用線等を引いて閉じたネットワークを構築すれば必ずしもグローバルIPアドレスに変換する必要はありません 何故インターネット上にプライベートIPアドレスを流してはいけないのかは、RFC1918を読めばわかります http://www.nic.ad.jp/ja/translation/rfc/1918.html > (2)しかし、ルータBは別のネットワークの中に属するものでありその送信元アドレスがなぜそう表示されるのかわかりません。 NAPTの動作を理解していれば当たり前の動作ですが、 http://www.itbook.info/study/nat4.html の動作を理解していますか?

rinnshan
質問者

お礼

回答ありがとうございます。 NAPTなどは全く知りませんでした。 全てこの機能によって動作していたことなんですね。 ぜひ、この機会に勉強したいと思います^^

関連するQ&A

  • グローバルIPとプライベートIPについて

    IPの仕組みについてよくわかっていないので、猿でもわかるように説明していただけると助かります。 グローバルIPは(IPv4では)ネットワークに対してひとつ割り当てられるもので、LAN内ではプライベートIPを使うということはわかっているつもりです。 たとえば、とあるLAN内にあるサーバーのプライベートIPが192.168.1.50だったとします。 外部から、このLANのサーバーにアクセスする際、グローバルIPだけではそのLANのどの端末か、ということまでわからないと思うのですが、一般的にはどのように指定するのでしょうか? 具体的には、たとえばEXSiのサーバーがネットワークAにあったとして、EXSiのクライアントで、ネットワークBからこのサーバーにアクセスしたいとすると(グローバルIPが変動するとかそういう話は無しとして)どのようにサーバーのアドレスを指定するのでしょうか? クライアント側にはグローバールIPを入力するだけではLAN内の"どこ"にサーバーがあるかわからないか、思うのですが、どうなのでしょうか?

  • VPN設定(クライアントにグローバルIP)

    次のようなことを実現したいです。 <拠点A> グローバルIPアドレス: 202.XXX.XXX.70 - 202.XXX.XXX.78 プライベートネットワークアドレス: 172.16.10.XXX <拠点B> グローバルIPアドレス: 207.XXX.XXX.50 - 207.XXX.XXX.58 プライベートネットワークアドレス: 172.16.30.XXX 拠点Aと拠点BはVPNで繋がっております。 都合上、拠点Aに202.XXX.XXX.74と固定のグローバルIPアドレスをクライアントに振り、同様に拠点Bにも207.XXX.XXX.55とクライアントに振ってあり、この間をVPNを通して通信する必要がでてきました。 このグローバルIPアドレスを固定に振っているもの同士のVPN接続ができなくて困っています。 VPNは繋がっておりますので、プライベート空間同様の設定をすればグローバルIPアドレスであっても繋がるのではと思ったのですが、うまくいきません、、、 拠点B(客先)からはVPNルーターのグローバルIPアドレスとクライアントに振られている固定のグローバルIPアドレスを情報としてもらっています。 上記以外、拠点B側の設定はまったく分かりません。 拠点A側で行ったこととしては、固定IPのクライアントにNICを2枚挿して、1つをグローバル、1つをプライベートでIP設定しました。 また、ルーティングテーブル中に拠点BのルーターとクライアントのIPへの通信はプライベート側のNICにパケットを転送するように設定しました。 ルーターの設定は、拠点Bからのパケットを固定IPのクライアントに送るようにファイヤーウォールに穴を開けました。 NATやIPマスカレードはグローバルIPをクライアントで持っているため、必要ないと思い設定していません。 トンネルはできていますので、そこへクライアントに固定で振っているグローバルIPが通れば・・・と考えているのですが、、、 行き詰まりました。ご教授頂けたらと思います。 VPNルーター: YAMAHA RTX1500 クライアントOS: WindowsXP

  • グローバルIPアドレスやプライベートIPアドレスやmacアドレスやデフォルトゲートウェイ

    centoosで自宅webサーバー構築をしようとしているものです。 家はパソコンが二台あり、それぞれルータに接続しています。 パソコンAをクライアントとして、プライベートIPアドレスは192.168.0.1とします。 パソコンBをサーバーとして、プライベートIPアドレスは192.168.0.2とします。 IPアドレスのことで質問があります。ネットワーク関連の理解がまだまだなので勘違いが多いと思いますが、その勘違いを訂正していただければ幸いです。 1、プライベートIPアドレスは、パソコン一台につき一つありますが、グローバルIPアドレスは何個ありますか?一つでしょうか?NATによってルータでプライベートIPアドレスからグローバルIPアドレスに変換されるものだと思っていますが、変換されたグローバルIPアドレスは各プライベートIPアドレスによって違うのでしょうか? 2、固定IPアドレスと非固定IPアドレスは、何が固定で何が非固定なのかがわかりません。対象のアドレスはグローバルIPアドレスでしょうか?プライベートIPアドレスが非固定…っていうのはちょっと想像がつきにくいです…。それからこれはサーバー側とクライアント側どちらにも固定と非固定とあるのでしょうか? 3、DHCPに関しても「2」同じように、対象のアドレスはグローバルIPアドレスでしょうか?サーバーとクライアントとどちらにも設定があるようですが、サーバー側のDHCPがいまいち想像できません。 4、ルータにあるアドレスは”MACアドレスだけ”で大丈夫でしょうか? 5、ポートに関して、クライアントが開くポートは、「こちらから何か情報を送信するときに開くもの」サーバーが開くポートは、「送信されてきた情報を受け入れるために開いておくもの」ということですか?それともクライアント側サーバー側なんて関係なくポートは一つでしょうか? 6、他wan内のクライアントがパソコンBのサーバーにアクセスするとき、どのアドレスを頼りにアクセスしてくるのでしょうか? 参考書も買い、webでも色々調べたのですが、確信がもてないものやどうにも理解できないものをまとめてみました。(主に、IPアドレスと書かれても、そのIPアドレスがグローバルなものなのかプライベートなものなのかはたまたもっと別のものなのか…がよくわかりません。デフォルトゲートウェイ部分に表示されるアドレスも192.168.x.xという表記ですし…。) 無知な状態で、なんとかwebサーバー構築にたどり着けたとしても、クラッキングの対象にされて他の人に迷惑がかかる…とも知って、不安でいっぱいです。 ぜんっぜん理解できないてないと思いますが、どうかお手柔らかにお願いします。

  • プライベートIPからのHTTP通信のしくみ

    プライベートIPを持つPCからHTTPでホームページを見る場合の仕組みについて質問です。 家では一般的な無線LANを使用してインターネットに接続しているため、IPアドレスはプライベートIPアドレス(192.168.xxx.xxx)となっています。 この場合、プライベートIPのPCがグローバルIPを持つ外部サーバにアクセスする場合には、ブロードバンドルータを通過するので、外部サーバはリクエスト元のブロードバンドルータのIPアドレスはわかっても、その先にあるプライベートIPは知らないと理解しています。 そのため、外部サーバはレスポンスをブロードバンドルータのIPアドレスに返却すると考えているのですが、そのレスポンスはどのようにしてグロードバンドルータからリクエスト元のプライベートIPアドレスのPCを判別するのでしょうか? 通信の仕組みを解説しているサイトには、ローカルLANではIPマスカレードなどによって、ポート番号で特定のPCに通信を振り分けることで、ひとつのグローバルIPアドレスに複数のプライベートIPのPCによる通信を実現しているとありますが、自宅のルータの設定をみてもIPマスカレードは設定されていないように見えます。。。 (HTTPは代表的なプロトコルなので、暗黙的にデフォルトで設定されている?) 初歩的な質問ですが、回答や参考になるサイトがあれば教えていただきたいと思います。 よろしくお願いいたします。 OS:Ubuntu 11.10 ブロードバンドルータ:WZR-HP-AG300H

  • NATディスクリプタを挟んだ送信元のIPアドレス

    ルーターを挟んでネット上のあるサーバーとhttpで通信する時 (パソコン)-(ルータ)-(ネット上のあるサーバー) パソコンのプライベートIPアドレス 192.168.100.2 ルーターのプライベートIPアドレス 192.168.100.1 ルーターのグローバルIPアドレス 124.83.235.204 ネット上のあるサーバー のグローバルIPアドレス 74.125.235.119 とします。 1 パソコンからネット上のあるサーバーへパケットを送ったとき そのパケットを受け取った ネット上のあるサーバー上では、 そのパケットのIPヘッダーの送信元IPアドレスは 192.168.100.2、192.168.100.1 ではなく 124.83.235.204 2 ネット上のあるサーバーから応答パケットがパソコンへ戻ってきたとき そのパケットを受け取った パソコン上では、そのパケットのIPヘッダーの送信元IPアドレスは 124.83.235.204、192.168.100.1 ではなく 74.125.235.119 で正しいでしょうか?

  • centos webサーバー IPアドレス

    自宅にてcentosでwebサーバーを構築しようとしているものです。 ローカルエリア1{ 【サーバーPC】 プライベートIPアドレス 192.168.0.1 サブネットマスク 255.255.255.0 【クライアントPC1】 プライベートIPアドレス 192.168.0.2 サブネットマスク 255.255.255.0 【ルーター1】 デフォルトゲートウェイ 192.168.0.1 グローバルIPアドレス 150.100.50.1 macアドレス 32:61:3C:4E:B6:01 ポート80番開放 }    ~ ワイドエリア    ~ ローカルエリア2{ 【クライアントPC2】 プライベートIPアドレス 192.168.0.1 サブネットマスク 255.255.255.0 【ルーター2】(ルーターの必要はないと思いますが説明のため。) デフォルトゲートウェイ 192.168.0.1 グローバルIPアドレス 150.100.50.2 macアドレス 32:61:3C:4E:B6:02 ポート開放なし } このような環境があった場合… (1) 【クライアントPC2】が【サーバーPC】にアクセスしたいとき。 【クライアントPC2】がブラウザにURIを入力すると、【クライアントPC2】のデフォルトゲートウェイの設定を頼りに【ルーター2】を発見し、【ルーター2】に繋ぎ、そこでプライベートIPアドレスをグローバルIPアドレスに変換し、ワイドエリアへ…。そしてDNSサーバーなどで名前解決などを経て、【ルーター1】のグローバルIPアドレスを頼りに【ルーター1】を見つけ、ポート80番があいているので、さらにそこから【サーバーPC】のプライベートIPアドレスを頼りに【サーバーPC】へアクセス…という流れで間違いないでしょうか? (2) 【クライアントPC1】が【サーバーPC】にアクセスしたいとき。 プライベートIPアドレスを指定すればアクセスできると思いますが、グローバルIPアドレスを指定して(URI)を指定してアクセスする場合はどのような経由になるでしょうか?【ルーター1】を出て、DNSサーバーで名前解決を行った後、再度【ルーター1】に戻ってきてから、プライベートIPアドレスでアクセスする…という流れでしょうか? (3) 現在、上記のローカルエリア1のような環境なのですが、外部PCからは自宅サーバーにURI指定でアクセスできるが、自宅のクライアント側PCからサーバーにアクセスするさいには、URIではアクセスできずプライベートIPアドレスでないとアクセスできません。どのような設定をすれば、URI指定でもアクセスできるようになるのでしょうか? 環境は、 クライアントPC→windowsXPhomeedition サーバーPX→centos5 です。 (1)~(3)に関して、必要のない設定等ありましたら訂正を、間違い等ありましたら指摘をお願いできますでしょうか?

  • グローバルIPとプライベートIPを区別する方法

    グローバルIPアドレスは、ISPがDHCPで割り振る事はなく、 自宅のPCに割り振られているIPは全てプライベートIPアドレス (つまりIPSのルータが割り振っている)という話を聞きました。 自宅PCのIPアドレスは、ルータ使用時は 192.168.1.2 (プライベートIP)ですが、ルータをはずして直接 接続した場合は、121.2.144.39 になります。これは グローバルIPだと思っていたのですが、違うのでしょうか。 ipconfig /all で見ると、デフォルトゲートウェイも同じでした。 ネットワーク接続の中の接続している設定をWクリックして 詳細を見ると「サーバーIPアドレス 59.146.160.85」になっています。 どちらがDHCPサーバかもよく分かりません。 はっきりとグローバルかプライベートか確認する方法は ないでしょうか。似た質問を検索してみたのですが、 同じ質問はありませんでした。よろしくお願いします。

  • ルータの設定の仕方が解りません。

    CTU┬ルータ1┬サーバ(グローバルIP)    └光電話 ├サーバ(グローバルIP)            ├サーバ(グローバルIP)            └ルータ2┬(VPN)クライアント              ├クライアントPC              └クライアントPC 上記のようにネットワークを構築したいと思っております。 グローバルIPが8つです。(xxx.xxx.xxx.xx1~xxx.xxx.xxx.xx8) ルータ1をPPPoEでCTUに接続し、unnumbered設定。 WAN側は未設定で、ルータ1にデフォルトゲートーウェイとして、xxx.xxx.xxx.xx2を割り振ります。 サーバに(xxx.xxx.xxx.xx3~xxx.xxx.xxx.xx5)を割り振り、 ルータ2のWAN側に(xxx.xxx.xxx.xx6)を割り振り、 LAN側のクライアントPCには、プライベートIPを振りたいと思っております。 但し、クライアントPCのうち1つは、VPNを使って外部からアクセスできるようにしたいのですが、このような構築をする場合、 ルータ2はどのように、設定すれば良いでしょうか? ただ普通にWAN側に(xxx.xxx.xxx.xx6)を振ってDHCPを無効にし、 手動でプライベートIPを振れば、一つだけVPNでアクセスできるものなのでしょうか? いまひとつ、ルータの事が分かっていないので、 宜しくお願い致します。

  • VPN接続時のルータの静的ルーティングについて

    VPN接続時のルータの静的ルーティングに関して質問なんですが、少し長いのでご容赦ください。 現在下記のような環境で自宅にVPNサーバを立てています。 VPNサーバ:Mac OS X 10.10.2 (yosemite) 上にVPNActivatorを使用して構築 VPNで割り当てるIPの範囲:192.168.0.14 ~ 192.168.0.16 ルータに割り当てられているグローバルIP:xxx.xxx.xxx.xx VPNサーバに割り当てられたプライベートIP:192.168.0.10 ポート・マッピング: 変換対象のプロトコルとポート:TCP, 500 宛先アドレス:192.168.0.10 変換対象のプロトコルとポート:TCP, 1701 宛先アドレス:192.168.0.10 変換対象のプロトコルとポート:TCP, 4500 宛先アドレス:192.168.0.10 変換対象のプロトコルとポート:UDP, 1723 宛先アドレス:192.168.0.10 この状態でクライアント側でxxx.xxx.xxx.xx(グローバルIP)に対してVPN接続を試みると、 正しく接続ができ、afpやsmbを使用してVPNサーバのプライベートIP宛に接続を試みても、共有フォルダ等にアクセスができましたので問題ありません。 VPNに接続したクライアントにはプライベートIP:192.168.0.14が割り当てられました。 しかし、同じようにafpやsmbを使用してVPNサーバと同じLAN環境下にある 外付けHDDなどストレージのプライベートIP(192.168.0.2)宛に接続を試みると、タイムアウトとなり失敗してしまいます。 解消法としてルータに静的ルーティングの設定を下記のように行いました。 宛先IPアドレス: 192.168.0.0 インタフェース:ゲートウェイ ゲートウェイ: 192.168.0.10(VPNサーバのプライベートIP) すると、ストレージにも接続が可能になりました。 この原理の認識が合っているのかどうかわからなかったので質問させてください。 下記の認識であっておりますでしょうか? ■スタティック・ルーティングを指定していなかった時の現象 これは、ストレージ(プライベートIP:192.168.0.2)に対して リクエストのパケットは届いて、レスポンスのパケットをルータに返したけど、 ルータがパケットの送信元であるクライアント(192.168.0.14)の場所を知らないから、 パケットを届けられず破棄されてクライアント側はタイムアウトとなり、エラーになった ■スタティック・ルーティングを指定した場合 ストレージからルータへレスポンスのパケットが渡され、 192.168.0.14(クライアント)の場所が分からないので、 ゲートウェイに指定されている192.168.0.10(VPNサーバ)にパケットを送った。 VPNサーバは192.168.0.14(クライアント)を知っているので、 そこに送るように宛先を書き換えて再度ルータに送り返し、 ルータはクライアントにパケットを届けることができた。 もし間違っている場合は、ご指摘いただけますと幸いです。 よろしくお願いいたします。

    • ベストアンサー
    • VPN
  • 固定IPをNATされている方に質問です。

    よろしくお願い致します。 自分は固定IP4つ保有しており、 192.168.1.1⇔123.123.123.1 ルータ 192.168.1.2⇔123.123.123.2 PC 192.168.1.3⇔123.123.123.3 サーバ のようなNATの設定をしております。 このような状態でPCからサーバのグローバル(123.123.123.3)に アクセスするとログには192.168.1.1からアクセス有りのログが 出ます。 このような時ルータのインターフェースが送信もととなるのは 正しい動きなのでしょうか? また、違うとするとどのIPが送信元となるのでしょうか? (IPマスカーレードなど設定した覚えなし) まったく違う外部サーバにパケットを送るとき元はNATされた グローバルで出るのはわかるのですが、 簡単にいうと、自分の持っているグローバルIPにパケットを送るとき 送信元IPは普通どのIPになるのか。 わかりにくいと思いますがよろしくお願い致します。