建立、刪除或更新租用戶虛擬網路

適用於:Windows Server 2022、Windows Server 2019、Windows Server 2016、Azure Stack HCI 21H2 和 20H2 版本

在本主題中,您會了解如何在部署軟體定義網路 (SDN) 之後,建立、刪除及更新 Hyper-V 網路虛擬化虛擬網路。 Hyper-V 網路虛擬化可協助您隔離租用戶網路,讓每個租用戶網路都是個別的實體。 除非您設定公用存取工作負載,否則每個實體都沒有任何跨連線的可能性。

建立新的虛擬網路

建立租用戶的虛擬網路會將它放在 Hyper-V 主機上的唯一路由網域內。 在每個虛擬網路下方,至少有一個虛擬子網路。 虛擬子網路會由 IP 前置詞定義,並參考先前定義的 ACL。

建立新虛擬網路的步驟如下:

  1. 識別您要從中建立虛擬子網路的 IP 位址前置詞。
  2. 識別租用戶流量通道所在的邏輯提供者網路。
  3. 針對您在步驟 1 中所識別的每個 IP 前置詞,建立至少一個虛擬子網路。
  4. (選擇性) 將先前建立的 ACL 新增至虛擬子網路,或為租用戶新增閘道連線。

下表包含兩個虛構租用戶的範例子網路識別碼和前置詞。 租用戶 Fabrikam 有兩個虛擬子網路,而 Contoso 租用戶有三個虛擬子網路。

租用戶名稱 虛擬子網路識別碼 虛擬子網路首碼
Fabrikam 5001 24.30.1.0/24
Fabrikam 5002 24.30.2.0/20
Contoso 6001 24.30.1.0/24
Contoso 6002 24.30.2.0/24
Contoso 6003 24.30.3.0/24

下列範例指令碼會使用從 NetworkController 模組匯出的 Windows PowerShell 命令來建立 Contoso 的虛擬網路和一個子網路:

import-module networkcontroller
$URI = "https://ncrest.contoso.local"

#Find the HNV Provider Logical Network

$logicalnetworks = Get-NetworkControllerLogicalNetwork -ConnectionUri $uri
foreach ($ln in $logicalnetworks) {
   if ($ln.Properties.NetworkVirtualizationEnabled -eq "True") {
      $HNVProviderLogicalNetwork = $ln
   }
}

#Find the Access Control List to user per virtual subnet

$acllist = Get-NetworkControllerAccessControlList -ConnectionUri $uri -ResourceId "AllowAll"

#Create the Virtual Subnet

$vsubnet = new-object Microsoft.Windows.NetworkController.VirtualSubnet
$vsubnet.ResourceId = "Contoso_WebTier"
$vsubnet.Properties = new-object Microsoft.Windows.NetworkController.VirtualSubnetProperties
$vsubnet.Properties.AccessControlList = $acllist
$vsubnet.Properties.AddressPrefix = "24.30.1.0/24"

#Create the Virtual Network

$vnetproperties = new-object Microsoft.Windows.NetworkController.VirtualNetworkProperties
$vnetproperties.AddressSpace = new-object Microsoft.Windows.NetworkController.AddressSpace
$vnetproperties.AddressSpace.AddressPrefixes = @("24.30.1.0/24")
$vnetproperties.LogicalNetwork = $HNVProviderLogicalNetwork
$vnetproperties.Subnets = @($vsubnet)
New-NetworkControllerVirtualNetwork -ResourceId "Contoso_VNet1" -ConnectionUri $uri -Properties $vnetproperties

修改現有的虛擬網路

您可以使用 Windows PowerShell 來更新現有的虛擬子網路或網路。

當您執行下列範例指令碼時,更新的資源只會以相同的資源識別碼 PUT 到網路控制站。 如果您的租用戶 Contoso 想要將新的虛擬子網路 (24.30.2.0/24) 新增至其虛擬網路,您或 Contoso 系統管理員都可以使用下列指令碼。

$acllist = Get-NetworkControllerAccessControlList -ConnectionUri $uri -ResourceId "AllowAll"

$vnet = Get-NetworkControllerVirtualNetwork -ResourceId "Contoso_VNet1" -ConnectionUri $uri

$vnet.properties.AddressSpace.AddressPrefixes += "24.30.2.0/24"

$vsubnet = new-object Microsoft.Windows.NetworkController.VirtualSubnet
$vsubnet.ResourceId = "Contoso_DBTier"
$vsubnet.Properties = new-object Microsoft.Windows.NetworkController.VirtualSubnetProperties
$vsubnet.Properties.AccessControlList = $acllist
$vsubnet.Properties.AddressPrefix = "24.30.2.0/24"

$vnet.properties.Subnets += $vsubnet

New-NetworkControllerVirtualNetwork -ResourceId "Contoso_VNet1" -ConnectionUri $uri -properties $vnet.properties

刪除虛擬網路

您可以使用 Windows PowerShell 來刪除虛擬網路。

下列 Windows PowerShell 範例會發出 HTTP 刪除至資源識別碼的 URI,以刪除租用戶虛擬網路。

Remove-NetworkControllerVirtualNetwork -ResourceId "Contoso_Vnet1" -ConnectionUri $uri