web-dev-qa-db-ja.com

外部IPアドレス、サブネットマスク、およびSSH-すべてはどのように機能しますか?

インターネットを介して別のネットワーク内のコンピューター上のネットワーク上の特定のコンピューターに接続する方法について、私は本当に混乱しています。たとえば、私の家ではbeowulfクラスターが常に実行されています。ワードリストからのパスワードのブルートフォーシングなどのハードコア計算に使用します。今、私が自分のラップトップを使用しているが、他の誰かのLAN上のどこかにいるとしましょう。 beowulfクラスター内のマスターノードの外部IPを知っていますが、すべてのノードの中でインターネットに接続されているのはこのIPだけです。ただし、クラスターと同じLAN上のデスクトップに外部IPを取得すると、同じ外部IPが取得されます。私の理解では、外部IPはそのLAN上のすべてのデバイスで同じになります。 beowulfクラスターのマスターノード、デスクトップ、スマートTV(たとえば)の外部IPは、すべて同じモデムを経由するため、すべて同じである必要があります。そして、サブネットマスクは、LAN上のどのノード(すべてのデバイス間で共有される外部IP)からデータが送信されるかを決定します。もしそうなら、デスクトップでSSHポート22も開いている場合、SSH経由でクラスター内のマスターノードに具体的に接続して、作業するための情報を送信するにはどうすればよいですか? 2台以上のマシンがLAN上にあり、それらのマシンがすべてSSHを実行していて、そのLANが2台のマシンで共有される外部IPによってのみ参照できる場合、そのLAN内のどのマシンに接続するかを指定するにはどうすればよいですか?

3
Zulfe

サブネットマスク

サブネットマスクは、1つのネットワーク内のコンピューターをサブネットにグループ化するためにのみ使用されます。

IPv4アドレスには、合計32ビットの4つのオクテットが含まれています。 LAN上にコンピューターがほとんどなく、次のIPとサブネットマスクが割り当てられているとします。

  1. IP 192.168.0.1、マスク255.255.255.0
  2. IP 192.168.0.6、マスク255.255.255.0
  3. IP 192.168.1.1、マスク255.255.255.248
  4. IP 192.168.1.6、マスク255.255.255.248
  5. IP 192.168.1.12、マスク255.255.255.248

どのコンピューターがどのサブネットに属しているかを判別するには、IPアドレスにマスクを適用する必要があります。

  • IPとマスクをバイナリに変換する

    1. IP 11000000 10101000 00000000 00000001、マスク11111111 11111111 11111111 00000000
    2. IP 11000000 10101000 00000000 00000110、マスク11111111 11111111 11111111 00000000
    3. IP 11000000 10101000 00000001 00000001、マスク11111111 11111111 11111111 11111000
    4. IP 11000000 10101000 00000001 00000110、マスク11111111 11111111 11111111 11111000
    5. IP 11000000 10101000 00000001 00001100、マスク11111111 11111111 11111111 11111000
  • 論理「and」操作を実行します。 IPとマスクの両方に1がある1ビットをコピーし、0sで穴を埋めます

    1.    11000000 10101000 00000000 00000001
        & 11111111 11111111 11111111 00000000
        -------------------------------------
        = 11000000 10101000 00000000 00000000
    
    2.    11000000 10101000 00000000 00000110
        & 11111111 11111111 11111111 00000000
        -------------------------------------
        = 11000000 10101000 00000000 00000000
    
    3.    11000000 10101000 00000001 00000001
        & 11111111 11111111 11111111 11111000
        -------------------------------------
        = 11000000 10101000 00000001 00000000
    
    4.    11000000 10101000 00000001 00000110
        & 11111111 11111111 11111111 11111000
        -------------------------------------
        = 11000000 10101000 00000001 00000000
    
    5.    11000000 10101000 00000001 00001100
        & 11111111 11111111 11111111 11111000
        -------------------------------------
        = 11000000 10101000 00000001 00001000
    
  • 結果を10進数に戻す

    1. 192.168.0.0
    2. 192.168.0.0
    3. 192.168.1.0
    4. 192.168.1.0
    5. 192.168.1.8
  • これらは、コンピューターのサブネットアドレスです。コンピューターのサブネットアドレスが同じである場合、それらは同じサブネットに属します。

    • コンピューター1と2は1つのサブネットに属しています
    • コンピューター3と4は別のサブネットに属しています
    • コンピューター5は3番目のサブネットに属しています

サブネットは、ローカルネットワーク内でのみ重要です。 1つに接続されたコンピューター スイッチ 。次に、スイッチは、スイッチとモデムの間でネットワークパケットをルーティングするルーターに接続されます。おそらく、これら3つすべてが1つのデバイスに含まれています。

スイッチ、ルーター、モデム

  • スイッチ-2台以上のコンピューターを接続できます。複数のネットワークケーブルを単純にはんだ付けして多くのコンピューターに接続することはできません。スイッチを使用する必要があります。

  • モデム-異なるネットワーク標準間の双方向変換を提供します。 ISPは一般的なLANとは異なる標準のネットワークを使用しているため、ネットワークパケットを自分のフォーマットに変換し、パケットをそのフォーマットに変換するモデムが必要です。

  • ルーター-2つのネットワーク間のルーターrouteパケット。異なるネットワーク内の2つのスイッチを相互に接続するだけではなく、それらの間にルーターが必要です。ルーターには、接続されているすべてのネットワークに1つのIPアドレスがあります。

