Eine virtuelle Maschine, die BPDU-Frames (Bridge Protocol Data Unit) sendet (z. B. ein VPN-Client), bewirkt, dass bei virtuellen Maschinen, die mit derselben Portgruppe verbunden sind, die Verbindung getrennt wird. Die Übertragung von BPDU-Frames kann auch die Verbindung des Hosts oder des übergeordneten vSphere HA-Clusters trennen.

Problem

Eine virtuelle Maschine, die BPDU-Frames senden soll, bewirkt, dass der Datenverkehr zum externen Netzwerk der virtuellen Maschinen in derselben Portgruppe blockiert wird.

Falls die virtuelle Maschine auf einem Host ausgeführt wird, der Bestandteil eines vSphere HA-Clusters ist, und falls der Host unter bestimmten Bedingungen vom Netzwerk isoliert wird, treten Denial-of-Service-Fehler (DoS) auf den Hosts im Cluster auf.

Ursache

Es empfiehlt sich, für einen physischen Switch-Port, der mit einem ESXi-Host verbunden ist, Port-Fast und BPDU-Guard zu aktivieren, um die Begrenzung des Spanning-Tree-Protokolls (STP) zu erzwingen. STP wird von einem Standard-Switch oder Distributed Switch nicht unterstützt, und es werden keine BPDU-Frames an den Switch-Port gesendet. Wenn jedoch ein BPDU-Frame von einer manipulierten virtuellen Maschine an einem physischen Switch-Port eintrifft, der auf einen ESXi-Host verweist, deaktiviert die BPDU-Guard-Funktion den Port, um eine Beeinträchtigung der Spanning-Tree-Topologie des Netzwerks durch die Frames zu verhindern.

In bestimmen Fällen soll eine virtuelle Maschine BPDU-Frames senden, beispielsweise beim Bereitstellen eines VPN, das über ein Windows-Bridge-Gerät oder über eine Bridge-Funktion verbunden ist. Wenn für die Kombination aus physischem Switch-Port und physischem Adapter, von der der Datenverkehr dieser virtuellen Maschine verarbeitet wird, BPDU-Guard aktiviert ist, ist der Port aufgrund eines Fehlers deaktiviert. Die virtuellen Maschinen und die VMkernel-Adapter, die den physischen Adapter des Hosts verwenden, können nicht mehr mit dem externen Netzwerk kommunizieren.

Falls die Teaming- und Failover-Richtlinie der Portgruppe mehr aktive Uplinks enthält, wird der BPDU-Datenverkehr auf den Adapter für den nächsten aktiven Uplink verschoben. Der neue physische Switch-Port wird deaktiviert, weshalb für weitere Arbeitslasten keine Pakete mit dem Netzwerk ausgetauscht werden können. Schließlich sind fast alle Entitäten auf dem ESXi-Host nicht mehr erreichbar.

Falls die virtuelle Maschine auf einem Host ausgeführt wird, der Bestandteil eines vSphere HA-Clusters ist, und falls der Host vom Netzwerk isoliert wird, da die meisten verbundenen physischen Switch-Ports deaktiviert sind, verschiebt der aktive primäre Host im Cluster die virtuelle Maschine des BPDU-Absenders auf einen anderen Host. Die virtuelle Maschine beginnt mit dem Deaktivieren der physischen Switch-Ports, die mit dem neuen Host verbunden sind. Die Migration im vSphere HA-Cluster führt letztlich zu einer Häufung von DoS-Fehlern im gesamten Cluster.

