In Overlay-Netzwerken unterstützt NSX das Routing von Inter-VLAN-Datenverkehr für eine L3-Domäne. Während des Routings verwendet der virtuelle verteilte Router (Virtual Distributed Router, VDR) die VLAN-ID, um Pakete zwischen VLAN-Subnetzen weiterzuleiten.

Das Inter-VLAN-Routing überwindet die Beschränkung von 10 vNICs, die pro VM verwendet werden können. Das NSX unterstützende Inter-VLAN-Routing stellt sicher, dass viele VLAN-Unterschnittstellen in der vNIC erstellt und für verschiedene Netzwerkdienste verwendet werden können. Beispielsweise kann eine vNIC einer VM in mehrere Unterschnittstellen aufgeteilt werden. Jede Unterschnittstelle gehört zu einem Subnetz, das einen Netzwerkdienst wie SNMP oder DHCP hosten kann. Mit Inter-VLAN-Routing kann beispielsweise eine Unterschnittstelle in VLAN-10 eine Unterschnittstelle in VLAN-10 oder ein beliebiges anderes VLAN erreichen.

Jede vNIC auf einer VM ist mit einem Switch über den übergeordneten logischen Port verbunden, der nicht gekennzeichnete Pakete verwaltet.

Zum Erstellen einer Unterschnittstelle erstellen Sie auf einem im erweiterten Modus konfigurierten Switch einen untergeordneten Port unter Verwendung der API mit einem zugeordneten VIF unter Verwendung des API-Aufrufs, der im Verfahren beschrieben wird. Die mit einer VLAN-ID gekennzeichnete Unterschnittstelle ist mit einem neuen logischen Switch verknüpft, z. B. ist VLAN10 an den logischen Switch LS-VLAN-10 angehängt. Alle Unterschnittstellen von VLAN10 müssen an LS-VLAN-10 angehängt werden. Diese 1–1-Zuordnung zwischen der VLAN-ID der Unterschnittstelle und dem zugehörigen logischen Switch ist eine wichtige Voraussetzung. Wenn Sie beispielsweise einen untergeordneten Port mit VLAN20 zum logischen Switch LS-VLAN-10 hinzufügen, der VLAN-10 zugeordnet ist, ist das Routing von Paketen zwischen VLANs nicht funktionsfähig. Durch solche Konfigurationsfehler ist das Inter-VLAN-Routing nicht funktionsfähig.

Ab NSX 3.2.2 werden Proton-APIs des logischen Ports durch die entsprechenden Segmentport-Richtlinien-APIs ersetzt.

Voraussetzungen

  • Bevor Sie eine VLAN-Teil Schnittstelle einem logischen Switch zuordnen, stellen Sie sicher, dass der logische Switch keine anderen Zuordnungen mit einer anderen VLAN-Unterschnittstelle aufweist. Wenn eine Abweichung vorliegt, funktioniert das Inter-VLAN-Routing in Overlay-Netzwerken möglicherweise nicht.

  • Stellen Sie sicher, dass Hosts ESXi 6.7 U2 oder höhere Versionen ausführen.

Prozedur

  1. Um Unterschnittstellen für eine vNIC zu erstellen, stellen Sie sicher, dass die vNIC auf einen übergeordneten Port aktualisiert wird. Führen Sie den folgenden REST API-Aufruf durch:
    PATCH https://<nsx-mgr-ip>/policy/api/v1/infra/segments/<Segment to which vNIC is connected>/ports/<Seg-Port-vNIC>
    {
       "attachment": {
         "id": "<Attachment UUID of the vNIC>",
         "type": "PARENT"
      },
       "admin_state": "UP",
       "resource_type": "SegmentPort",
       "display_name": "parentport"
    }
    }
    Wenn der logische Schalter nicht über ein entsprechendes Segment verfügt, können Sie die folgenden REST API-Aufrufe tätigen (Proton-API des logischen Ports):
    PUT https://<nsx-mgr-ip>/api/v1/logical-ports/<Logical-Port UUID-of-the-vNIC>
    {
      "resource_type" : "LogicalPort",
      "display_name" : "parentport",
      "attachment" : {
        "attachment_type" : "VIF",
        "context" : {
          "resource_type" : "VifAttachmentContext",
          "vif_type": "PARENT"
        },
        "id" : "<Attachment UUID of the vNIC>"   
      },
      "admin_state" : "UP",
      "logical_switch_id" : "UUID of Logical Switch to which the vNIC is connected",  
      "_revision" : 0
    }
  2. Um untergeordnete Ports für einen übergeordneten vNIC-Port auf dem N-VDS zu erstellen, der den Unterschnittstellen auf einer VM zugeordnet ist, führen Sie folgenden API-Aufruf aus.
    Hinweis: Bevor Sie den API-Aufruf durchführen, stellen Sie sicher, dass ein Segment vorhanden ist, um untergeordnete Ports mit den Unterschnittstellen auf der VM zu verbinden.
    PUT https://<nsx-mgr-ip>/policy/api/v1/infra/segments/<Segment to which child port is connected>/ports/<Child-port>
    {
       "attachment": {
         "id": "<Attachment UUID of the CHILD port>",
         "type": "CHILD",
         "context_id": "<Attachment UUID of the PARENT port from Step 1>",
         "traffic_tag": <VLAN ID>,
         "app_id": "<ID of the attachment>", ==> display id(can be any string). Must be unique.
      },
       "address_bindings": [
        {
           "ip_address": "<IP address to the corresponding VLAN>",
           "mac_address": "<vNIC MAC Address>",
           "vlan_id": <VLAN ID>
        }
      ],
       "admin_state": "UP",
       "resource_type": "SegmentPort",
       "display_name": "<Name of the Child PORT>"
    }
    
    Wenn der logische Schalter nicht über ein entsprechendes Segment verfügt, können Sie die folgenden REST API-Aufrufe tätigen (Proton-API des logischen Ports):
    POST https://<nsx-mgr-ip>/api/v1/logical-ports/
    {
      "resource_type" : "LogicalPort",
      "display_name" : "<Name of the Child PORT>",   
      "attachment" : {
        "attachment_type" : "VIF",
        "context" : {
          "resource_type" : "VifAttachmentContext",
          "parent_vif_id" : "<UUID of the PARENT port from Step 1>",     
          "traffic_tag" : <VLAN ID>,    
          "app_id" : "<ID of the attachment>",  ==> display id(can give any string). Must be unique.
          "vif_type" : "CHILD"
        },
       "id" : "<ID of the CHILD port>"  
      },
      
      "logical_switch_id" : "<UUID of the Logical switch(not the PARENT PORT's logical switch) to which Child port would be connected to>",         
      "address_bindings" : [ { "mac_address" : "<vNIC MAC address>", "ip_address" : "<IP address to the corresponding VLAN>", "vlan" : <VLAN ID> } ],       
      "admin_state" : "UP"
    }

Ergebnisse

NSX erstellt Unterschnittstellen auf VMs.