アプリ版:「スタンプのみでお礼する」機能のリリースについて

インターネットのことを色々調べているのですが、どうにも分からなかったので教えてください。

グローバルIPがないと外部からアクセスできないということは分かったのですが、自作サーバーに外部からアクセスできない理由がよく分かりません。

ルーターがローカルIPをグローバルIPに変換し、インターネットに繋げている(誤っているかもしれませんが)ので、

「インターネットに繋がる」=「グローバルIPを持っている」

という認識を持っています。
ですが、現状だと外部からはサーバーにアクセスができません。
これはルーターを介してネットに繋げているためでしょうか?
その場合、グローバルIPを所持しているのはルーターで、ルーターには外部からアクセスできるということでしょうか?

A 回答 (2件)

引き続き、回答いたします。



>外部からアクセスしてきたPCに対して、「サーバーのローカルIPはこれだよ」と教えてあげることで、
>複数のPCがあっても間違いなくサーバーにアクセスできる、という考えは恐らく合っていると思います。

少しご認識違いをなされているようです。
ルータはあくまで、外部からアクセスしてきた通信を「サーバに転送する」だけです。
ローカルIPを外部のPCに教えてあげても、外部からローカルIPにはアクセスできません。
外部PCはあくまでグローバルIPにアクセスしていて、グローバルIPしか知りません。
そのグローバルIP宛ての通信を受け取ったルータが、ローカルIPのサーバに手渡ししてあげるのです。

>DHCPとはいえ、そんなにIPアドレスは変わるものなんでしょうか?

DHCPで割り当てできるIPアドレスには限りがあります。
たとえば人の入れ替わりの激しいオフィスなどで、一つ一つのPCに一意のIPを割り振っていると、
あっという間にIPアドレスがなくなってしまいます。
そのため、ルータは一定期間アクセスのなかったPCから、割り当てたIPアドレスをリリースして、
別のPC向けに再利用するような使い方をします。
この「一定期間」はルータの設定によって変わりますが、24時間立ち上げているようなサーバの場合
DHCPによって割り当てられたアドレスが変わることはほとんどありません。
固定IPをサーバ側で設定している場合にはアドレスは変わりませんが、DHCPが割り振るIPアドレスと
競合しないよう注意してください。
(ルータによっては、サーバのMACアドレスを見て、サーバだけは常に同じIPアドレスを割り振る
 よう設定できるものもあります)

>ポート解放について

ポート解放は、ルータとPC(サーバ)のどちらも実施する必要があります。

1. ルータのインターネット側IPアドレスのあるポートを解放する。(ルータの設定)
2. 解放したポートにアクセスがあった場合、ローカルIPのサーバに転送する。(ルータの設定)
3. 転送された通信を受け取れるよう、ローカルIPアドレスのあるポートを解放する。(PCの設定)

この1~3を満たして、はじめてインターネットからの通信がローカルPCに届くようになります。
    • good
    • 0
この回答へのお礼

>ルーターの役割について
>ポートの解放について

ポートの解放の方でご説明頂いたことからも、ルーターはあくまで橋渡し的な役割しかしていないのですね。
「ローカルIPのアドレスが変わる可能性がある」ことから、ルータ側で管理する方が効率的ですし、
サーバー側の情報を開示しないでネットを通信させるので、セキュリティとしても安心に思えます。


>DHCPについて

ローカルIPがそのように再利用されているとは知りませんでした!
グローバルIPには限りがあることは分かっていましたが、ローカルIPまでは頭が回っていませんでした。
たまに電源を付けるようなPCにipアドレスからアクセスする場合は注意が必要ですね。


今回のことで、分からずに苦しんでいたことがすっきりしました。
本当にありがとうございます。
凄い勉強になりました!

お礼日時:2015/06/09 23:43

こんばんは、初めまして。


ほぼ現時点では正しいご理解をされているように感じるので、まずはQuickで回答します。

>その場合、グローバルIPを所持しているのはルーターで、ルーターには外部からアクセスできるということでしょうか?

ご認識の通りです。
質問者さんがインターネットに接続しているグローバルIPに対してインターネット側からアクセスすると、
まずは質問者さんが経由しているルータへのアクセスとなります。

通常、ルーターは不正なアクセスを避けるため、内部から外部への通信の応答以外で、外部からアクセスがあると
自動的にそれを遮断するような設定になっています。
そのため、質問者さんがインターネットから自宅サーバにアクセスしようとしても、ルーターがそれを遮断するため
アクセスすることができません。

それを避けるためには、ルーターに「外部からの通信をサーバに転送する」設定を入れる必要があります。
「ポート解放」などの用語で調べていただければ、設定についてはより詳しくわかると思います。
もし何かわからないことがありましたら、また質問ください。
    • good
    • 0
この回答へのお礼

なるほど、ありがとうございます。
ルーターが外部からのアクセスを拒否してくれているのですね。

ポートの解放が外部からのアクセスを承認する、という意味であることを踏まえ、
別の疑問が出て来たので再度質問させてください。

よろしくお願いします。


外部からアクセスしてきたPCに対して、「サーバーのローカルIPはこれだよ」と教えてあげることで、複数のPCがあっても間違いなくサーバーにアクセスできる、という考えは恐らく合っていると思います。

ただ、サーバーのローカルIPがDHCPではローカルIPが変更される場合があるとありました。

DHCPとはいえ、そんなにIPアドレスは変わるものなんでしょうか?
ハブの口が変わったとき位しか思いつかないのですが、固定IPを設定していればそうなってもアドレスは変わらないのでしょうか。

また、ポートの解放はルーターではなくPCの設定のようにみえるのですが、これは外部からの接続があったとしても特定のローカルIPであれば、ルーターはアクセスを承認するのでしょうか。

すみませんが教えていただけると嬉しいです。
よろしくお願いします。

お礼日時:2015/06/05 00:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!