Verwalten von Netzwerken

Die Verfahren zur Netzwerkkonfiguration in diesem Abschnitt unterscheiden sich je nachdem, ob Sie einen eigenständigen Server oder einen Server konfigurieren, der Teil eines Ressourcenpools ist.

Server-übergreifende private Netzwerke

Frühere Versionen von HASH (0x2c1a078) ermöglichten es Ihnen, private Netzwerke mit einem Server zu erstellen, mit denen VMs, die auf demselben Host ausgeführt werden, miteinander kommunizieren können. Das serverübergreifende private Netzwerk feature, das das Konzept eines privaten Netzwerks mit einem Server erweitert, um es VMs auf verschiedenen Hosts zu ermöglichen, miteinander zu kommunizieren. Serverübergreifende private Netzwerke kombinieren die gleichen Isolationseigenschaften eines privaten Netzwerks mit einem Server, jedoch mit der zusätzlichen Möglichkeit, Hosts über einen Ressourcenpool hinweg zu erstrecken. Diese Kombination ermöglicht die Verwendung von VM-Agility-Funktionen wie Live-Migration für VMs mit Verbindungen zu serverübergreifenden privaten Netzwerken.

Server-übergreifende private Netzwerke sind isoliert. VMs, die nicht mit dem privaten Netzwerk verbunden sind, können keinen Datenverkehr in das Netzwerk schnüffeln oder injizieren. Dies geschieht auch dann, wenn sie sich auf demselben physischen Host befinden, bei dem VIFs mit einem Netzwerk auf demselben zugrunde liegenden physischen Netzwerkgerät (PIF) verbunden sind. VLANs bieten eine ähnliche Funktionalität. Im Gegensatz zu VLANs bieten serverübergreifende private Netzwerke jedoch isoliert, ohne dass eine physische Switch-Fabric konfiguriert werden muss, indem das GRE-IP-Tunneling-Protokoll (Generic Routing Encapsulation) verwendet wird.

Private Netzwerke bieten folgende Vorteile, ohne dass ein physischer Switch erforderlich ist:

  • Die Isolationseigenschaften privater Netzwerke mit einem Server

  • Die Möglichkeit, einen Ressourcenpool zu überspannen, sodass VMs, die mit einem privaten Netzwerk verbunden sind, auf mehreren Hosts innerhalb desselben Pools leben können

  • Kompatibilität mit Funktionen wie Live-Migration

Erstellen Sie serverübergreifende private Netzwerke auf einer Verwaltungsschnittstelle oder einer sekundären Schnittstelle, da sie eine IP-adressierbare Netzwerkkarte benötigen. Sie können jede IP-fähige Netzwerkkarte als zugrunde liegenden Netzwerk-Transport verwenden. Wenn Sie den serverübergreifenden privaten Netzwerkverkehr auf einer sekundären Schnittstelle ablegen möchten, muss sich diese sekundäre Schnittstelle in einem separaten Subnetz befinden.

Wenn sich Verwaltungs- oder sekundäre Schnittstellen im gleichen Subnetz befinden, wird der Datenverkehr falsch weitergeleitet.

Hinweise:

Um ein serverübergreifendes privates Netzwerk zu erstellen, müssen die folgenden Bedingungen erfüllt sein:

  • Alle Hosts im Pool müssen HASH (0x2c1a078) oder höher verwenden.

  • Alle Hosts im Pool müssen den vSwitch für den Netzwerkstack verwenden.

  • Der vSwitch Controller muss ausgeführt werden, und Sie müssen den Pool hinzugefügt haben. (Für den Pool muss ein vSwitch-Controller konfiguriert sein, der die Initialisierungs- und Konfigurationsaufgaben verarbeitet, die für die vSwitch-Verbindung erforderlich sind.)

  • Sie müssen das serverübergreifende private Netzwerk auf einer Netzwerkkarte erstellen, die als Verwaltungsschnittstelle konfiguriert ist. Dies kann die Verwaltungsschnittstelle oder eine sekundäre Schnittstelle (IP-fähiges PIF) sein, die Sie speziell für diesen Zweck konfigurieren, sofern sie sich in einem separaten Subnetz befindet.

Weitere Hinweise zur Konfiguration des vSwitch finden Sie untervSwitch und Controller. UI-basierte Verfahren zum Konfigurieren privater Netzwerke finden Sie in der Hilfe zu HASH (0x2e6c8e8).

Erstellen von Netzwerken auf einem eigenständigen Server

Da während der Hostinstallation externe Netzwerke für jede PIF erstellt werden, ist das Erstellen zusätzlicher Netzwerke in der Regel nur erforderlich, um:

  • Verwenden eines privaten Netzwerks

  • Unterstützung erweiterter Operationen wie VLANs oder NIC-Bonding

Informationen zum Hinzufügen oder Löschen von Netzwerken mithilfe von HASH (0x2e6c8e8) finden Sie in der HASH-Hilfe (0x2e6c8e8).

Öffnen Sie die HASH (0x2e68218) Server-Textkonsole.

Erstellen Sie das Netzwerk mit dem Befehl network-create, der die UUID des neu erstellten Netzwerks zurückgibt:

xe network-create name-label=mynetwork

Zu diesem Zeitpunkt ist das Netzwerk nicht mit einem PIF verbunden und ist daher intern.

Erstellen von Netzwerken in Ressourcenpools

Alle HASH-Server (0x2e68218) in einem Ressourcenpool müssen über die gleiche Anzahl physischer NICs (NICs) verfügen. Diese Anforderung wird nicht streng erzwungen, wenn ein Host mit einem Pool verbunden wird.

Da alle Hosts in einem Pool einen gemeinsamen Satz von Netzwerk teilen. Es ist wichtig, dass die gleiche physische Netzwerkkonfiguration für HASH-Server (0x2e68218) in einem Pool vorhanden ist. PIFs auf den einzelnen Hosts sind basierend auf dem Gerätenamen mit poolweiten Netzwerken verbunden. Beispielsweise verfügen alle HASH (0x2e68218) Server in einem Pool mit eth0-NIC über eine entsprechende PIF, die an das poolweiteNetwork 0 Netzwerk angeschlossen ist. Dasselbe gilt für Hosts mit eth1-NICs und anderen NICsNetwork 1, die in mindestens einem HASH-Server (0x2e68218) im Pool vorhanden sind.

Wenn ein HASH (0x2e68218) Server eine andere Anzahl von NICs als andere Hosts im Pool aufweist, können Komplikationen auftreten. Die Komplikationen können auftreten, da nicht alle Poolnetzwerke für alle Pool-Hosts gültig sind. Wenn sich beispielsweise die Hosts *host1 und host2 im selben Pool befinden und host1 vier NICs hat und host2 nur zwei hat, sind nur die Netzwerke gültig, die mit den PIFs verbunden sind, die eth0 und eth1 entsprechen.* VMs auf host1 mit VIFs, die mit Netzwerken verbunden sind, die eth2 und eth3 entsprechen, können nicht zu Host host2 migrieren.

Erstellen von VLANs

Für Server in einem Ressourcenpool können Sie denpool-vlan-create Befehl verwenden. Mit diesem Befehl wird das VLAN erstellt und automatisch die erforderlichen PIFs auf den Hosts im Pool erstellt und eingefügt. Weitere Informationen finden Sie unter Pool-vlan-erstellen.

Öffnen Sie die HASH (0x2e68218) -Serverkonsole.

Erstellen Sie ein Netzwerk für die Verwendung mit dem VLAN. Die UUID des neuen Netzwerks wird zurückgegeben:

xe network-create name-label=network5

Verwenden Sie denpif-list Befehl, um die UUID des PIF zu finden, die der physischen NIC entspricht, die das gewünschte VLAN-Tag unterstützt. Die UUIDs und Gerätenamen aller PIFs werden zurückgegeben, einschließlich aller vorhandenen VLANs:

xe pif-list

Erstellen Sie ein VLAN-Objekt, das den gewünschten physischen PIF- und VLAN-Tag auf allen VMs angibt, die mit dem neuen VLAN verbunden werden sollen. Eine neue PIF wird erstellt und an das angegebene Netzwerk angeschlossen. Die UUID des neuen PIF-Objekts wird zurückgegeben.

xe vlan-create network-uuid=network_uuid pif-uuid=pif_uuid vlan=5

Schließen Sie VM-VIFs an das neue Netzwerk an. Weitere Informationen Erstellen von Netzwerken in einem eigenständigen Server finden Sie unter.

Erstellen von NIC-Anleihen auf einem eigenständigen Host

Wir empfehlen, HASH (0x2e6c8e8) zum Erstellen von NIC-Anleihen zu verwenden. Anweisungen finden Sie in der Hilfe zu HASH (0x2e6c8e8).

