異なる都市に2つのデバイスがあり、どちらも同じプライベートIPアドレスを持っています。それらを通信させるにはどうすればよいですか(SSH、RDP、FTP、Telnetなど)。詳しく説明してください。
ありがとうございました
あなたは2つの標準的な住宅用または商用インターネット接続について話していると思います(専用回線やVPNなどでリンクされた2つのサイトではありません)。
以下のネットワークの例では、インターネットを介して接続された2つの建物と1つのサーバー(世界中のどこにでも)があります。 _R1
_と_R2
_の2つのルーターがあり、それぞれに異なるpublic IPアドレス(または "external "IPアドレス)。
建物内では、ルーターとデバイスはすべて共通のIPアドレスを共有しています-ルーター(_R1
_および_R2
_)はprivateを使用します= _192.168.0.1
_のIP、およびデバイス(DA
およびDB
)はprivate _192.168.0.10
_のIPを使用します。
建物の外部では、ルーターのIPアドレスは異なりますpublic IPアドレス-_203.0.113.5
_と_203.0.113.219
_。サーバーはpublic IPアドレス_203.0.113.42
_でアクセスできます。
ここでは、2種類のIPアドレスに重要な違いがあります。詳細については、wikiページ「 予約済みIPアドレス "」を参照してください。
DA
がインターネット上のサーバーまたはホスト(たとえば、_203.0.113.42
_)にアクセスするには、ルーターからの支援を受ける必要があります-_203.0.113.42
_はローカルネットワークからアクセスできないためです。そのため、構成されたルーター(_R1
_)にパケットを送信し、ルーターはパケットをインターネットに転送します。
この場合、ルーターはパケットをわずかに書き換え、「送信元アドレス」をDA
のアドレスではなく_R1
_のパブリックアドレス(_203.0.113.5
_)としてマークします。 (_192.168.0.10
_)。その後、パケットが_R1
_に返されると、接続テーブルがチェックされ、宛先がDA
になるようにパケットが書き直され、ローカルネットワークに転送されます。
これは ネットワークアドレス変換 (NAT)と呼ばれ、ルーター自身のアドレスを使用するための発信パケットの書き換えは「マスカレード」と呼ばれます-すなわち:すべてのアウトバウンドパケットは、背後にあるデバイスではなく、ルーターから発信されたように見えます。
これにより、プライベートネットワーク上のデバイス(例:DA
およびDB
)とインターネット上のパブリックサーバー間の通信が可能になります。
ビルAのネットワーク内で提供されるいくつかのサービスを提示するには、_R1
_を_203.0.113.42
_...のサーバーのように見せかける必要があります。これを行うには、 ポート転送 を導入します。
これは、ポートで着信接続要求を受け入れるように_R1
_を構成できるようにする手法です(たとえば、_22
_ for [〜#〜] ssh [〜#〜] ) 、サービスを提供しているプライベートネットワーク内の別のホストに転送します。
この場合、DA
にはポート_22
_で実行されているSSHサーバーがあるため、外部インターフェイス(つまり、_R1
_)のポート22を内部インターフェイスのサーバーに転送するように_203.0.113.5:22
_を構成します。 (例:_192.168.0.10:22
_)。
ポート転送を構成したので、DB
は_R1
_のパブリックアドレス...(_203.0.113.5
_、ポート_22
_)に接続することでDA
のSSHサーバーにアクセスできます。 注:DB
はDA
のプライベートIPアドレスを使用しないか、知る必要はありません。その逆も同様です。
ネットワークアドレス変換が自動的に処理され、チェーン全体は次のようになります。
DB
はパケットを_R2
_に送信します-ソース:_192.168.0.10
_、宛先:_203.0.113.5
_R2
_はパケットを書き換えます-ソース:_203.0.113.219
_、宛先:_203.0.113.5
_ R2
_はインターネット経由でパケットを送信し、_R1
_はそれを受信しますR1
_はパケットを書き換えます-ソース:_203.0.113.219
_、宛先:_192.168.0.10
_ R1
_はローカルネットワーク経由でパケットを送信し、DA
はそれを受信しますリターンパス/応答は逆です。
DA
はパケットを_R1
_に送信します-ソース:_192.168.0.10
_、宛先:_203.0.113.219
_R1
_はパケットを書き換えます-送信元_203.0.113.5
_、宛先:_203.0.113.219
_ R1
_はインターネット経由でパケットを送信し、_R2
_はそれを受信しますR2
_はパケットを書き換えます-ソース:_203.0.113.5
_、宛先:_192.168.0.10
_ R2
_はローカルネットワーク経由でパケットを送信し、DB
はそれを受信しますご覧のとおり、衝突するプライベートアドレスはまったく問題ではありません。_192.168.0.10
_が送信元と宛先の両方と見なされる状況、または2つのインターフェイスを介して到達できる状況に単一のデバイスが存在することはありません。これが本当なら、リンクは明らかに機能しません。
いくつかの注意: