ESXi 上の Docker で実行されている Unifi コントローラをデフォルトの VLAN に接続し、他のコンテナとコンテナ ホストをデフォルトの VLAN から分離する

ESXi 上の Docker で実行されている Unifi コントローラをデフォルトの VLAN に接続し、他のコンテナとコンテナ ホストをデフォルトの VLAN から分離する

6 つの物理 NIC を備えた ESXi 6.7 ホストがあります。これらの NIC は次のように構成されています。

スイッチ0: vスイッチ0

vスイッチ1: vスイッチ1

vSwitch0 に割り当てられた NIC は、ESXi を管理する特定の VLAN に対してポートがタグ付けされていない Netgear スイッチに物理的に接続されています。

vSwitch1 に割り当てられた NIC は、ESXi ホストで実行されている仮想マシンで使用できるようにする VLAN (VLAN 10 および 50) でポートがタグ付けされた Netgear スイッチに物理的に接続されています。現在、ESXi ホストの仮想マシンは、VLAN 10 にのみ構成されています。

最近 Docker を試していたので、Ubuntu Server 22.04 仮想マシンを立ち上げて Docker ホストとして実行しました。Unifi コントローラー コンテナーを追加し、アクセス ポイントの CLI 内から「set inform」コマンドを使用して、アクセス ポイントをコントローラーに組み込むことができました。

私は Unifi ネットワークの拡張を検討しており、さらに調査した結果、デバイスの導入プロセスを効率化するには、Unifi コントローラーをデフォルトの VLAN に接続する必要があることに気付きました。ここから状況が複雑になってきます...

コンテナがデフォルト VLAN にアクセスするには、まずコンテナ ホストをデフォルト VLAN に接続する必要があると考えました。新しい vSwitch (vSwitch2) を作成することでこれを実現しようとしました。vSwitch2 に関連付けられた物理 NIC は、タグなしトラフィック専用に構成された Netgear スイッチに接続されています。専用の vSwitch を介してこの特定の VM へのタグなしトラフィックを分離する方が、すべてのサーバーにデフォルト VLAN へのアクセスを許可するよりも安全だと考えました。

スイッチ2: スイッチ2

次に、Docker ホストに 2 番目の NIC を追加しました。 2 つの NIC を備えた Docker イメージ

この 2 番目の NIC は、DHCP 経由で IP アドレスを受け取りませんでした。スイッチ構成に問題があるのではないかと考え、テスト目的で 2 番目の NIC を VLAN 10 に割り当て、次に VLAN 50 に割り当ててみました。驚いたことに、DHCP 経由で IP アドレスを受け取りませんでした。この時点で、2 番目の NIC が IP アドレスを受け取らないのは、Ubuntu Server VM 内で何かが誤って構成されているためであることが明らかです。構成変更を大量に行うという迷路に陥る前に、次のことをお聞きしたいと思いました。

  1. Unifi コントローラーと他の将来のコンテナーに Docker ホストを使用したい場合、この場合、ホストを 2 つの別々のネットワークに接続することは意味がありますか?
  2. Docker ホストを複数のネットワークに接続し、ホストがそれらのネットワークのうちの 1 つからのみアクセスできるようにすることは可能ですか? 可能であれば、これはどのように実現されますか?
  3. コンテナにアクセスするには、Docker ホストにネットワーク上の IP アドレスが必要ですか (コンテナが macvlan ネットワーク用に構成されていると仮定)。
  4. Unifi コントローラーを macvlan ネットワークで構成するのは意味があるでしょうか?
  5. デフォルトの VLAN を分離するために、別の vSwitch (vSwitch2) を構成することは正しい選択でしたか?
  6. セキュリティの観点から、アーキテクチャ/ネットワーク トポロジの変更は必要ですか?

関連情報