在覆疊網路上,NSX-T 支援在 L3 網域上路由 VLAN 間流量。在路由期間,虛擬分散式路由器 (VDR) 會使用 VLAN 識別碼來路由 VLAN 子網路之間的封包。
VLAN 間路由克服了每個虛擬機器只能使用 10 個 vNIC 的限制。NSX-T 支援 VLAN 間路由,可確保能夠在 vNIC 上建立多個 VLAN 子介面,並且用於不同的網路服務。例如,虛擬機器的一個 vNIC 可分割為多個子介面。每個子介面分別屬於一個子網路,可主控 SNMP 或 DHCP 等網路服務。例如,使用 VLAN 間路由時,VLAN-10 上的子介面可連線到 VLAN-10 或任何其他 VLAN 上的子介面。
虛擬機器上的每個 vNIC 都會透過負責管理未標記封包的父系邏輯連接埠連線至 N-VDS。
若要建立子介面,請在增強型 N-VDS 交換器上,使用 API 與相關聯的 VIF 透過程序中說明的 API 呼叫來建立子系連接埠。以 VLAN 識別碼標記的子介面會與新的邏輯交換器相關聯,例如,VLAN10 會連結至邏輯交換器 LS-VLAN-10。VLAN10 的所有子介面都必須連結至 LS-VLAN-10。子介面的 VLAN 識別碼及其相關聯的邏輯交換器之間的這種 1 對 1 對應,是一項重要的必要條件。例如,若將 VLAN20 的子系連接埠新增至對應於 VLAN-10 的邏輯交換器 LS-VLAN-10,將會使 VLAN 之間的封包路由無法運作。這類組態錯誤會導致 VLAN 間路由無法運作。
程序
- 若要為 vNIC 建立子介面,請確定 vNIC 已更新至父系連接埠。請進行下列 REST API 呼叫。
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
}
- 若要在與虛擬機器上的子介面相關聯的 N-VDS 上建立父系 vNIC 連接埠的子連接埠,請進行 API 呼叫。在進行 API 呼叫前,請先確認有邏輯交換器存在,以將子連接埠與虛擬機器上的子介面連線。
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"
}
結果
NSX-T Data Center 會在虛擬機器上建立子介面。