In diesem Abschnitt wird beschrieben, wie Sie die xe-CLI verwenden, um NIC-Schnittstellen auf HASH (0x2e68218) Servern zu verbinden, die sich nicht in einem Pool befinden. Informationen zur Verwendung der xe-CLI zum Erstellen von NIC-Anleihen auf HASH-Servern (0x2e68218), die einen Ressourcenpool enthalten, finden Sie unter Erstellen von NIC-Anleihen in Ressourcenpools.

Erstellen einer NIC-Bindung

Wenn Sie eine Netzwerkkarte verbinden, absorbiert die Bindung die PIF/NIC, die als Verwaltungsschnittstelle verwendet wird. Ab HASH (0x2c1a078) wird die Management-Schnittstelle automatisch in die Bindungs-P IF verschoben.

  1. Verwenden Sie dennetwork-create Befehl, um ein Netzwerk für die gebundene Netzwerkkarte zu erstellen. Die UUID des neuen Netzwerks wird zurückgegeben:

    xe network-create name-label=bond0
    
  2. Verwenden Sie denpif-list Befehl, um die UUIDs der PIFs zu bestimmen, die in der Bindung verwendet werden sollen:

    xe pif-list
    
  3. Führen Sie einen der folgenden Schritte aus:

    • Um die Bindung im aktiv-aktiven Modus zu konfigurieren (Standard), verwenden Sie denbond-create Befehl, um die Bindung zu erzeugen. Geben Sie mithilfe von Kommas die neu erstellte Netzwerk-UUID und die UUIDs der zu gebundenen PIFs an:

       xe bond-create network-uuid=network_uuid /
            pif-uuids=pif_uuid_1,pif_uuid_2,pif_uuid_3,pif_uuid_4
      

      Geben Sie zwei UUIDs ein, wenn Sie zwei Netzwerkkarten anschließen, und vier UUIDs, wenn Sie vier Netzwerkkarten anschließen. Die UUID für die Bindung wird nach dem Ausführen des Befehls zurückgegeben.

    • Verwenden Sie die gleiche Syntax, fügen Sie den optionalenmode Parameter hinzu und geben Sie Folgendes an, um die Bindung im Aktiv-Passiv-lacp oder LACP-Bondmodus zu konfigurierenactive-backup :

       xe bond-create network-uuid=network_uuid pif-uuids=pif_uuid_1, /
            pif_uuid_2,pif_uuid_3,pif_uuid_4 /
            mode=balance-slb | active-backup | lacp
      

Steuern Sie die MAC-Adresse der Anleihe

Wenn Sie die Verwaltungsschnittstelle verbinden, werden die PIF/NIC, die als Verwaltungsschnittstelle verwendet wird, subsumiert. Wenn der Host DHCP verwendet, entspricht die MAC-Adresse der Bindung der verwendeten PIF/NIC. Die IP-Adresse der Verwaltungsschnittstelle kann unverändert bleiben.

Sie können die MAC-Adresse der Anleihe so ändern, dass sie sich von der MAC-Adresse für die (aktuelle) Verwaltungsschnittstellen-NIC unterscheidet. Da jedoch die Bindung aktiviert ist und sich die verwendete MAC/IP -Adresse ändert, werden vorhandene Netzwerksitzungen für den Host gelöscht.

Sie können die MAC-Adresse für eine Bindung auf zwei Arten steuern:

  • Ein optionalermac Parameter kann imbond-create Befehl angegeben werden. Sie können diesen Parameter verwenden, um die Bindungs-MAC-Adresse auf eine beliebige Adresse zu setzen.

  • Wenn dermac Parameter nicht angegeben ist, verwendet HASH (0x2c1a078) die MAC-Adresse der Verwaltungsschnittstelle, wenn es sich um eine der Schnittstellen in der Bindung handelt. Wenn die Verwaltungsschnittstelle nicht Teil der Bindung ist, sondern eine andere Verwaltungsschnittstelle ist, verwendet die Bindung die MAC-Adresse (und auch die IP-Adresse) dieser Verwaltungsschnittstelle. Wenn keine der Netzwerkkarten in der Bindung eine Verwaltungsschnittstelle ist, verwendet die Bindung den MAC der ersten benannten NIC.

NIC-Anleihen zurücksetzen

Wenn der HASH (0x2e68218) Server auf eine nicht gebundene Konfiguration zurückgesetzt wird, konfiguriert derbond-destroy Befehl automatisch den Primär-Slave als Schnittstelle für die Verwaltungsschnittstelle. Daher werden alle VIFs auf die Verwaltungsschnittstelle verschoben. Wenn die Management-Schnittstelle eines Hosts auf der getaggten VLAN-gebundenen Schnittstelle ist, wird das Management-VLAN bei der Ausführungbond-destroyin den primären Slave verschoben.

Der Begriff primär slave bezieht sich auf den PIF, von dem die MAC und die IP-Konfiguration beim Erstellen der Bindung kopiert wurden. Beim Binden von zwei NICs ist der primäre Slave:

  1. Die Netzwerkkarte der Verwaltungsschnittstelle (wenn die Verwaltungsschnittstelle eine der gebundenen Netzwerkkarten ist).

  2. Jede andere Netzwerkkarte mit IP-Adresse (wenn die Verwaltungsschnittstelle nicht Teil der Bindung war).

  3. Die erste NIC. Sie können herausfinden, welches es ist, indem Sie Folgendes ausführen:

    xe bond-list params=all
    

Erstellen von NIC-Anleihen in Ressourcenpools

Erstellen Sie nach Möglichkeit NIC-Bonds als Teil der anfänglichen Erstellung des Ressourcenpools, bevor Sie weitere Hosts mit dem Pool verbinden oder VMs erstellen. Dadurch kann die Bondkonfiguration automatisch auf Hosts repliziert werden, wenn sie mit dem Pool verbunden sind, und reduziert die Anzahl der erforderlichen Schritte.

Das Hinzufügen einer NIC-Bindung zu einem vorhandenen Pool erfordert eine der folgenden Optionen:

  • Verwenden der CLI, um die Anleihen auf dem Master und dann jedes Mitglied des Pools zu konfigurieren.

  • Verwenden Sie die CLI, um Bonds auf dem Master zu konfigurieren und dann jedes Poolmitglied neu zu starten, so dass es seine Einstellungen vom Master erbt.

  • Verwenden Sie HASH (0x2e6c8e8), um die Bonds auf dem Master zu konfigurieren. HASH (0x2e6c8e8) synchronisiert automatisch die Netzwerkeinstellungen auf den Mitgliedsservern mit dem Master, sodass Sie die Mitgliedsserver nicht neu starten müssen.

Zur Vereinfachung und zur Vermeidung von Fehlkonfiguration empfehlen wir die Verwendung von HASH (0x2e6c8e8) zum Erstellen von NIC-Anleihen. Weitere Informationen finden Sie in der Hilfe zu HASH (0x2e6c8e8).

In diesem Abschnitt wird die Verwendung der xe-CLI zum Erstellen von gebundenen NIC-Schnittstellen auf HASH (0x2e68218) Servern beschrieben, die einen Ressourcenpool enthalten. Informationen zur Verwendung der xe-CLI zum Erstellen von NIC-Anleihen auf einem eigenständigen Host finden Sie unter Erstellen von NIC-Anleihen auf einem eigenständigen Host.

Achtung:

Versuchen Sie nicht, Netzwerkanleihen zu erstellen, wenn die hohe Verfügbarkeit aktiviert ist. Der Prozess der Bindungsbildung stört die laufenden Hochverfügbarkeits-Herzschläge und bewirkt, dass Hosts sich selbst zäunen (sich selbst abschalten). Die Hosts können nicht ordnungsgemäß neu gestartet werden und benötigen möglicherweise denhost-emergency-ha-disable Befehl zur Wiederherstellung.

Wählen Sie den Host aus, der Master sein soll. Der Master-Host gehört standardmäßig zu einem unbenannten Pool. Um einen Ressourcenpool mit der CLI zu erstellen, benennen Sie den vorhandenen namenlosen Pool um:

xe pool-param-set name-label="New Pool" uuid=pool_uuid

Erstellen Sie die NIC-Bindung wie unter beschriebenErstellen einer NIC-Bindung.

Öffnen Sie eine Konsole auf einem Host, dem Sie dem Pool beitreten möchten, und führen Sie den Befehl aus:

xe pool-join master-address=host1 master-username=root master-password=password

Die Netzwerk- und Bindungsinformationen werden automatisch auf den neuen Host repliziert. Die Verwaltungsschnittstelle wird automatisch von der Host-NIC, wo sie ursprünglich konfiguriert wurde, in die gebundene PIF verschoben. Das heißt, die Managementschnittstelle wird nun in die Bindung aufgenommen, so dass die gesamte Bindung als Verwaltungsschnittstelle fungiert.

Verwenden Sie denhost-list Befehl, um die UUID des zu konfigurierenden Hosts zu finden:

xe host-list

Warnung:Versuchen

Sie nicht, Netzwerkanleihen zu erstellen, während die hohe Verfügbarkeit aktiviert ist. Der Prozess der Bindungsbildung stört die laufenden Hochverfügbarkeits-Herzschläge und bewirkt, dass Hosts sich selbst zäunen (sich selbst abschalten). Die Hosts können nicht ordnungsgemäß neu gestartet werden, und Sie müssen möglicherweise denhost-emergency-ha-disable Befehl ausführen, um die Wiederherstellung wiederherzustellen.

Konfigurieren einer dedizierten Speicher-NIC

Sie können HASH (0x2e6c8e8) oder die xe-CLI verwenden, um einer Netzwerkkarte eine IP-Adresse zuzuweisen und sie einer bestimmten Funktion, z. B. dem Speicherdatenverkehr, zuzuweisen. Wenn Sie eine Netzwerkkarte mit einer IP-Adresse konfigurieren, erstellen Sie eine sekundäre Schnittstelle. (Der für die Verwaltung verwendete IP-fähige NIC-HASH (0x2c1a078) wird als Verwaltungsschnittstelle bezeichnet.)

Wenn Sie eine sekundäre Schnittstelle für einen bestimmten Zweck reservieren möchten, stellen Sie sicher, dass die entsprechende Netzwerkkonfiguration vorhanden ist. Dadurch wird sichergestellt, dass die Netzwerkkarte nur für den gewünschten Datenverkehr verwendet wird. Um eine NIC dem Speicherdatenverkehr zuzuweisen, konfigurieren Sie die NIC, das Speicherziel, den Switch und das VLAN so, dass auf das Ziel nur über die zugewiesene NIC zugegriffen werden kann. Wenn Ihre physische und IP-Konfiguration den Datenverkehr, der über die Speicher-NIC gesendet wird, nicht einschränken, können Sie Datenverkehr, z. B. Verwaltungsdatenverkehr über die sekundäre Schnittstelle senden.

Wenn Sie eine neue sekundäre Schnittstelle für den Speicherdatenverkehr erstellen, müssen Sie der folgenden IP-Adresse zuweisen:

  • Im selben Subnetz wie der Speichercontroller, falls zutreffend, und

  • Nicht im selben Subnetz wie andere sekundäre Schnittstellen oder die Verwaltungsschnittstelle.

Wenn Sie sekundäre Schnittstellen konfigurieren, muss sich jede sekundäre Schnittstelle in einem separaten Subnetz befinden. Wenn Sie beispielsweise zwei weitere sekundäre Schnittstellen für die Speicherung konfigurieren möchten, benötigen Sie IP-Adressen in drei verschiedenen Subnetzen: ein Subnetz für die Verwaltungsschnittstelle, ein Subnetz für die sekundäre Schnittstelle 1 und ein Subnetz für die sekundäre Schnittstelle 2.

Wenn Sie Bonding für die Ausfallsicherheit Ihres Speicherdatenverkehrs verwenden, sollten Sie möglicherweise die Verwendung von LACP anstelle der Linux-Bridge-Bonding in Erwägung ziehen. Um LACP-Bonding zu verwenden, müssen Sie den vSwitch als Netzwerkstack konfigurieren. Weitere Informationen finden Sie unter vSwitch-Netzwerke.

Hinweis:

Wenn Sie eine Netzwerkkarte auswählen, die als sekundäre Schnittstelle für die Verwendung mit iSCSI- oder NFS-SRs konfiguriert werden soll, stellen Sie sicher, dass die dedizierte Netzwerkkarte ein separates IP-Subnetz verwendet, das von der Verwaltungsschnittstelle nicht routbar ist. Wenn dies nicht erzwungen wird, kann der Speicherdatenverkehr nach einem Host-Neustart aufgrund der Reihenfolge, in der Netzwerkschnittstellen initialisiert werden, über die Hauptverwaltungsschnittstelle geleitet werden.

Stellen Sie sicher, dass sich der PIF in einem separaten Subnetz befindet oder das Routing entsprechend Ihrer Netzwerktopologie konfiguriert ist, um den gewünschten Datenverkehr über den ausgewählten PIF zu erzwingen.

Richten Sie eine IP-Konfiguration für den PIF ein und fügen Sie entsprechende Werte für den Parameter mode hinzu. Wenn Sie eine statische IP-Adressierung verwenden, fügen Sie die Parameter IP, Netzmaske, Gateway und DNS hinzu:

xe pif-reconfigure-ip mode=DHCP | Static uuid=pif-uuid

Setzen Sie den disallow-unplug Parameter des PIF auf true:

xe pif-param-set disallow-unplug=true uuid=pif-uuid
xe pif-param-set other-config:management_purpose="Storage" uuid=pif-uuid

Wenn Sie eine sekundäre Schnittstelle für die Speicherung verwenden möchten, die auch von der Verwaltungsschnittstelle weitergeleitet werden kann (bedenkt man, dass diese Konfiguration nicht die beste Vorgehensweise ist), haben Sie zwei Möglichkeiten:

  • Stellen Sie nach einem Neustart des Hosts sicher, dass die sekundäre Schnittstelle korrekt konfiguriert ist. Verwenden Sie diexe pbd-unplug Befehlexe pbd-plug und, um die Speicherverbindungen auf dem Host neu zu initialisieren. Dieser Befehl startet die Speicherverbindung neu und leitet sie über die richtige Schnittstelle weiter.

  • Alternativ könnenxe pif-forget Sie die Schnittstelle auch aus der HASH-Datenbank (0x2c1a078) löschen und manuell in der Steuerungsdomäne konfigurieren. xe pif-forget ist eine erweiterte Option und erfordert, dass Sie mit der manuellen Konfiguration von Linux-Netzwerken vertraut sind.

Verwenden von SR-IOV-fähigen Netzwerkkarten

Single Root I/O Virtualization (SR-IOV) ist eine Virtualisierungstechnologie, mit der ein einzelnes PCI-Gerät als mehrere PCI-Geräte auf dem physischen System angezeigt werden kann. Das eigentliche physische Gerät wird als Physical Function (PF) bezeichnet, während die anderen als Virtual Functions (VF) bezeichnet werden. Der Hypervisor kann einer virtuellen Maschine (VM) eine oder mehrere VFs zuweisen: Der Gast kann das Gerät dann so verwenden, als wäre es direkt zugewiesen.

Durch die Zuweisung einer oder mehrerer NIC-VFs zu einer VM kann der Netzwerkverkehr den virtuellen Switch umgehen. Bei der Konfiguration verhält sich jede VM so, als würde sie die NIC direkt verwenden, wodurch der Verarbeitungsaufwand reduziert und die Leistung verbessert wird.

Vorteile von SR-IOV

Ein SR-IOV VF hat eine bessere Leistung als VIF. Es kann die hardwarebasierte Trennung zwischen Datenverkehr von verschiedenen VMs über dieselbe NIC sicherstellen (unter Umgehung des HASH-Netzwerkstapels (0x2e68218)).

Mit dieser Funktion können Sie:

  • Aktivieren Sie SR-IOV auf Netzwerkkarten, die SR-IOV unterstützen.

  • Deaktivieren Sie SR-IOV auf Netzwerkkarten, die SR-IOV unterstützen.

  • Verwalten Sie SR-IOV-VFs als VF-Ressourcenpool.

  • Weisen Sie einer VM SR-IOV-VFs zu.

  • Konfigurieren Sie SR-IOV-VFs (z. B. MAC-Adresse, VLAN, Rate).

  • Führen Sie Tests durch, um zu bestätigen, ob SR-IOV als Teil des Automated Certification Kit unterstützt wird.

Systemkonfiguration

Konfigurieren Sie die Hardwareplattform korrekt, um SR-IOV zu unterstützen. Folgende Technologien sind erforderlich:

  • E/A -MMU-Virtualisierung (AMD-VI und Intel VT-d)

  • Alternative Routing-ID Interpretation (ARI)

  • Adressübersetzungsdienste (ATS)

  • Zugriffssteuerungsdienste (ACS)

In der Dokumentation Ihres Systems finden Sie Informationen zur Konfiguration des BIOS, um die genannten Technologien zu aktivieren.

Aktivieren eines SR-IOV-Netzwerks auf einer Netzwerkkarte

Verwenden Sie in HASH (0x2e6c8e8) den Assistenten Neues Netzwerk auf der Registerkarte Netzwerk , um ein SR-IOV-Netzwerk auf einer Netzwerkkarte zu erstellen und zu aktivieren.

