將 ESXi 上 Docker 中執行的 Unifi 控制器連接到預設 VLAN,同時將其他容器和容器主機與預設 VLAN 隔離

將 ESXi 上 Docker 中執行的 Unifi 控制器連接到預設 VLAN,同時將其他容器和容器主機與預設 VLAN 隔離

我有一台帶有 6 個實體網路卡的 ESXi 6.7 主機。這些 NIC 配置如下:

vSwitch0: vSwitch0

v交換器1: vSwitch1

分配給 vSwitch0 的網路卡實際連接到 Netgear 交換機,該交換機的連接埠未針對我希望從中管理 ESXi 的特定 VLAN 進行標記。

指派給 vSwitch1 的網路卡實體連接到 Netgear 交換機,該交換器的連接埠標記有我希望可供 ESXi 主機中執行的虛擬機使用的 VLAN(VLAN 10 和 50)。目前,我的 ESXi 主機中的虛擬機器僅配置為位於 VLAN 10 上。

我最近一直在嘗試使用 Docker,因此我啟動了一個 Ubuntu Server 22.04 虛擬機器作為我的 Docker 主機運行。我新增了一個 Unifi 控制器容器,並透過使用存取點 cli 中的「set inform」命令,成功將我的存取點納入控制器中。

我正在考慮擴展我的 Unifi 網絡,在做了一些進一步的研究後,我意識到為了簡化設備採用過程,我需要將我的 Unifi 控制器添加到我的預設 VLAN 中。這對我來說事情開始變得複雜...

為了讓容器存取預設 VLAN,我認為需要先將容器主機連接到預設 VLAN。我嘗試透過建立一個新的 vSwitch (vSwitch2) 來實現此目的。與 vSwitch2 關聯的實體網路卡綁定到僅針對未標記流量配置的 Netgear 交換器。我認為透過專用 vSwitch 將未標記的流量隔離到該特定虛擬機器比允許所有伺服器存取預設 VLAN 更安全。

v交換器2: vSwitch2

然後我為我的 Docker 主機新增了第二個網路卡。 具有 2 個 NIC 的 Docker 映像

第二個 NIC 未透過 DHCP 接收 IP 位址。我認為我可能遇到了交換器配置問題,因此出於測試目的,我嘗試將第二個網卡分配給 VLAN 10,然後分配給 VLAN 50。此時,很明顯地第二個 NIC 未接收到 IP 是由於我的 Ubuntu Server VM 中的某些配置錯誤造成的。在進行大量配置更改之前,我想問以下問題:

  1. 如果我想將 Docker 主機用於 Unifi 控制器以及其他未來的容器,在這種情況下將主機連接到兩個獨立的網路是否有意義?
  2. 是否可以將 Docker 主機連接到多個網絡,但確保只能從其中 1 個網路存取該主機?如果是這樣,這是如何實現的?
  3. 我的 docker 主機是否需要在網路上有 IP 位址才能存取容器(假設容器配置為 macvlan 網路)。
  4. Unifi 控制器設定 macvlan 網路是否有意義?
  5. 配置單獨的 vSwitch (vSwitch2) 是隔離預設 VLAN 的正確選擇嗎?
  6. 從安全角度來看,我是否需要更改架構/網路拓撲?

相關內容