web-dev-qa-db-ja.com

デバイスとネットワークインターフェイスのIPアドレス

私は以下の関係を理解し​​ようとしています:

  • 「ネットワーク化された」Linuxデバイス。そして
  • そのデバイス上にある物理的なNICカード(「ネットワーク化」できるようにする));および
  • さまざまなイーサネット/ Wi-Fiネットワークインターフェイス(eth0eth1wlan0など)。そして
  • IPアドレスとポート

私が収集したものから、それは出現各インターフェース(ここでも、eth0eth1wlan0など)には独自の一意のIPが割り当てられています。私のマシンでの意味eth0は、たとえばwlan1とは異なるIPを持っています。

しかし、これは、ネットワークデバイス全体がデバイス全体に対して単一のIPを受信するという私の理解とは矛盾しています。

どっち?デバイスはすべてのインターフェイスで1つのIPを使用しますか、それとも各インターフェイスは実際に独自のIPを取得しますか?それぞれが独自に取得する場合、そのインターフェイスで使用可能なポートの数は何によって決まりますか?

11
Zac

IPトラフィックがネットワークインターフェースを通過する場合、各ネットワークインターフェースには独自のIPアドレスが割り当てられます。

たとえば、ほとんどの家庭や小規模オフィスが持っているルーター/モデムデバイスを例にとります。

ルーターの内側にあるコンピューター/ラップトップへの接続があります-それがWiFiであろうとイーサネットであろうとこれらは通常、191.168.0.0 - 192.168.255.254または10.0.0.0 - 10.255.255.254のプライベートアドレス範囲にあります。デスクトップ/ラップトップ/タブレットはデバイスのこちら側に接続し、同じ範囲のデバイスとIPアドレスを持ちます(ただし、デバイスとは異なります)。

ルーター/モデムの外側には、通常、サービスプロバイダーによってデバイスに自動的に割り当てられる完全に別のIPアドレスがあります。これは98.23.45.62などのルーティング可能なアドレスで、モデム/ルーターが接続されている間はグローバルに一意です。