ネットワークは次のようになります。

            +-----------------------------------------+        
            |                                         |        
    PC1 +---------+                                   |        
            |     |                                   |        
            |   +--------+   +--------+   +-------+   |        
    PC2 +-------+ Switch +---+ Router +---+ Modem +-------+ ISP
            |   +--------+   +--------+   +-------+   |        
            |     |                                   |        
    PC3 +---------+                                   |        
            |                                         |        
            +-----------------------------------------+        

ルーティングはどのように機能しますか?

左側のコンピューターには3つのIPアドレスがあります。

  • 192.168.0.1
  • 192.168.0.2
  • 192.168.0.3

ルーターのLAN側のアドレスもあります。

ただし、右側には、いわゆる「パブリックIP」と呼ばれるIPアドレスが1つしかありません。これはルーターのインターネット側のアドレスです。外部の誰かがネットワーク内のコンピューターと話したい場合、どのコンピューターと話したいかをどのように指定しますか?

答えは:彼はできません。ネットワーク内のコンピューターと外部から話し始めることはできません。インターネット上の人々はあなたのルーターとしか通信できません。

ただし、この種のネットワークはまったく役に立たず、インターネットからデータをダウンロードできるようです。それで、それはどのように機能しますか?接続を開始したため、機能します。ネットワーク内のコンピューターが外部と通信しようとすると、ルーターはインターネット側のポートの1つをそのコンピューターのポートに割り当てます。誰かがそのポートに応答した場合、ルーターはこれらのパケットをどこに転送するかを知っています。この手法は、ネットワークアドレス変換(略してNAT)と呼ばれます。

ネットワーク内のコンピューターに外部からどのように接続しますか?

接続を開始する必要があるのはネットワーク内のコンピューターであるため、ルーターを適切に構成しないとできません。相手側のコンピューターにパブリックIPがある場合にのみ機能しますが、これはほとんどありません。ネットワークはおそらく次のようになります。

    +----------------+                            +-----------------------+
    |                |                            |                       |
    |  Your cluster  |                            |     Other network     |
    |                |                            |                       |
    |    PC1 +---+   |                            |   +---+ Other PC      |
    |            |   |     +----------------+     |   |                   |
    |            |   |     |                |     |   |     The computer  |
    |    PC2 +-------------+  THE INTERNET  +-------------+ you're using  |
    |            |   |     |                |     |   |     to connect    |
    |            |   |     +----------------+     |   |                   |
    |    PC3 +---+   |                            |   +---+ Other PC      |
    |                |                            |                       |
    +----------------+                            +-----------------------+

これらのネットワークは両方とも境界にルーターがあり、これらのルーターは両方ともNATを使用しているため、逆方向接続のセットアップは機能しません。

クラスターに接続する方法は?

ルーターでポート転送を構成する必要があります。

ポートフォワーディングは、ルーターのインターネット側ポートの1つをコンピューターの1つのポートに永続的にバインドします。

たとえば、ルーターのポート5432をクラスター内のPC1のポート22(デフォルトのSSHポート)に転送できます。次に、ポート5432でパブリックIPにSSHで接続すると、実際にはポート22でPC1に接続します。

クラスタ内の別のPCに接続する場合は、次の2つの方法があります。

  • 別のポートを別のマシンに転送する

  • PC1を​​使用します。 PC1はLANに接続されており、ルーティングやNATなしでLAN内の他のコンピューターと通信できます。転送ポートを介してPC1にSSHで接続し、次にPC1からPC2にSSHで接続できます。これは直接接続よりも効率的ではありませんが、追加の構成は必要ありません。

5
gronostaj

スティックの端が間違っているため、IPv4サブネット化がどのように機能するかを調べてから、NAT-PMPについて読む必要があると思います。ただし、一言で言えば:

インターネットとネットワークの2つのネットワークがあります。これらは完全に分離されていますが、中央のNATルーターを除きます。外の世界(つまり、自分の外のサブネット)に接続する場合、コンピューターは「ゲートウェイ」または「デフォルトルート」に接続します。これがNATルーターになります。次に、ルーターは、接続を説明する内部の一時的なルールセットを使用して、コンピューターとインターネットの間でトラフィックをやり取りします。

外界からネットワークに接続するには、NATポートマッピングルールを設定する必要があります。外部IPアドレスはそれだけです。ルーターのWANポート、インターネットへの接続を識別する1つのIPアドレス。これは、すべてのコンピューターがNATを使用して共有します。ルーターのインターフェースを使用して、ルーターのWANインターフェース上の特定のポートへのトラフィックが内部ネットワーク上のサービスにリダイレクトされるようにルールを設定する必要があります。

例えば3台のコンピューターがあります-192.168.0.100、192.168.0.101、192.168.0.102、サブネットマスク255.255.255.0。これらの3台のコンピューターはすべてポート22でSSHを実行しています。外部IPアドレスは123.4.5.6です。

3つの別々のSSHサーバーにアクセスするには、3つの外部ポートを3つの内部IPアドレス/ポートの組み合わせにマップする必要があります。例えば.

123.4.5.6:22222 -> 192.168.0.100:22
123.4.5.6:22223 -> 192.168.0.101:22
123.4.5.6:22224 -> 192.168.0.102:22

この機能はNATルーターに組み込まれています。ルーターのモデルに合わせてこれを設定するための具体的な手順を見つけることができるはずです。私はあなたが行って、最初にいくつかの読書をすることをお勧めします!

HTH!

0
Hygrinet