建立、刪除或更新租用戶虛擬網路
在本主題中,您會了解如何在部署軟體定義網路 (SDN) 之後,建立、刪除及更新 Hyper-V 網路虛擬化虛擬網路。 Hyper-V 網路虛擬化可協助您隔離租用戶網路,讓每個租用戶網路都是個別的實體。 除非您設定公用存取工作負載,否則每個實體都沒有任何跨連線的可能性。
建立新的虛擬網路
建立租用戶的虛擬網路會將它放在 Hyper-V 主機上的唯一路由網域內。 在每個虛擬網路下方,至少有一個虛擬子網路。 虛擬子網路會由 IP 前置詞定義,並參考先前定義的 ACL。
建立新虛擬網路的步驟如下:
- 識別您要從中建立虛擬子網路的 IP 位址前置詞。
- 識別租用戶流量通道所在的邏輯提供者網路。
- 針對您在步驟 1 中所識別的每個 IP 前置詞,建立至少一個虛擬子網路。
- (選擇性) 將先前建立的 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