異なる目的のために、同じインターフェース上の同じサブネット内に異なるIPのセットがあります。
192.168.1.201..230はサーバー用です(すべてLinux)
192.168.1.1..199は、これらのサーバーで実行されているサービス用です
結果として、すべてのサーバーは、同じ物理インターフェイス上に複数のIP(2つ以上の場合もあります)を持っています。アイデアは、あるサーバーから別のサーバーにサービスを簡単に移動できるようにすることでした。
特定のIPにバインドされていないサービス(sshなど)がいくつかありますが、すべての「本番」サービス(プロキシ、DNS、NTPなど)は、1つの特定のIP(およびDNS名)にバインドされています。サービスが移動された場合は、別のサーバーに移動されます。
さて、この設定は「ベストプラクティス」とは見なされないかもしれませんが、これまでのところ、これによって引き起こされる問題はまったくありません。しかし、私がこれについて話している多くの人々は、「そのような設定で非常に悪いことが起こるのは時間の問題です」と言い続けます-それが何であるかを明確に述べることはできません。現在、かなりの労力を必要とする長期的にセットアップを変更する必要があるかどうかについて話し合っています。基本的に私はこれを変えることに賛成と反対の議論を探しています。
だからこれが問題です:そのような設定ではどのような「悪いこと」が予想されるのでしょうか?それは、特定のことをするか、または控えることによって常に回避できるものですか?問題を実証し、セットアップを変更する必要性を示すために「トリガー」できる問題はありますか?
他の人が追加したように、これは、サービスがすべてOPアドレスにバインドされ、特定のアドレスから見る必要のあるこれらのサーバーからの要求を発信しない限り、正常に機能します。
サービスの性質によっては、ネットワーク設定のセキュリティ/ファイアウォールへの影響、特に必要なファイアウォールの複雑さの増加、および攻撃のリスクの増加/横方向への拡散の危険性についても考慮する必要があります。
それはあなたの問題を解決しません(しかしそれはそれを減らすことができます)-あなたは任意のIP範囲のように見えるものを提供しました-代わりに、なぜあなたは異なるネットブロックに範囲を配置しませんか-スペースが問題でないなら、おそらくシーケンシャルクラスCは/ 23境界にあります。または、スペースが問題になる場合は、1-190および193-254?
すべて(または少なくとも重要なすべて)を特定のアドレスにバインドできる限り、問題はありません。
問題は、特定のアドレスにバインドできないアプリケーションから始まります。アプリケーションは、インターフェイス上の多くのIPの1つを送信元アドレスとして選択し、その選択は特に一貫していない可能性があります。これは反対側で物事を壊すかもしれません。
これは、何らかの理由でカーネルによって送信されるパケットにも当てはまります。また、多くの送信元アドレスのいくつかを選択します。
Iptablesまたはtcを使用してより複雑なネットワーキングを開始するかどうかも重要です。
これらのいずれもサーバーに当てはまらない場合は、問題ありません。これらのいずれかが実現し始めた場合は、いつでもネットワーク名前空間を追加できます(すべてのサービス、またはバインドできず、サーバーの単一の「メイン」アドレスを使用することが保証されているもののいずれか)。
サーバー上に複数のIPアドレスがあることには何の問題もありませんが、私は時々これを自分で行います。より高度なセットアップでは、これをBGPと組み合わせて、冗長性を備えたサービスの複数のインスタンスを実行できるようにします。
このような設定で私を悩ませたのは3つだけであり、そのうちの1つは、BGPに関連しているため、この質問にはあまり関係がありません。
0.0.0.0
または*
を聞いていると、驚きが生じる可能性があります。複数のアドレスでリッスンする場合は、多くの場合、複数のListen
ディレクティブを使用することをお勧めします(多くのソフトウェアがこれをサポートしています)