Creación, eliminación o actualización de redes virtuales de inquilinos
En este tema se ofrece información sobre cómo crear, eliminar y actualizar las redes virtuales de Virtualización de red de Hyper-V después de implementar las Redes definidas por software (SDN). Mediante la virtualización de red de Hyper-V se pueden aislar las redes de inquilinos para que cada red de inquilinos sea una entidad independiente. Las entidades no tienen ninguna posibilidad de conexión cruzada, a menos que se configuren cargas de trabajo de acceso público.
Cree una nueva red virtual.
La creación de una red virtual para un inquilino la coloca dentro un dominio de enrutamiento único en el host de Hyper-V. Bajo cada red virtual, hay al menos una subred virtual. Las subredes virtuales se definen mediante un prefijo IP y hacen referencia a una ACL definida previamente.
Los pasos para crear una red virtual consisten en:
- Identifique los prefijos de dirección IP desde los que quiere crear las subredes virtuales.
- Identifique la red del proveedor lógico en la que se tunelizará el tráfico del inquilino.
- Cree al menos una subred virtual para cada prefijo IP que se identificó en el paso 1.
- (Opcional) Agregue las ACL creadas anteriormente a las subredes virtuales o agregue conectividad de puerta de enlace para los inquilinos.
En la tabla siguiente se incluyen identificadores y prefijos de subred de ejemplo para dos inquilinos ficticios. El inquilino Fabrikam tiene dos subredes virtuales, mientras que el inquilino de Contoso dispone de tres subredes virtuales.
Nombre del inquilino | Id. de subred virtual | Prefijo de subred virtual |
---|---|---|
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 |
En el siguiente ejemplo de script se usan comandos Windows PowerShell exportados desde el módulo Controlador de red para crear la red virtual de Contoso y una subred:
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
Modificación de una red virtual existente
Se puede usar Windows PowerShell para actualizar una subred o una red virtual existente.
Al ejecutar el siguiente script de ejemplo, los recursos actualizados son simplemente PUT en el Controlador de red con el mismo identificador de recurso. Si el inquilino Contoso quiere agregar una nueva subred virtual (24.30.2.0/24) a su red virtual, usted o el administrador de Contoso puede usar el siguiente script.
$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
Eliminar una red virtual
Se puede usar Windows PowerShell para eliminar una red virtual.
En el ejemplo siguiente de Windows PowerShell se elimina una red virtual de inquilino al emitir una eliminación http al URI del identificador de recurso.
Remove-NetworkControllerVirtualNetwork -ResourceId "Contoso_Vnet1" -ConnectionUri $uri