Zuweisen eines SR-IOV-Netzwerks zur virtuellen Schnittstelle (VM-Ebene)

Verwenden Sie in HASH (0x2e6c8e8) auf VM-Ebene den Assistenten zum Hinzufügen virtueller Schnittstelle auf der Registerkarte Netzwerk , um ein SR-IOV-aktiviertes Netzwerk als virtuelle Schnittstelle für diese VM hinzuzufügen. Weitere Informationen finden Sie in der Hilfe zu HASH (0x2e6c8e8).

Unterstützte Netzwerkkarten und Gäste

Eine Liste der unterstützten Hardwareplattformen und Netzwerkkarten finden Sie unterHardwarekompatibilitätsliste. Lesen Sie die Dokumentation, die der Anbieter für einen bestimmten Gast zur Verfügung stellt, um zu ermitteln, ob er SR-IOV unterstützt.

Einschränkungen

  • Bei bestimmten Netzwerkkarten, die ältere Treiber verwenden (z. B. Intel I350), muss der Host neu gestartet werden, um SR-IOV auf diesen Geräten zu aktivieren oder zu deaktivieren.

  • Nur HVM-Gäste werden von SR-IOV unterstützt.

  • Ein SR-IOV-Netzwerk auf Poolebene mit verschiedenen NIC-Typen wird nicht unterstützt.

  • Eine SR-IOV VF und eine normale VIF derselben NIC können aufgrund der Einschränkungen der NIC-Hardware möglicherweise nicht miteinander kommunizieren. Damit diese Hosts kommunizieren können, stellen Sie sicher, dass die Kommunikation das Muster VF zu VF oder VIF zu VIF und nicht VF zu VIF verwendet.

  • Quality of Service Einstellungen für einige SR-IOV-VFs werden nicht wirksam, da sie die Beschränkung der Netzwerkgeschwindigkeit nicht unterstützen.

  • Das Ausführen von Livemigration, Suspend und Checkpoint wird auf VMs mit einer SR-IOV VF nicht unterstützt.

  • SR-IOV-VFs unterstützen kein Hot-Plugging.

  • Bei einigen Netzwerkkarten mit älteren NIC-Treibern ist möglicherweise ein Neustart erforderlich, selbst nach dem Neustart des Hosts, was darauf hinweist, dass die Netzwerkkarte SR-IOV nicht aktivieren kann.

  • VMs, die in früheren Versionen erstellt wurden, können diese Funktion von HASH (0x2e6c8e8) nicht verwenden.

  • Wenn Ihre VM über eine SR-IOV VF verfügt, sind Funktionen, die eine Live-Migration erfordern, nicht möglich. Dies liegt daran, dass die VM direkt an die physische SR-IOV-fähige NIC VF gebunden ist. Jeder VM-Netzwerkverkehr, der über eine SR-IOV VF gesendet wird, umgeht den vSwitch. Daher ist es nicht möglich, ACLs zu erstellen oder Quality of Service (QoS) anzuzeigen.

  • Hardware-Einschränkung: Die SR-IOV-Funktion beruht darauf, dass der Controller Gerätefunktionen innerhalb von 100 ms in einen unberührten Zustand zurücksetzt, wenn er vom Hypervisor mithilfe von FLR (Function Level Reset) angefordert wird.

  • SR-IOV kann in einer Umgebung verwendet werden, die hohe Verfügbarkeit nutzt. SR-IOV wird bei der Kapazitätsplanung jedoch nicht berücksichtigt. VMs, denen SR-IOV-VFs zugewiesen sind, werden bestmöglich neu gestartet, wenn sich ein Host im Pool befindet, der über entsprechende Ressourcen verfügt. Zu diesen Ressourcen gehören SR-IOV im richtigen Netzwerk und eine kostenlose VF.

Konfigurieren von SR-IOV-VFs für ältere Treiber

Normalerweise kann die maximale Anzahl von VFs, die eine NIC unterstützen kann, automatisch ermittelt werden. Bei Netzwerkkarten, die Legacy-Treiber verwenden (z. B. Intel I350-Familie), wird der Grenzwert in der Konfigurationsdatei des Treibermoduls definiert. Der Grenzwert muss möglicherweise manuell eingestellt werden. Um es auf das Maximum zu setzen, öffnen Sie die Datei mit einem Editor und ändern Sie die Zeile beginnend:

## VFs-maxvfs-by-user:

Um beispielsweise die maximale VFs auf 4 zu setzen, damit die igb-Treiberbearbeitung gelesen/etc/modprobe.d/igb.conf werden soll:

## VFs-param: max_vfs
## VFs-maxvfs-by-default: 7
## VFs-maxvfs-by-user: 4
options igb max_vfs=0

Hinweise:

  • Der Wert muss kleiner oder gleich dem Wert in der Zeile seinVFs-maxvfs-by-default.

  • Ändern Sie keine andere Zeile in diesen Dateien.

  • Nehmen Sie die Änderungen vor, bevor Sie SR-IOV aktivieren.

CLI

SR-IOV-Befehle/en-us/citrix-hypervisor/command-line-interface.html#sr-iov-commands[()]Weitere Informationen finden Sie unter CLI-Anweisungen zum Erstellen, Löschen, Anzeigen von SR-IOV-Netzwerken und Zuweisen einer SR-IOV-VF zu einer VM.

Steuern der Geschwindigkeit ausgehender Daten (QoS)

Um die Menge der ausgehenden Daten zu begrenzen, die eine VM pro Sekunde senden kann, legen Sie einen optionalen QoS-Wert (Quality of Service) für virtuelle VM-Schnittstellen (VIFs) fest. Mit dieser Einstellung können Sie eine maximale Übertragungsrate für ausgehende Pakete in Kilobyte pro Sekunde angeben.

Der Wert „Quality of Service“ begrenzt die Übertragungsrate von der VM. Die Einstellung „Quality of Service“ beschränkt nicht die Datenmenge, die die VM empfangen kann. Wenn ein solches Limit gewünscht wird, empfehlen wir, die Rate der eingehenden Pakete höher im Netzwerk zu begrenzen (z. B. auf Switchebene).

Je nach Netzwerkstapel, der im Pool konfiguriert ist, können Sie den Wert „Quality of Service“ auf virtuellen Schnittstellen (VM Virtual Interfaces, VIFs) an zwei Stellen festlegen. Entweder auf dem vSwitch Controller oder in HASH (0x2c1a078) (mit CLI oder HASH (0x2e6c8e8)).

vSwitch

Konfigurationsmethoden:

  • vSwitch Controller Dies ist die bevorzugte Methode zum Festlegen der maximalen Übertragungsrate auf einem VIF, wenn der vSwitch der Netzwerkstack ist. Bei Verwendung des vSwitch-Stacks ist die Option HASH (0x2e6c8e8) Quality of Service nicht verfügbar.
  • xe-Befehle Es ist möglich, die Übertragungsrate von Quality of Service mit den Befehlen im folgenden Beispiel festzulegen. Die bevorzugte Methode ist jedoch über die Benutzeroberfläche des vSwitch Controllers, die eine feinere Steuerung bietet.

Linux-Brücke

Verfügbare Konfigurationsmethoden:

  • HASH (0x2e6c8e8) Sie können den Grenzwert für die Übertragungsrate der Quality of Service im Eigenschaftendialog für die virtuelle Schnittstelle festlegen.
  • xe-Befehle Sie können die Übertragungsrate der Quality of Service mithilfe der Befehlszeilenschnittstelle festlegen, indem Sie die Befehle im folgenden Abschnitt verwenden.

Wichtig:

Wenn vSwitch als Netzwerkstack konfiguriert ist, ist es möglich, einen QoS-Wert versehentlich auf dem vSwitch Controller und innerhalb des HASH-Servers (0x2e68218) zu konfigurieren. In diesem Fall beschränkt HASH (0x2c1a078) den ausgehenden Datenverkehr mit der niedrigsten Rate, die Sie festlegen.

Beispiel für CLI-Befehl für QoS:

Verwenden Sie denvif-param-set Befehl, um eine VIF auf eine maximale Übertragungsrate von 100 Kilobyte pro Sekunde mithilfe der CLI zu beschränken:

xe vif-param-set uuid=vif_uuid qos_algorithm_type=ratelimit
xe vif-param-set uuid=vif_uuid qos_algorithm_params:kbps=100

Hinweis:

Wenn Sie den vSwitch Controller verwenden, empfehlen wir, anstelle dieses CLI-Befehls die Übertragungsrate im vSwitch Controller festzulegen. Anweisungen zum Festlegen des QoS-Ratenlimits im vSwitch Controller finden Sie untervSwitch und Controller.

Ändern der Netzwerkkonfigurationsoptionen

