を使用して、単一のネットワークインターフェイスカードに複数のIPアドレスifconfig
を設定できます。なぜ私はそれをしたいのですか、そしてどのようにソフトウェアがどのアドレスを使用するかをどのように知るのでしょうか?
これまで、単一のIPアドレスを持つネットワークインターフェイスのみを使用しました。
を使用して、単一のネットワークインターフェイスカードに複数のIPアドレスifconfig
を設定できます。なぜ私はそれをしたいのですか、そしてどのようにソフトウェアがどのアドレスを使用するかをどのように知るのでしょうか?
これまで、単一のIPアドレスを持つネットワークインターフェイスのみを使用しました。
回答:
いくつかの(すべてではない)理由:
Webサーバーの場合、依存します。複数の仮想ホストがある場合、たとえばApacheでは、サーバーはVirtualHostブロックから使用するIPを認識します。
<VirtualHost 10.10.10.1:80>
...
</VirtualHost>
また、Apacheが現在リッスンしているすべての使用可能なインターフェイスでVirtualHostをリッスンさせることもできます(Listenディレクティブなどを使用します。 Listen *:80
<VirtualHost *:80>
...
</VirtualHost>
複数のサイトでSSLが有効になっているサーバーで複数のサイトを実行している場合は、サイトごとに個別のIPを用意することをお勧めします。これは、HTTPヘッダーが送信される前にSSL証明書が交換されるためです。1つのIP上に複数の仮想ホストがある場合、Apacheはホストヘッダーなしでアクセスしようとしているサイトを認識しません。
私は他にも多くのユースケースがあると確信しています。これは一般的なものです。
サービスごとに個別のIPを用意することをお勧めします。サービスの1つを別のハードウェア/場所に移行する必要がある場合、他のコンポーネントに対して透過的になります。
一部のサービスは同じポート番号を使用するため、単一のサーバーでこのサービスを実行するには複数のIPが必要です。
また、一時ポートよりも多くの同時接続を処理する場合は、より多くのIPが必要になります。
Listen
またはBinds
ホスト上のすべてのIPに対して。