
プライベート ネットワークから、NAT を使用せずにパブリック サーバー (つまり、パブリック IP アドレスを持つサーバー) にアクセスすることは可能ですか? つまり、パブリック アドレスをサーバーに割り当て、プライベート アドレスをイントラネット内のホストに割り当てた場合、イントラネットはパブリック サービスを提供できますか?
答え1
いいえ。
プライベート ネットワークは、おそらくパブリック IP アドレスにパケットを送信できます (プライベート ネットワークに、パブリック インターネットとプライベート内部ネットワークの両方にインターフェイスを持つ適切に構成されたルーターがあることを前提としています)。ただし、パブリック インターネット上のサーバーは、NAT されていないプライベート ネットワークに応答を返すことができません。これは、サーバーが応答データをどこに送信すればよいかわからないためです。
コンピュータがネットワーク上で互いに IP で通信するには、通信相手の IP アドレスと、その IP アドレスに到達するための次のステップを知っておく必要があります。IP アドレスが同じサブネット内にある場合、コンピュータはローカル サブネット上で「IP アドレス wxyz を持っているのは誰か」と尋ね、応答したコンピュータと直接通信します。IP が同じサブネット上にない場合、コンピュータはルーティング テーブルの指示に従います (通常、IP 構成で「デフォルト ゲートウェイ」としてリストされているローカル ルータにパケットを送信します)。
パケットを受信する各インターネットワーク ノード (この時点では通常ルーター) は、宛先 IP アドレスを確認し、チェーン内のどのホップがこのパケットを最終宛先に届けるかを同様に判断します。パケットが最終的に目的の場所に届くまで、この処理が繰り返されます。
しかし、これはすべて、宛先がパケット ヘッダーにリストされていること (IP プロトコルで要求されているように) と、ゲートウェイとルーターが IP が属するネットワークにデータを送信する方法を知っていることに依存します。NAT されていないプライベート IP アドレスがある場合、それらのルーターはパケットを配信する方法を知らず、パケットを破棄します。これは、永久に消えてしまう「デッド レター」の電子版になります。
NATはパブリックIPアドレス(またはアドレス)を使用しますes) は、プライベート ネットワークの通信を仲介するフロントマンとして機能します。NAT デバイスは、送信トラフィックを検出すると、ヘッダーの「このアドレスで返信してください」という部分を、自身のパブリック IP を使用するように変更します。また、NAT デバイスは、通信を中継する相手を示すルックアップ テーブルを保持し、応答が届いたときに、プライベート ネットワーク上の適切な IP に転送できるようにします。このアドレス変換機能がなければ、プライベート ネットワーク上のコンピューターは、パブリック インターネット上のコンピューターと TCP/IP で通信できません。
答え2
上部の「いいえ」を除けば、@Ruscal の回答は正しいですが不完全です。
答えは、非常に限定的ながら「はい、設定方法に応じて、限られた範囲で時々可能です」です。
回避策は少なくとも2つあります -しかし、これらすべてには、プライベートIPでアクセスでき、インターネットにアクセスできるシステムが必要です。たとえば、パブリックIPを持つ2番目のインターフェースなどです。- これはルーターでは一般的であり、サーバーでも珍しいことではありません(ただし一般的ではありません)
上記の場合の回避策は次のとおりです。
- そのシステムをプロキシとして使用します。
- そのシステムと外部システムの間に VPN を設定し、そのシステムを介して VPN またはトンネルを使用します。