0

私は、既存の VOIP レガシー システムを Docker 化された形式に変換するプロジェクトの真っ最中です。既存のシステムは 5 台の異なる Linux マシンで構成され、各マシンには 2 つの異なるネットワーク インターフェイスがあり、1 つはパブリック WAN に公開され、もう 1 つはプライベート LAN ネットワークです。オーケストレーションをセットアップするための docker compose ファイルを作成する予定です。

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

サーバー #1 Eth0: IP 192.168.0.200/24 Eth1: IP XXX65/27

サーバー #2 Eth0: IP 192.168.0.201/24 Eth1: IP XXX66/27

サーバー #3 Eth0: IP 192.168.0.202/24 Eth1: IP XXX87/27

サーバー #4 Eth0: IP 192.168.0.203/24 Eth1: IP YYY240/27

サーバー #5 Eth0: IP 192.168.0.204/24 Eth1: IP YYY241/27

サーバー 1 ~ 3 は同じサブネットの一部であり、サーバー 4 ~ 5 も同様です。

このネットワーク設定を docker ネットワークに変換する最善の方法を見つけようとしています。すべてのコンテナーでパブリック IP (Eth1 上のもの) を保持する必要があります。つまり、コンテナーから生成されたトラフィックは、元のパブリック IP と同じパブリック IP を保持します。サーバー) だけでなく、同じプライベート ネット上の他のすべての Docker コンテナーと通信できるようにすると同時に、管理を容易にし、オーバーヘッドを最小限に抑えます。

docker-compose を使用して 3 つの macvlan ネットワークと 1 つのブリッジ ネットワークを作成しましたが、問題は、DNS 解決がすべてのコンテナーに、それが属する Macvlan ネットワークで指定した IP アドレスを提供することです。たとえば、2 つの Docker がブリッジ ネットワークに割り当てられているとします。同じ Macvlan ネットワークに対して、他の各コンテナー名を解決すると、ブリッジ IP アドレスではなく Macvlan アドレスが提供されます。BRIDGE ネットワークのみを介してすべてのコンテナー間の通信を強制したいと考えています (基本的に Macvlan ネットワークをプライベート モードに設定します)。どうすればそれを達成できますか?

4

1 に答える 1