In diesem Abschnitt wird erläutert, wie Sie die Netzwerkkonfiguration Ihres HASH-Servers (0x2e68218) ändern. Es beinhaltet:

  • Ändern des Hostnamens (d. h. des DNS-Namens)

  • Hinzufügen oder Löschen von DNS-Servern

  • Ändern von IP-Adressen

  • Ändern der Netzwerkkarte als Verwaltungsschnittstelle

  • Hinzufügen einer neuen physischen Netzwerkkarte zum Server

  • Hinzufügen eines Ziels zu einem Netzwerk

  • ARP-Filterung aktivieren (Switch-Port-Locking)

Hostname

Der Systemhostname, auch als Domänen- oder DNS-Name bezeichnet, wird in der poolweiten Datenbank definiert und mit demxe host-set-hostname-live CLI-Befehl wie folgt geändert:

xe host-set-hostname-live host-uuid=host_uuid host-name=host-name

Der zugrundeliegende Hostname der Steuerungsdomäne ändert sich dynamisch, um den neuen Hostnamen wiederzugeben.

DNS-Server

Verwenden Sie denpif-reconfigure-ip Befehl, um DNS-Server in der IP-Adressierungskonfiguration des HASH-Servers (0x2e68218) hinzuzufügen oder zu löschen. Zum Beispiel für eine PIF mit einer statischen IP:

pif-reconfigure-ip uuid=pif_uuid mode=static DNS=new_dns_ip

Ändern der IP-Adresskonfiguration für einen eigenständigen Host

Sie können die xe-CLI verwenden, um die Netzwerkschnittstellenkonfiguration zu ändern. Ändern Sie die zugrunde liegenden Netzwerkkonfigurationsskripte nicht direkt.

Um die IP-Adresskonfiguration eines PIF zu ändern, verwenden Sie denpif-reconfigure-ip CLI-Befehl. pif-reconfigure-ipWeitere Informationen zu den Parametern despif-reconfigure-ipBefehls finden Sie unter. Im folgenden Abschnitt finden Sie Informationen zum Ändern von Host-IP-Adressen in Ressourcenpools.

Ändern der IP-Adresskonfiguration in Ressourcenpools

HASH (0x2e68218) Server in Ressourcenpools verfügen über eine einzige Management-IP-Adresse, die für die Verwaltung und Kommunikation mit und von anderen Hosts im Pool verwendet wird. Die erforderlichen Schritte zum Ändern der IP-Adresse der Verwaltungsschnittstelle eines Hosts unterscheiden sich für Master- und andere Hosts.

Hinweis:

Sie müssen vorsichtig sein, wenn Sie die IP-Adresse eines Servers und andere Netzwerkparameter ändern. Abhängig von der Netzwerktopologie und der vorgenommenen Änderung können Verbindungen zum Netzwerkspeicher verloren gehen. In diesem Fall muss der Speicher mithilfe der Funktion „ Speicher reparieren “ in HASH (0x2e6c8e8) oder mithilfe despbd-plug CLI-Befehls relugged werden. Aus diesem Grund empfehlen wir, VMs vom Server weg zu migrieren, bevor Sie die IP-Konfiguration ändern.

Verwenden Sie denpif-reconfigure-ip CLI-Befehl, um die IP-Adresse wie gewünscht festzulegen. pif-reconfigure-ipWeitere Informationen zu den Parametern despif-reconfigure-ipBefehls finden Sie unter. :

xe pif-reconfigure-ip uuid=pif_uuid mode=DHCP

Verwenden Sie denhost-list CLI-Befehl, um zu bestätigen, dass der Mitgliedshost erfolgreich mit dem Master-Host verbunden ist, indem Sie überprüfen, ob alle anderen HASH-Server (0x2e68218) im Pool sichtbar sind:

xe host-list

Das Ändern der IP-Adresse des Master-HASH (0x2e68218) -Servers erfordert zusätzliche Schritte. Dies liegt daran, dass jedes Poolmitglied die angekündigte IP-Adresse des Poolmasters für die Kommunikation verwendet. Die Poolmitglieder wissen nicht, wie Sie den Master kontaktieren können, wenn sich seine IP-Adresse ändert.

Verwenden Sie nach Möglichkeit eine dedizierte IP-Adresse, die sich wahrscheinlich nicht für die Lebensdauer des Pools für Poolmaster ändert.

Verwenden Sie denpif-reconfigure-ip CLI-Befehl, um die IP-Adresse wie gewünscht festzulegen:

xe pif-reconfigure-ip uuid=pif_uuid mode=DHCP

Wenn sich die IP-Adresse des Poolmasters ändert, treten alle Mitgliedshosts in einen Notfallmodus ein, wenn sie den Master-Host nicht kontaktieren.

Verwenden Sie auf dem Poolmaster denpool-recover-slaves Befehl, um den Master zu zwingen, die einzelnen Poolmitglieder zu kontaktieren und sie über die neue Master-IP-Adresse zu informieren:

xe pool-recover-slaves

Verwaltungsschnittstelle

Wenn HASH (0x2c1a078) auf einem Host mit mehreren Netzwerkkarten installiert ist, wird eine Netzwerkkarte für die Verwendung als Verwaltungsschnittstelle ausgewählt. Die Management-Schnittstelle wird für HASH (0x2e6c8e8) -Verbindungen zum Host und für die Host-zu-Host-Kommunikation verwendet.

Mit dempif-list Befehl bestimmen Sie, welcher PIF der Netzwerkkarte entspricht, die als Verwaltungsschnittstelle verwendet werden soll. Die UUID jedes PIF wird zurückgegeben.

xe pif-list

Verwenden Sie denpif-param-list Befehl, um die IP-Adressierungskonfiguration für den PIF zu überprüfen, der für die Verwaltungsschnittstelle verwendet wird. Verwenden Sie ggf. denpif-reconfigure-ip Befehl, um die IP-Adressierung für die zu verwendende PIF zu konfigurieren.

xe pif-param-list uuid=pif_uuid

Verwenden Sie denhost-management-reconfigure CLI-Befehl, um den PIF zu ändern, der für die Verwaltungsschnittstelle verwendet wird. Wenn dieser Host Teil eines Ressourcenpools ist, muss dieser Befehl auf der Mitgliederhostkonsole ausgegeben werden:

xe host-management-reconfigure pif-uuid=pif_uuid

Mit demnetwork-list Befehl bestimmen Sie, welcher PIF der NIC entspricht, die als Verwaltungsschnittstelle für alle Hosts im Pool verwendet werden soll. Die UUID des poolweiten Netzwerks wird zurückgegeben.

xe network-list

Verwenden Sie dennetwork-param-list Befehl, um die PIF-UUIDs aller Hosts im Pool abzurufen. Verwenden Sie denpif-param-list Befehl, um die IP-Adressierungskonfiguration für die PIF für die Verwaltungsschnittstelle zu überprüfen. Verwenden Sie ggf. denpif-reconfigure-ip Befehl, um die IP-Adressierung für die zu verwendende PIF zu konfigurieren.

xe pif-param-list uuid=pif_uuid

Verwenden Sie denpool-management-reconfigure CLI-Befehl, um den PIF zu ändern, der für die Verwaltungsschnittstelle verwendet wird, die in der Liste Netzwerke aufgeführt ist.

xe pool-management-reconfigure network-uuid=network_uuid

Verwaltungszugriff deaktivieren

Verwenden Sie denhost-management-disable CLI-Befehl, um den Remotezugriff auf die Verwaltungskonsole vollständig zu deaktivieren.

Achtung:

Wenn die Verwaltungsschnittstelle deaktiviert ist, müssen Sie sich bei der physischen Hostkonsole anmelden, um Verwaltungsaufgaben auszuführen. Externe Schnittstellen wie HASH (0x2e6c8e8) funktionieren nicht, wenn die Verwaltungsschnittstelle deaktiviert ist.

Hinzufügen einer neuen physischen Netzwerkkarte

Installieren Sie eine neue physische Netzwerkkarte auf Ihrem HASH (0x2e68218) Server wie gewohnt. Führen Sie dann nach dem Neustart des Servers den Befehl xe CLI-Befehl aus,pif-scan um ein neues PIF-Objekt für die neue NIC zu erstellen.

Hinzufügen eines Ziels zu einem Netzwerk

Der Netzwerkzweck kann verwendet werden, um zusätzliche Funktionalitäten zu einem Netzwerk hinzuzufügen. Zum Beispiel die Möglichkeit, das Netzwerk zum Herstellen von Verbindungen am NBD zu verwenden.

Um einen Netzwerkzweck hinzuzufügen, verwenden Sie denxe network-param-add Befehl:

xe network-param-add param-name=purpose param-key=purpose uuid=network-uuid

Um einen Netzwerkzweck zu löschen, verwenden Sie denxe network-param-remove folgenden Befehl:

