Delen via


Virtuele netwerken van tenants maken, verwijderen of bijwerken

In dit onderwerp leert u hoe u Hyper-V Network VirtualIzation Virtual Networks kunt maken, verwijderen en bijwerken nadat u Software Defined Networking (SDN) hebt geïmplementeerd. Hyper-V Netwerkvirtualisatie helpt u tenantnetwerken te isoleren, zodat elk tenantnetwerk een afzonderlijke entiteit is. Elke entiteit heeft geen mogelijkheid tot kruisverbinding, tenzij u workloads voor openbare toegang configureert.

Een nieuw virtueel netwerk maken

Een virtueel netwerk voor een tenant creëren plaatst het binnen een uniek routeringsdomein op de Hyper-V-host. Onder elk virtueel netwerk bevindt zich ten minste één virtueel subnet. Virtuele subnetten worden gedefinieerd door een IP-voorvoegsel en verwijzen naar een eerder gedefinieerde ACL.

De stappen voor het maken van een nieuw virtueel netwerk zijn:

  1. Identificeer de IP-adresvoorvoegsels waaruit u de virtuele subnetten wilt maken.
  2. Identificeer het netwerk van de logische provider waarop het tenantverkeer wordt getunneld.
  3. Maak ten minste één virtueel subnet voor elk IP-voorvoegsel dat u in stap 1 hebt geïdentificeerd.
  4. (Optioneel) Voeg de eerder gemaakte ACL's toe aan de virtuele subnetten of voeg gatewayconnectiviteit toe voor tenants.

De volgende tabel bevat voorbeeldsubnet-id's en voorvoegsels voor twee fictieve tenants. De tenant Fabrikam heeft twee virtuele subnetten, terwijl de Contoso-tenant drie virtuele subnetten heeft.

Tenantnaam Id van virtueel subnet Virtueel subnetvoorvoegsel
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

In het volgende voorbeeldscript worden Windows PowerShell-opdrachten gebruikt die zijn geëxporteerd uit de module NetworkController om het virtuele netwerk en één subnet van Contoso te maken:

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

Een bestaand virtueel netwerk wijzigen

U kunt Windows PowerShell gebruiken om een bestaand virtueel subnet of netwerk bij te werken.

Wanneer u het volgende voorbeeldscript uitvoert, worden de bijgewerkte resources gewoon met dezelfde resource-id naar de netwerkcontroller geplaatst. Als uw tenant Contoso een nieuw virtueel subnet (24.30.2.0/24) wil toevoegen aan het virtuele netwerk, kan u of de Contoso-beheerder het volgende script gebruiken.

$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

Een virtueel netwerk verwijderen

U kunt Windows PowerShell gebruiken om een virtueel netwerk te verwijderen.

In het volgende Windows PowerShell-voorbeeld wordt een virtueel tenantnetwerk verwijderd door een HTTP-verwijdering uit te geven aan de URI van de resource-id.

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