Lösung

  • Falls die VPN-Software noch auf der virtuellen Maschine verwendet werden muss, lassen Sie den ausgehenden Datenverkehr für die virtuelle Maschine zu und konfigurieren Sie den physischen Switch-Port so, dass die BPDU-Frames übertragen werden.
    Netzwerkgerät Konfiguration
    Distributed Switch oder Standard-Switch

    Legen Sie die Sicherheitseigenschaft „Gefälschte Übertragungen“ in der Portgruppe auf Akzeptieren fest, damit BPDU-Frames aus dem Host übertragen werden und den physischen Switch-Port erreichen.

    Sie können die Einstellungen und den physischen Adapter für den VPN-Datenverkehr isolieren, indem Sie die virtuelle Maschine einer separaten Portgruppe hinzufügen und den physischen Adapter der Gruppe zuweisen.

    Vorsicht: Die Festlegung der Sicherheitseigenschaft „Gefälschte Übertragungen“ auf Akzeptieren, damit BPDU-Frames von einem Host gesendet werden können, beinhaltet ein Sicherheitsrisiko, da eine manipulierte virtuelle Maschine Spoofing-Angriffe ausführen kann.
    Physischer Switch
    • Lassen Sie Port-Fast aktiviert.
    • Aktivieren Sie den BPDU-Filter für den betreffenden Port. Wenn ein BPDU-Frame am Port eintrifft, wird er herausgefiltert.
    Hinweis: Aktivieren Sie den BPDU-Filter nicht global. Wenn der BPDU-Filter global aktiviert wird, wird der Port-Fast-Modus deaktiviert und alle physischen Switch-Ports führen den kompletten STP-Funktionssatz aus.
  • Um ein Bridge-Gerät zwischen zwei VM-Netzwerkkarten bereitzustellen, die mit demselben Layer 2-Netzwerk verbunden sind, lassen Sie den ausgehenden BPDU-Datenverkehr für die virtuellen Maschinen zu und deaktivieren Sie Port-Fast und die Verhinderung von BPDU-Schleifen.
    Netzwerkgerät Konfiguration
    Distributed Switch oder Standard-Switch

    Legen Sie die Eigenschaft „Gefälschte Übertragungen“ der Sicherheitsrichtlinie in den Portgruppen auf Akzeptieren fest, damit BPDU-Frames aus dem Host übertragen werden und den physischen Switch-Port erreichen.

    Sie können die Einstellungen und einen oder mehrere physische Adapter für den Bridge-Datenverkehr isolieren, indem Sie die virtuelle Maschine einer separaten Portgruppe hinzufügen und die physischen Adapter der Gruppe zuweisen.

    Vorsicht: Die Festlegung der Sicherheitseigenschaft „Gefälschte Übertragungen“ auf Akzeptieren, um die Bridge-Bereitstellung zu ermöglichen, beinhaltet ein Sicherheitsrisiko, da eine manipulierte virtuelle Maschine Spoofing-Angriffe ausführen kann.
    Physischer Switch
    • Deaktivieren Sie Port-Fast auf den Ports zum virtuellen Bridge-Gerät, um STP darauf auszuführen.
    • Deaktivieren Sie BPDU-Guard und filtern Sie nach den Ports, die auf das Bridge-Gerät verweisen.
  • Schützen Sie die Umgebung auf jeden Fall vor DoS-Angriffen, indem Sie den BPDU-Filter auf dem ESXi-Host oder dem physischen Switch aktivieren.
    • Aktivieren Sie auf einem Host mit ESXi 4.1 Update 3, ESXi 5.0 Patch 04 und späteren 5.0-Versionen sowie ESXi 5.1 Patch 01 und höher den Gast-BPDU-Filter mithilfe einer der folgenden Methoden und starten Sie den Host neu:
      • Setzen Sie in der Tabelle für erweiterte Systemeinstellungen auf der Registerkarte Konfigurieren für den Host im vSphere Web Client die Eigenschaft „Net.BlockGuestBPDU“ auf 1.
      • Geben Sie in einer ESXi Shell für den Host den folgenden vCLI-Befehl ein:
        esxcli system settings advanced set -o /Net/BlockGuestBPDU -i 1
    • Aktivieren Sie auf einem Host, für den der Gast-BPDU-Filter nicht implementiert ist, den BPDU-Filter auf dem physischen Switch-Port zum virtuellen Bridge-Gerät.
      Netzwerkgerät Konfiguration
      Distributed Switch oder Standard-Switch Setzen Sie die Eigenschaft „Gefälschte Übertragungen“ der Sicherheitsrichtlinie in der Portgruppe auf Ablehnen.
      Physischer Switch
      • Behalten Sie die Port-Fast-Konfiguration bei.
      • Aktivieren Sie den BPDU-Filter für den betreffenden physischen Switch-Port. Wenn ein BPDU-Frame am physischen Port eintrifft, wird er herausgefiltert.
      Hinweis: Aktivieren Sie den BPDU-Filter nicht global. Wenn der BPDU-Filter global aktiviert wird, wird der Port-Fast-Modus deaktiviert und alle physischen Switch-Ports führen den kompletten STP-Funktionssatz aus.