xe network-param-remove param-name=purpose param-key=purpose uuid=network-uuid

Derzeit sind die verfügbaren Werte für den Netzwerkzwecknbd undinsecure_nbd . Weitere Informationen finden Sie unterHASH (0x2c1a078) Geänderte Blockverfolgung.

Switch-Port-Verriegelung verwenden

Mit der HASH (0x2c1a078) Switch-Port-Sperrfunktion können Sie den Datenverkehr steuern, der von unbekannten, nicht vertrauenswürdigen oder potenziell feindlichen VMs gesendet wird, indem sie ihre Fähigkeit einschränken, so zu tun, als hätten sie eine MAC- oder IP-Adresse, die ihnen nicht zugewiesen wurde. Mit den Befehlen zum Sperren von Ports können Sie standardmäßig den gesamten Datenverkehr in einem Netzwerk blockieren oder bestimmte IP-Adressen definieren, von denen eine einzelne VM Datenverkehr senden darf.

Switch-Port-Locking ist eine Funktion, die für öffentliche Cloud-Service-Anbieter in Umgebungen entwickelt wurde, die sich um interne Bedrohungen kümmern. Diese Funktionalität unterstützt öffentliche Cloud-Service-Anbieter, die über eine Netzwerkarchitektur verfügen, in der jede VM über eine öffentliche, mit dem Internet verbundene IP-Adresse verfügt. Da Cloud-Mandanten nicht vertrauenswürdig sind, können Sie Sicherheitsmaßnahmen wie Spoofing-Schutz verwenden, um sicherzustellen, dass Mandanten keine anderen virtuellen Maschinen in der Cloud angreifen können.

Mithilfe der Switch-Port-Sperrung können Sie die Netzwerkkonfiguration vereinfachen, da alle Mandanten oder Gäste dasselbe Layer 2-Netzwerk verwenden können.

Eine der wichtigsten Funktionen der Port-Sperrbefehle ist, dass sie den Datenverkehr einschränken können, den ein nicht vertrauenswürdiger Gast sendet. Dies schränkt die Fähigkeit des Gastes ein, so zu tun, als hätte er eine MAC oder IP-Adresse, die er tatsächlich nicht besitzt. Insbesondere können Sie diese Befehle verwenden, um zu verhindern, dass ein Gast:

  • Beansprucht eine andere IP- oder MAC-Adresse als die, die der HASH-Administrator (0x2c1a078) angegeben hat, dass er

  • Abfangen, Spoofing oder Unterbrechung des Datenverkehrs anderer VMs

Anforderungen

  • Die HASH (0x2c1a078) Switch-Port-Sperrfunktion wird auf den Linux-Bridge und vSwitch-Netzwerkstacks unterstützt.

  • Wenn Sie Role Based Access Control (RBAC) in Ihrer Umgebung aktivieren, muss der Benutzer, der die Switch-Port-Sperrung konfiguriert, mit einem Konto angemeldet sein, das mindestens eine Pool-Operator- oder Pool-Admin-Rolle hat. Wenn RBAC in Ihrer Umgebung nicht aktiviert ist, muss der Benutzer mit dem Root-Konto für den Poolmaster angemeldet sein.

  • Wenn Sie die Switch-Port-Sperrbefehle ausführen, können Netzwerke online oder offline sein.

  • Unter Windows-Gästen wird das Symbol „Netzwerk getrennt“ nur angezeigt, wenn HASH (0x2e68170) im Gast installiert ist.

Notizen

Ohne Switch-Port-Sperrkonfigurationen sind VIFs auf „network_default“ und Netzwerke auf „entsperrt“ gesetzt. „

Die Konfiguration der Switch-Port-Sperrung wird nicht unterstützt, wenn der vSwitch-Controller und andere Controller von Drittanbietern in der Umgebung verwendet werden.

Die Switch-Port-Sperrung verhindert nicht, dass Cloud-Mandanten:

  • Durchführen eines IP-Level-Angriffs auf einen anderen Mieter/Benutzer. Die Switch-Port-Sperrung verhindert jedoch, dass sie den Angriff auf IP-Ebene durchführen, wenn sie versuchen, dies zu tun, und die Switch-Port-Sperrung konfiguriert ist: a) Identitätswechsel eines anderen Mandanten in der Cloud oder Benutzer oder b) die Initiierung eines für einen anderen Benutzer bestimmten Datenverkehrs.

  • Erschöpfende Netzwerkressourcen.

  • Empfangen von Datenverkehr, der für andere virtuelle Maschinen bestimmt ist, über normales Switch-Überschwemmungsverhalten (für Broadcast-MAC-Adressen oder unbekannte Ziel-MAC-Adressen).

Ebenso beschränkt die Switch-Port-Sperrung nicht, wohin eine VM Datenverkehr senden kann.

Implementierungshinweise

Sie können die Switch-Port-Sperrfunktion entweder über die Befehlszeile oder die HASH-API (0x2c1a078) implementieren. In großen Umgebungen, in denen die Automatisierung ein Hauptanliegen ist, kann die typischste Implementierungsmethode jedoch die Verwendung der API sein.

Beispiele

Dieser Abschnitt enthält Beispiele dafür, wie die Sperrung von Switch-Ports bestimmte Arten von Angriffen verhindern kann. In diesen Beispielen ist VM-c eine virtuelle Maschine, die ein feindlicher Mandant (Tenant C) leasiert und für Angriffe verwendet. VM-A und VM-B sind virtuelle Maschinen, die von nicht angreifenden Mandanten geleast werden.

Beispiel 1: Wie die Switch-Port-Sperrung die Verhinderung von ARP-Spoofing verhindern kann:

ARP-Spoofing wird verwendet, um anzuzeigen, dass ein Angreifer versucht, seine MAC-Adresse mit der IP-Adresse eines anderen Knotens zu verknüpfen. ARP-Spoofing kann möglicherweise dazu führen, dass der Datenverkehr des Knotens an den Angreifer gesendet wird. Um dieses Ziel zu erreichen, sendet der Angreifer gefälschte (gefälschte) ARP-Nachrichten an ein Ethernet-LAN.

Szenario:

Virtual Machine A (VM-A) möchte IP-Datenverkehr von VM-A an Virtual Machine B (VM-b) senden, indem er an die IP-Adresse von Vm-b adressieren. Der Besitzer von Virtual Machine C möchte ARP-Spoofing verwenden, um so zu tun, als ob ihre VM, VM-C, tatsächlich VM-B ist.

  1. VM-c sendet einen spekulativen Strom von ARP-Antworten an VM-A. Die ARP-Antworten behaupten, dass die MAC-Adresse in der Antwort (c_MAC) der IP-Adresse b_IP zugeordnet ist

    Ergebnis: Da der Administrator die Switch-Port-Sperrung aktiviert hat, werden diese Pakete alle gelöscht, da die Aktivierung der Switch-Port-Sperrung den Identitätswechsel verhindert.

  2. VM-b sendet eine ARP-Antwort an VM-A und behauptet, dass die MAC-Adresse in der Antwort (b_MAC) der IP-Adresse b_IP zugeordnet ist.

    Ergebnis: VM-A empfängt die ARP-Antwort von VM-B.

Beispiel 2: IP-Spoofing-Prävention:

IP-Adressen-Spoofing ist ein Prozess, der die Identität von Paketen verdeckt, indem IP-Pakete (Internet Protocol) mit einer gefälschten Quell-IP-Adresse erstellt werden.

Szenario:

Mandant C versucht, einen Denial-of-Service-Angriff mit seinem Host Host-C auf einem Remote-System durchzuführen, um seine Identität zu verschleiern.

Versuch 1:

Mandant C setzt Host-C IP-Adresse und MAC-Adresse auf die IP- und MAC-Adressen von VM-A (a_IP und a_MAC). Mandant C weist Host-C an, IP-Datenverkehr an ein Remotesystem zu senden.

Ergebnis: Die Host-C-Pakete werden gelöscht. Dies liegt daran, dass der Administrator die Switch-Port-Sperrung aktiviert hat. Die Host-C-Pakete werden gelöscht, da die Aktivierung der Switch-Port-Sperrung den Identitätswechsel verhindert.

Versuch 2:

Mandant C setzt die IP-Adresse von Host-C auf die IP-Adresse von VM-A (a_IP) und behält ihren ursprünglichen c_MAC bei.

Mandant C weist Host-C an, IP-Datenverkehr an ein Remotesystem zu senden.

Ergebnis: Die Host-C-Pakete werden gelöscht. Dies liegt daran, dass der Administrator die Switch-Port-Sperrung aktiviert hat, wodurch Identitätswechsel verhindert wird.

Beispiel 3: Webhosting:

Szenario:

Alice ist Infrastrukturadministrator.

