傳送橋接通訊協定資料單位 (BPDU) 框架的虛擬機器 (如 VPN 用戶端) 會導致某些連線到相同連接埠群組的虛擬機器中斷連線。傳輸 BPDU 框架可能也會中斷主機或父系 vSphere HA 叢集的連線。

問題

應傳送 BPDU 框架的虛擬機器導致同一個連接埠群組中虛擬機器的外部網路流量遭封鎖。

如果虛擬機器在屬於 vSphere HA 叢集的主機上執行,則主機會在特定條件下處於網路隔離狀態,您會發現叢集中的主機上發生拒絕服務 (DoS)。

原因

最佳做法是,連線到 ESXi 主機的實體交換器連接埠啟用 [連接埠快速] 和 BPDU 防護,以強制執行跨距樹狀目錄通訊協定 (STP) 的界限。標準交換器或分散式交換器均不支援 STP,而且不會傳送任何 BPDU 框架至交換器連接埠。但是,如果受到危及的虛擬機器中的任何 BPDU 框架到達面向 ESXi 主機的實體交換器連接埠,則 BPDU 防護功能將停用該連接埠,以阻止這些框架對網路的跨距樹狀目錄拓撲產生影響。

在某些情況下,虛擬機器應傳送 BPDU 框架 (例如,在部署透過 Windows 橋接器裝置或橋接器功能連線的 VPN 時)。如果與實體介面卡 (處理來自此虛擬機器的流量) 配對的實體交換器連接埠具有 BPDU 防護,則該連接埠不會出現錯誤,而且虛擬機器和使用主機實體介面卡的 VMkernel 介面卡無法再與外部網路通訊。

如果連接埠群組的整併和容錯移轉原則包含更多作用中上行,則 BPDU 流量將移至下一個作用中上行的介面卡。新的實體交換器連接埠將被停用,而且更多的工作負載無法與網路交換封包。最終,ESXi 主機上幾乎所有實體都可能無法連線。

如果虛擬機器在屬於 vSphere HA 叢集的主機上執行,而且該主機由於連線到它的大多數實體交換器連接埠被停用而處於網路隔離狀態,則該叢集中作用中的主要主機會將 BPDU 傳送方虛擬機器移到另一台主機。虛擬機器會開始停用連線到新主機的實體交換器連接埠。跨 vSphere HA 叢集移轉最終將導致在整個叢集中出現累積的 DoS。

解決方案

  • 如果 VPN 軟體必須繼續在虛擬機器上運作,則允許從虛擬機器傳出流量並個別設定實體交換器連接埠來傳遞 BPDU 框架。
    網路裝置 組態
    分散式交換器或標準交換器

    將連接埠群組上的 [偽造的傳輸] 安全性內容設定為接受,以允許 BPDU 框架離開主機並到達實體交換器連接埠。

    透過將虛擬機器置於單獨的連接埠群組中並將實體介面卡指派給群組,可以隔離 VPN 流量的設定和實體介面卡。

    注意: 將 [偽造的傳輸] 安全性內容設定為 接受以支援主機傳送 BPDU 框架,這一作業具有安全性風險,因為受到危及的虛擬機器可能會執行詐騙攻擊。
    實體交換器
    • 使 [連接埠快速] 保持啟用狀態。
    • 對於個別連接埠啟用 BPDU 篩選器。當 BPDU 框架到達連接埠時,將被篩選掉。
    備註: 請勿全域啟用 BPDU 篩選器。如果全域啟用 BPDU 篩選器,則 [連接埠快速] 模式將被停用,並且所有實體交換器連接埠將執行一組完整的 STP 功能。
  • 若要在均連線到第 2 層網路的兩個虛擬機器 NIC 之間部署橋接器裝置,請允許從虛擬機器中傳出 BPDU 流量並停用 [連接埠快速] 和 BPDU 迴圈防止功能。
    網路裝置 組態
    分散式交換器或標準交換器

    將連接埠群組上安全性原則的 [偽造的傳輸] 內容設定為接受,以允許 BPDU 框架離開主機並連線實體交換器連接埠。

    透過將虛擬機器置於單獨的連接埠群組中並將實體介面卡指派給群組,可以隔離橋接器流量的設定以及一或多個實體介面卡。

    注意: 將 [偽造的傳輸] 安全性內容設定為 接受以支援橋接器部署,這一作業具有安全性風險,因為受到危及的虛擬機器可能會執行詐騙攻擊。
    實體交換器
    • 對虛擬橋接器裝置的連接埠停用 [連接埠快速],以便在其上執行 STP。
    • 對於面對橋接器裝置的連接埠停用 BPDU 防護和篩選器。
  • 任何情況下,透過在 ESXi 主機或實體交換器上啟動 BPDU 篩選器可保護環境不受 DoS 攻擊。
    • 在執行 ESXi 4.1 Update 3、ESXi 5.0 Patch 04 及更新的 5.0 版本,以及 ESXi 5.1 Patch 01 及更新版本的主機上,按以下方式之一啟用客體 BPDU 篩選器,然後將主機重新開機:
      • vSphere Web Client 中主機的設定索引標籤上的 [進階系統設定] 資料表中,將 Net.BlockGuestBPDU 內容設定為 1
      • 在主機的 ESXi Shell 中,輸入以下 vCLI 命令:
        esxcli system settings advanced set -o /Net/BlockGuestBPDU -i 1
    • 在未實作客體 BPDU 篩選器的主機上,對虛擬橋接器裝置的實體交換器連接埠啟用 BPDU 篩選器。
      網路裝置 組態
      分散式交換器或標準交換器 將連接埠群組上安全性原則的 [偽造的傳輸] 內容設定為拒絕
      實體交換器
      • 保持 [連接埠快速] 組態。
      • 對個別實體交換器連接埠啟用 BPDU 篩選器。BPDU 框架到達實體連接埠時,將被篩選出。
      備註: 請勿全域啟用 BPDU 篩選器。如果全域啟用 BPDU 篩選器,則 [連接埠快速] 模式將被停用,並且所有實體交換器連接埠將執行一組完整的 STP 功能。