ifconfig
を使用すると、 単一のネットワークインターフェイスカードに複数のIPアドレスを構成する を実行できます。なぜそれをしたいのか、後でいくつかのアドレスをどのように利用するのか。ソフトウェアはどの方法を使用するかをどのようにして知るのですか?
これまでは、単一のIPアドレスを持つネットワークインターフェイスのみを使用してきました。
いくつかの(すべてではない)理由:
Webサーバーの場合は、状況によって異なります。複数の仮想ホストがある場合、たとえばApacheでは、サーバーはVirtualHostブロックから使用するIPを認識しています。
<VirtualHost 10.10.10.1:80>
...
</VirtualHost>
また、Apacheが現在リッスンしているすべての利用可能なインターフェースでVirtualHostをリッスンすることもできます(Listenディレクティブを使用して、例:Listen *:80
<VirtualHost *:80>
...
</VirtualHost>
複数のサイトでSSLが有効になっているサーバーで複数のサイトを実行している場合は、サイトごとに個別のIPを設定することをお勧めします。これは、SSL証明書がHTTPヘッダーが送信される前に交換されるためです。 1つのIPに複数のvhostがある場合、ApacheはHostヘッダーなしで到達しようとしているサイトを認識しません。
他にも多くのユースケースがあると思いますが、これは一般的なものです。
複数のIPアドレスを使用すると、サービスIPを使用できます。つまり、sendmailのように、IPを特定のサービスと一致させることができます。
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=192.168.1.25')dnl
等々。高い可用性、テストおよびネットワークルーティングに使用できます^^
個別のサービスに個別のIPを設定することをお勧めします。その場合、サービスの1つを別のハードウェア/場所に移行する必要がある場合、他のコンポーネントは透過的になります。
一部のサービスは同じポート番号を使用するため、単一のサーバーでこのサービスを実行するにはいくつかのIPが必要です。
また、一時ポートよりも多くの同時接続を処理する場合は、より多くのIPが必要になります。