Einer ihrer Mieter, Tenant B, hostet mehrere Websites von ihrer VM, VM-B. Jede Website benötigt eine eigene IP-Adresse, die auf derselben virtuellen Netzwerkschnittstelle (VIF) gehostet wird.

Alice konfiguriert die VIF von Host-B so neu, dass sie an einen einzelnen MAC, aber an viele IP-Adressen gesperrt ist.

Funktionsweise der Switch-Port-Verriegelung

Mit der Switch-Port-Sperrfunktion können Sie die Paketfilterung auf einer oder mehreren von zwei Ebenen steuern:

  • VIF-Niveau. Die Einstellungen, die Sie auf der VIF konfigurieren, bestimmen, wie Pakete gefiltert werden. Sie können die VIF so einstellen, dass die VM keinen Datenverkehr sendet, die VIF so beschränken, dass sie nur den Datenverkehr mit der zugewiesenen IP-Adresse senden kann, oder der VM erlauben, Datenverkehr an eine beliebige IP-Adresse im Netzwerk zu senden, das mit der VIF verbunden ist.

  • Netzwerkebene. Das HASH-Netzwerk (0x2c1a078) bestimmt, wie Pakete gefiltert werden. Wenn der Sperrmodus eines VIF auf eingestellt istnetwork_default, bezieht er sich auf die Sperreinstellung auf Netzwerkebene, um zu bestimmen, welcher Datenverkehr zulässig ist.

Unabhängig davon, welchen Netzwerkstapel Sie verwenden, funktioniert die Funktion auf die gleiche Weise. Wie jedoch in den folgenden Abschnitten ausführlicher beschrieben, unterstützt die Linux-Bridge die Switch-Port-Sperrung in IPv6 nicht vollständig.

VIF-Sperrmodusstatus

Die HASH (0x2c1a078) Switch-Port-Sperrfunktion bietet einen Sperrmodus, mit dem Sie VIFs in vier verschiedenen Zuständen konfigurieren können. Diese Zustände gelten nur, wenn die VIF an eine laufende virtuelle Maschine angeschlossen ist.

! [Diese Abbildung zeigt, wie sich drei verschiedene VIF-Sperrmoduszustände verhalten, wenn der Netzwerksperrmodus auf entsperrt und der VIF-Status konfiguriert ist. Im ersten Abbild wird der VIF-Status auf Standard festgelegt, sodass kein Datenverkehr von der VM gefiltert wird. Die VIF sendet oder empfängt keine Pakete, da der Sperrmodusdisabled im zweiten Bild auf eingestellt ist. Im dritten Bild wird der VIF-Status auf gesperrt gesetzt. Das bedeutet, dass die VIF nur Pakete senden kann, wenn diese Pakete die richtige MAC und IP-Adresse enthalten.] (/ de-de/citrix -hypervisor/media/vif -switch-port-locking-modes.png)

  • Netzwerk_default. Wenn der Status der VIF auf festgelegt istnetwork_default, verwendet HASH (0x2c1a078) den Netzwerkdefault-locking-modeparameter, um zu bestimmen, ob und wie Pakete, die durch die VIF reisen, gefiltert werden. Das Verhalten variiert je nachdem, ob für das zugeordnete Netzwerk der Standardsperrmodus auf deaktiviert oder entsperrt festgelegt ist:

    -default-locking-mode=disabled, HASH (0x2c1a078) wendet eine Filterregel an, so dass die VIF den gesamten Datenverkehr ablegt.

    -default-locking-mode= entsperrt, entfernt HASH (0x2c1a078) alle mit der VIF verknüpften Filterregeln. Standardmäßig ist der Parameter für den Standardsperrmodus auf festgelegtunlocked.

    Hinweise zumdefault-locking-mode Parameter finden Sie unterNetzwerkbefehle .

    Der Standardsperrmodus des Netzwerks hat keine Auswirkungen auf angeschlossene VIFs, deren Sperrstatus etwas anderes ist alsnetwork_default.

    Hinweis:

    Sie können diedefault-locking-mode eines Netzwerks mit aktiven VIFs nicht ändern.

  • Verriegelt. HASH (0x2c1a078) wendet Filterregeln an, sodass nur Datenverkehr, der an die angegebenen MAC-Adressen und IP-Adressen gesendet wird, über die VIF gesendet werden darf. Wenn in diesem Modus keine IP-Adressen angegeben sind, kann die VM keinen Datenverkehr über diese VIF in diesem Netzwerk senden.

    Um die IP-Adressen anzugeben, von denen die VIF Datenverkehr akzeptiert, verwenden Sie die IPv4- oder IPv6-IP-Adressen mithilfe deripv4_allowed Parameteripv6_allowed oder. Wenn Sie jedoch die Linux-Brücke konfiguriert haben, geben Sie keine IPv6-Adressen ein.

    Mit HASH (0x2c1a078) können Sie IPv6-Adressen eingeben, wenn die Linux-Brücke aktiv ist. HASH (0x2c1a078) kann jedoch nicht basierend auf den eingegebenen IPv6-Adressen filtern. Der Grund dafür ist, dass die Linux-Bridge keine Module zum Filtern von Neighbor Discovery Protocol (NDP) -Paketen enthält. Daher kann kein vollständiger Schutz implementiert werden, und Gäste könnten sich als einen anderen Gast ausgeben, indem sie NDP-Pakete fälschen. Wenn Sie also nur eine IPv6-Adresse angeben, lässt HASH (0x2c1a078) den gesamten IPv6-Datenverkehr durch die VIF passieren. Wenn Sie keine IPv6-Adressen angeben, lässt HASH (0x2c1a078) keinen IPv6-Datenverkehr an die VIF weiterleiten.

  • Entsperrt. Der gesamte Netzwerkverkehr kann durch die VIF passieren. Das heißt, es werden keine Filter auf den Datenverkehr angewendet, der zum oder von der VIF geht.

  • Deaktiviert. Kein Verkehr darf durch die VIF passieren. (Das heißt, HASH (0x2c1a078) wendet eine Filterregel an, so dass die VIF den gesamten Datenverkehr ablegt.)

Konfigurieren der Switch-Port-Sperre

Dieser Abschnitt enthält drei verschiedene Verfahren:

  • VIFs auf die Verwendung einer bestimmten IP-Adresse beschränken

  • Fügen Sie eine IP-Adresse zu einer vorhandenen Liste mit eingeschränkter Beschränkung hinzu. Wenn Sie beispielsweise eine IP-Adresse zu einer VIF hinzufügen möchten, wenn die VM ausgeführt wird und mit dem Netzwerk verbunden ist (z. B. wenn Sie ein Netzwerk vorübergehend offline schalten).

  • Entfernen einer IP-Adresse aus einer vorhandenen Liste mit eingeschränkten Einschränkungen

Wenn der Sperrmodus eines VIF auf eingestellt istlocked, kann er nur die Adressen verwenden, die in denipv4-allowedParameternipv6-allowedoder angegeben sind.

Da VIFs in einigen relativ seltenen Fällen mehr als eine IP-Adresse haben können, ist es möglich, mehrere IP-Adressen für eine VIF anzugeben.

Sie können diese Prozeduren vor oder nachdem die VIF angeschlossen ist (oder die VM gestartet wurde).

Ändern Sie den Standardsperrmodus in gesperrt, wenn er diesen Modus nicht bereits verwendet, indem Sie den folgenden Befehl ausführen:

xe vif-param-set uuid=vif-uuid locking-mode=locked

Dievif-uuid stellt die UUID der VIF dar, die Sie zulassen möchten, Datenverkehr zu senden. Um die UUID zu erhalten, führen Sie denvif-list Befehl xe auf dem Host aus. vm-uuid Gibt die virtuelle Maschine an, für die die Informationen angezeigt werden. Die Geräte-ID gibt die Gerätenummer des VIF an.

Führen Sie denvif-param-set Befehl aus, um die IP-Adressen anzugeben, von denen die virtuelle Maschine Datenverkehr senden kann. Führen Sie eine oder mehrere der folgenden Aktionen aus:

  • Geben Sie mindestens ein IPv4-IP-Adressenziel an. Beispiel:

     xe vif-param-set uuid=vif-uuid ipv4-allowed=comma separated list of ipv4-addresses
    
  • Geben Sie mindestens ein IPv6-IP-Adressenziel an. Beispiel:

     xe vif-param-set uuid=vif-uuid ipv6-allowed=comma separated list of ipv6-addresses
    

Sie können mehrere IP-Adressen angeben, indem Sie sie durch ein Komma trennen, wie im vorherigen Beispiel gezeigt.

Nachdem Sie das Verfahren durchgeführt haben, um eine VIF auf die Verwendung einer bestimmten IP-Adresse zu beschränken, können Sie eine oder mehrere IP-Adressen hinzufügen, die die VIF verwenden kann.