これらの小さなモデム/ルーターは、アドレスが1つしかないように見えるため、混乱する可能性があります-Webブラウザー(http://192.168.0.1など)を介してデバイスを管理するためのユーザーマニュアルに記載されているアドレス-イーサネットポート。これは、ルーターの単一のイーサネットポートを複数のポートに分割し、WiFiブリッジを接続するために、デバイスに基本的にルーターにタグ付けされたネットワークスイッチがあるためです。

同時に、ルーター/モデムの外部側のIPアドレスはサービスプロバイダーによって自動的に設定されるため、表示されないこともあります。 (タイプ 私のIPアドレスは何ですか それが何であるかを知るためにグーグルで)。

図が役立つ場合があります。

                                                                 +--------+
                                                                 | laptop |
                                                                 +--------+
+-----+                +-------------+              +--------+       | 10.0.0.2
|     |98.23.45.61     |             |10.0.0.1      |        |-------+
| ISP |----------------+ modem/router|--------------| switch |
|     |     98.23.45.62|             |              |        |-------+
+-----+                +-------------+              +--------+       | 10.0.0.3
                                                                  +---------+
                                                                  | desktop |
                                                                  +---------+

ご覧のとおり、モデム/ルーターには2つのIPアドレスがあり、各ネットワークインターフェイスに1つずつあります。デスクトップとラップトップには1つあります。ルーターに接続されているネットワーキングデバイス上です。ほとんどのモデム/ルーターは、ほとんどのラップトップと同様にWiFi接続とイーサネット接続を備えています。イーサネットケーブルをラップトップに接続し、ラップトップのWiFiを有効にして構成する場合も、2つのIPアドレス(各デバイスに1つ)があり、どちらも10.0.0.xアドレス範囲にあります。それはあなたに問題を考えさせるだけです-しないでください。

ポートは、宛先IPアドレスに付加された単なる数値です。これは、オフィスの交換機の内線電話に似ており、トラフィックを受信するサービスを決定します。これは16ビットの数値で、可能な最大数は65535です。ただし、これらの非常に小さなサブセットのみが使用されます。一部は事前に割り当てられています よく知られたポート ポート80のhttpトラフィックやポート22のセキュアシェル(ssh)など。これらのポートは、デバイスの製造元によってインストールされた関連サービスがデバイスで実行されている場合にのみ開いてトラフィックをリッスンします。

上記のモデムルーターの場合、Webサーバーを実行してWebブラウザーを使用してデバイスを管理できるため、ポート80は内部でリッスンします。一部のルーターには、ポート22でリッスンするsshサービスがあり、sshクライアントを使用してデバイスを管理できます。ルーターでもDNSサーバーが実行されているため、おそらくポート53が開いています。

そのデバイスにサービスをインストールしていない限り、ラップトップにはおそらく(うまくいけば)ポートが待機していません。上の図では、デスクトップPCにsshサーバーサーバーをインストールできます。この時点で(およびファイアウォールで許可されている場合)、デスクトップでポート22が開かれます。次に、ラップトップはデスクトップのポート22にsshでログインできます。

したがって、デバイスのポート数は、そのデバイスで実行されているサービスの数、そのサービスの構成、およびファイアウォールの構成にまで及びます。

上記の例で、sshサーバーをデスクトップ上で実行し、インターネット上のどこかでリモートユーザーからアクセスできるようにしたい場合、内部アドレスは多数ありますが、外部(98.23.45.62)。

これを解決するには、次の機能を設定する必要があります。 ポート転送 ルーターで。これは、特定のポートに到着するすべてのトラフィックを取得して特定の内部ホストおよびポートに転送するようにルーターに指示します。

この場合、ポート22に到着するすべてのトラフィックは10.0.0.2ポート22に転送されます。収集したように、これはポート22を1つの内部サーバーにのみ転送できることを意味します。

デスクトップとラップトップの両方にSSH接続できるようにしたい場合は、代替の外部ポート(2022など)でリッスンするようにルーターを構成し、10.0.0.2ポート22でラップトップに転送する必要があります。 。リモートユーザーは、デスクトップにアクセスするにはssh 98.23.45.62を、ラップトップにアクセスするにはssh -p 2022 98.23.45.62を実行する必要があります。

もちろん、静的IPアドレスを明示的に要求または購入しない限り、外部IPアドレスが変更される可能性があるため、これは必ずしも単純ではありません。

10
garethTheRed

「デバイス」はオーバーロードされたWordです。マシンを意味する場合もあれば、マシンの周辺機器やインターフェースを意味する場合もあります。

各ネットワークインターフェイスには独自のアドレスがあります。

各マシンには、ネットワークインターフェイスの数に応じて、ゼロ、1つ、または複数のアドレスがあります。

単純なケースでは、各物理ネットワークインターフェイスには1つのIPアドレスがあり、システムには ループバックインターフェイス もあり、プログラムはこれを使用して同じマシンで実行されているプログラムと通信します。各インターフェイスには個別のIPアドレスがあります。非常に多くの複雑な設定が可能ですが(ボンディング、エイリアス、ローカルアドレスなど)、基本的な直感は、各IPアドレスが1つのインターフェースに対応するということです。

ネットワーク経由でマシンにアクセスするときは、IPアドレスを使用するため、実際にはそのマシンの特定のネットワークインターフェイスにアクセスします。ほとんどの場合、リモートマシンから到達できるインターフェイスは1つだけであり、プログラムはすべてのインターフェイスの接続を受け入れるため、違いはありません。ただし、サーバーが単一のインターフェースでのみリッスンすることは可能です。

デバイスには複数のネットワークインターフェイスがある場合があります。これらは実際のデバイス( NICs )に対応するか、または virtual になります。

使用可能にする(つまり、接続を開始またはリッスンする)には、各インターフェースにIPアドレスが必要です。通常、インターフェースごとに1つのIPがありますが、 IPエイリアス を介して複数のIPを設定することもできます。

各IPアドレスの個々の接続は、ポート番号で識別されます。 IPプロトコルによって課されるIPアドレスごとに65536ポートの制限があります。 IPエイリアスの背後にある1つの理由は、この制限を克服することです。

したがって、最終的にデバイスには必要な数のIPを含めることができます(理由の範囲内-インターフェースの数にカーネルによって課された制限があると思います)管理できるIP)。これは、所有しているネットワークインターフェイスアダプターの数とは完全に独立しています。一方、お使いのデバイスには、少なくとも使用中のネットワークインターフェイスと同じ数のIPがあります

1

デバイスは、システム内のラベルで表される物理的なアイテムです。このようにして、システムは物理デバイスの設定/クエリ/使用などのさまざまなアクションを実行できます。ラベルは、カーネルシステムで物理ハードウェアを管理するドライバーによって作成されます。

そのため、複数のネットワークデバイスを使用でき、それぞれにuniqラベルが付けられています(ボンディングに関する話を複雑にしすぎないようにしてください)。

あなたの問題はIPアドレスについてです。

いくつかの異なるIPアドレスクラスがあります。あなたは、インターネット上のどこからでもアクセスできるパブリックなものと、通常プライベートエリア(例としてはホーム/ビジネスネットワーク)に制限されているプラ​​イベートアドレスを持っています。

通常、ホームネットワークまたはオフィスネットワークには、いくつかのパブリックIPアドレスと多くのプライベートアドレスがあります(家族全員のラップトップ/モバイル/タブレット/冷蔵庫/トースター/の間)。

物理ハードウェアにはいくつでもIPアドレスを割り当てることができますが、複雑な問題に直面したくない場合は、適切に割り当て、基になるtcp/ipロジックを尊重する必要があります。

たとえば、ローカルネットワーク(LAN)で同じIPアドレスを持つ2つのハードウェアを使用することはできません。これは主に、MACアドレス(ハードウェアの一意の識別子)に基づくイーサネットプロトコルによるもので、ローカルネットワークではMACアドレスとIPアドレスの間に1対1の関係があります。

プロバイダーからのパブリックアドレスを持つ2つのハードウェアと、ローカルネットワーク内に1つある1つのマシンを使用することもできます。このマシンは通常、ローカルネットワーク内のすべてのマシンの外部世界へのゲートウェイのように使用されます。

0
netmonk