Führen Sie denvif-param-add Befehl aus, um die IP-Adressen der vorhandenen Liste hinzuzufügen. Führen Sie eine oder mehrere der folgenden Aktionen aus:

  • Geben Sie die IPv4-IP-Adresse an. Beispiel:

     xe vif-param-add uuid=vif-uuid ipv4-allowed=comma separated list of ipv4-addresses
    
  • Geben Sie die IPv6-IP-Adresse an. Beispiel:

     xe vif-param-add uuid=vif-uuid ipv6-allowed=comma separated list of ipv6-addresses
    

Wenn Sie eine VIF auf die Verwendung von zwei oder mehr IP-Adressen beschränken, können Sie eine dieser IP-Adressen aus der Liste löschen.

Führen Sie denvif-param-remove Befehl aus, um die IP-Adressen aus der vorhandenen Liste zu löschen. Führen Sie eine oder mehrere der folgenden Aktionen aus:

  • Geben Sie die IPv4-IP-Adresse an, die gelöscht werden soll. Beispiel:

     xe vif-param-remove uuid=vif-uuid ipv4-allowed=comma separated list of ipv4-addresses
    
  • Geben Sie die IPv6-IP-Adresse an, die gelöscht werden soll. Beispiel:

     xe vif-param-remove uuid=vif-uuid ipv6-allowed=comma separated list of ipv6-addresses
    

Verhindern, dass eine virtuelle Maschine Datenverkehr von einem bestimmten Netzwerk sendet oder empfängt

Das folgende Verfahren verhindert, dass eine virtuelle Maschine über eine bestimmte VIF kommuniziert. Da ein VIF eine Verbindung zu einem bestimmten HASH-Netzwerk (0x2c1a078) herstellt, können Sie dieses Verfahren verwenden, um zu verhindern, dass eine virtuelle Maschine Datenverkehr aus einem bestimmten Netzwerk sendet oder empfängt. Dies bietet eine detailliertere Steuerungsebene als das Deaktivieren eines gesamten Netzwerks.

Wenn Sie den CLI-Befehl verwenden, müssen Sie die VIF nicht trennen, um den Sperrmodus des VIF festzulegen. Der Befehl ändert die Filterregeln, während die VIF ausgeführt wird. In diesem Fall scheint die Netzwerkverbindung weiterhin vorhanden zu sein, die VIF löscht jedoch alle Pakete, die die VM zu senden versucht.

Tipp:

Um die UUID einer VIF zu finden, führen Sie denvif-list Befehl xe auf dem Host aus. Die Geräte-ID gibt die Gerätenummer des VIF an.

Um zu verhindern, dass eine VIF Datenverkehr empfängt, deaktivieren Sie die VIF, die mit dem Netzwerk verbunden ist, von dem aus Sie verhindern möchten, dass die VM Datenverkehr empfängt:

xe vif-param-set uuid=vif-uuid locking-mode=disabled

Sie können die VIF auch in HASH (0x2e6c8e8) deaktivieren, indem Sie die virtuelle Netzwerkschnittstelle auf der Registerkarte Netzwerk der VM auswählen und auf Deaktivieren klicken.

Entfernen der Einschränkung einer VIF auf eine IP-Adresse

Gehen Sie folgendermaßen vor, um den standardmäßigen (ursprünglichen) Sperrmodus wiederherzustellen. Wenn Sie eine VIF erstellen, konfiguriert HASH (0x2c1a078) diese standardmäßig so, dass sie nicht auf die Verwendung einer bestimmten IP-Adresse beschränkt ist.

Wenn Sie eine VIF in einen nicht gesperrten Zustand versetzen möchten, ändern Sie den VIF-Standardsperrmodus in Entsperrt. Wenn dieser Modus nicht bereits verwendet wird, führen Sie den folgenden Befehl aus:

xe vif-param-set uuid=vif_uuid locking-mode=unlocked

Vereinfachen Sie die Konfiguration des VIF-Sperrmodus in der Cloud

Anstatt die VIF-Sperrmodus-Befehle für jeden VIF auszuführen, können Sie sicherstellen, dass alle VIFs standardmäßig deaktiviert sind. Dazu müssen Sie die Paketfilterung auf Netzwerkebene ändern. Das Ändern der Paketfilterung veranlasst das HASH-Netzwerk (0x2c1a078), wie Pakete gefiltert werden, wie im vorherigen Abschnitt Funktionsweise der Switch-Port-Sperrungbeschrieben.

Insbesondere bestimmt diedefault-locking-mode Einstellung eines Netzwerks, wie sich neue VIFs mit Standardeinstellungen verhalten. Wenn ein VIF’s auf eingestelltlocking-mode istdefault , bezieht sich die VIF auf den Netzwerksperrmodus (default-locking-mode ), um festzustellen, ob und wie Pakete durch die VIF gefiltert werden:

  • Entsperrt. Wenn der Netzwerkdefault-locking-mode parameter auf eingestellt istunlocked , kann HASH (0x2c1a078) die VM Datenverkehr an eine beliebige IP-Adresse im Netzwerk senden, mit der das VIF verbunden ist.

  • Deaktiviert. Wenn derdefault-locking-mode Parameter auf festgelegt istdisabled , wendet HASH (0x2c1a078) eine Filterregel an, so dass die VIF den gesamten Datenverkehr ablegt.

Standardmäßig sind diedefault-locking-mode für alle in HASH (0x2e6c8e8) erstellten Netzwerke und die Verwendung der CLI auf festgelegtunlocked .

Wenn Sie den Sperrmodus der VIF auf den Standard (network_default) setzen, können Sie eine grundlegende Standardkonfiguration (auf Netzwerkebene) für alle neu erstellten VIFs erstellen, die eine Verbindung zu einem bestimmten Netzwerk herstellen.

Diese Abbildung zeigt, wie das VIF, wenn ein VIF auf seine Standardeinstellung (locking-mode ) gesetztnetwork_default ist, das Netzwerk verwendet,default-locking-mode um sein Verhalten zu bestimmen.

 Diese Abbildung zeigt, wie ein VIF, wenn er mit seiner Standardeinstellung konfiguriert ist (locking-mode = network_default), überprüft, ob die Einstellung, die mit dem Default-Locking-Modus verknüpft ist. In dieser Abbildung ist das Netzwerk auf default-locking-mode = disabled eingestellt, sodass kein Datenverkehr durch die VIF geleitet werden kann.

Beispielsweise werden VIFs standardmäßig mit demlocking-mode Wert auf erstelltnetwork_default . Wenn Sie ein Netzwerkdefault-locking-mode= festlegendisabled, werden alle neuen VIFs, für die Sie den Sperrmodus nicht konfiguriert haben, deaktiviert. Die VIFs bleiben deaktiviert, bis Sie entweder (a) denlocking-mode Parameter des einzelnen VIF ändern oder (b) die VIFs explizitlocking-mode auf `entlocked setzen. Dies ist hilfreich, wenn Sie einer bestimmten VM genug vertrauen, damit Sie den Datenverkehr überhaupt nicht filtern möchten.

So ändern Sie die Standardeinstellung für den Sperrmodus eines Netzwerks:

Ändern Sie nach dem Erstellen des Netzwerks den Standardsperrmodus, indem Sie den folgenden Befehl ausführen:

xe network-param-set uuid=network-uuid default-locking-mode=[unlocked|disabled]

Hinweis:

Um die UUID für ein Netzwerk zu erhalten, führen Sie dennetwork-list Befehl xe aus. Dieser Befehl zeigt die UUIDs für alle Netzwerke auf dem Host an, auf dem Sie den Befehl ausgeführt haben.

So überprüfen Sie die Standardeinstellung für den Sperrmodus eines Netzwerks:

Führen Sie einen der folgenden Befehle aus:

xe network-param-get uuid=network-uuid param-name=default-locking-mode

ODER

xe network-list uuid=network-uuid params=default-locking-mode

Verwenden von Netzwerkeinstellungen für die VIF-Datenverkehrsfilterung

Das folgende Verfahren weist eine VIF auf einer virtuellen Maschine an, die HASH-Netzwerkdefault-locking-mode einstellungen (0x2c1a078) im Netzwerk selbst zu verwenden, um zu bestimmen, wie Datenverkehr gefiltert werden soll.

  1. Ändern Sie den VIF-Sperrzustand innetwork_default, wenn dieser Modus nicht bereits verwendet wird, indem Sie den folgenden Befehl ausführen:

    xe vif-param-set uuid=vif_uuid locking-mode=network_default
    
  2. Ändern Sie den Standardsperrmodus inunlocked, falls dieser nicht bereits verwendet wird, indem Sie den folgenden Befehl ausführen:

    xe network-param-set uuid=network-uuid default-locking-mode=unlocked