Adición de una puerta de enlace virtual a una red virtual de inquilino
Obtenga información sobre cómo usar cmdlets y scripts de Windows PowerShell para proporcionar conectividad de sitio a sitio para las redes virtuales del inquilino. En este tema, usará la Controladora de red para agregar puertas de enlace virtuales de inquilino a instancias de puerta de enlace RAS que pertenecen a grupos de puertas de enlace. La puerta de enlace RAS admite hasta 100 inquilinos, según el ancho de banda que usa cada inquilino. La Controladora de red determina automáticamente la puerta de enlace RAS más adecuada al implementar una nueva puerta de enlace virtual para los inquilinos.
Cada puerta de enlace virtual corresponde a un inquilino determinado e incluye una o varias conexiones de red (túneles VPN de sitio a sitio) y, opcionalmente, conexiones del Protocolo de puerta de enlace de borde (BGP). Al proporcionar conectividad de sitio a sitio, los clientes pueden conectar su red virtual de inquilino a una red externa, como una red empresarial de inquilino, una red del proveedor de servicios o Internet.
Al implementar una puerta de enlace virtual de inquilino, tiene las siguientes opciones de configuración:
Opciones de conexión de red | Opciones de configuración de BGP |
---|---|
|
|
Los scripts y comandos de ejemplo de Windows PowerShell que se incluyen en este tema muestran cómo implementar una puerta de enlace virtual de inquilino en una puerta de enlace RAS con cada una de estas opciones.
Importante
Antes de ejecutar cualquiera de los scripts y comandos de ejemplo de Windows PowerShell que se proporcionan, debe cambiar todos los valores de variable de modo que sean adecuados para la implementación.
Compruebe que el objeto del grupo de puertas de enlace existe en la Controladora de red.
$uri = "https://ncrest.contoso.com" # Retrieve the Gateway Pool configuration $gwPool = Get-NetworkControllerGatewayPool -ConnectionUri $uri # Display in JSON format $gwPool | ConvertTo-Json -Depth 2
Compruebe que la subred que se usa para enrutar paquetes fuera de la red virtual del inquilino existe en la Controladora de red. Recupere también la subred virtual que se usa para el enrutamiento entre la puerta de enlace de inquilino y la red virtual.
$uri = "https://ncrest.contoso.com" # Retrieve the Tenant Virtual Network configuration $Vnet = Get-NetworkControllerVirtualNetwork -ConnectionUri $uri -ResourceId "Contoso_Vnet1" # Display in JSON format $Vnet | ConvertTo-Json -Depth 4 # Retrieve the Tenant Virtual Subnet configuration $RoutingSubnet = Get-NetworkControllerVirtualSubnet -ConnectionUri $uri -ResourceId "Contoso_WebTier" -VirtualNetworkID $vnet.ResourceId # Display in JSON format $RoutingSubnet | ConvertTo-Json -Depth 4
Cree un objeto para la puerta de enlace virtual de inquilino y actualice la referencia del grupo de puertas de enlace. Especifique también la subred virtual que se usa para el enrutamiento entre la puerta de enlace y la red virtual. Después de especificar la subred virtual, actualice el resto de las propiedades del objeto de puerta de enlace virtual y agregue la nueva puerta de enlace virtual para el inquilino.
# Create a new object for Tenant Virtual Gateway $VirtualGWProperties = New-Object Microsoft.Windows.NetworkController.VirtualGatewayProperties # Update Gateway Pool reference $VirtualGWProperties.GatewayPools = @() $VirtualGWProperties.GatewayPools += $gwPool # Specify the Virtual Subnet that is to be used for routing between the gateway and Virtual Network $VirtualGWProperties.GatewaySubnets = @() $VirtualGWProperties.GatewaySubnets += $RoutingSubnet # Update the rest of the Virtual Gateway object properties $VirtualGWProperties.RoutingType = "Dynamic" $VirtualGWProperties.NetworkConnections = @() $VirtualGWProperties.BgpRouters = @() # Add the new Virtual Gateway for tenant $virtualGW = New-NetworkControllerVirtualGateway -ConnectionUri $uri -ResourceId "Contoso_VirtualGW" -Properties $VirtualGWProperties -Force
Cree una conexión VPN de sitio a sitio con reenvío de IPsec, GRE o capa 3 (L3).
Sugerencia
Opcionalmente, puede combinar todos los pasos anteriores y configurar una puerta de enlace virtual de inquilino con las tres opciones de conexión. Para obtener más información, consulte Configuración de una puerta de enlace con los tres tipos de conexión (IPsec, GRE, L3) y BGP.
Nota
PerfectForwardSecrecy
debe coincidir con los sitios locales y remotos.Conexión de red de sitio a sitio de VPN de IPsec
# Create a new object for Tenant Network Connection $nwConnectionProperties = New-Object Microsoft.Windows.NetworkController.NetworkConnectionProperties # Update the common object properties $nwConnectionProperties.ConnectionType = "IPSec" $nwConnectionProperties.OutboundKiloBitsPerSecond = 10000 $nwConnectionProperties.InboundKiloBitsPerSecond = 10000 # Update specific properties depending on the Connection Type $nwConnectionProperties.IpSecConfiguration = New-Object Microsoft.Windows.NetworkController.IpSecConfiguration $nwConnectionProperties.IpSecConfiguration.AuthenticationMethod = "PSK" $nwConnectionProperties.IpSecConfiguration.SharedSecret = "P@ssw0rd" $nwConnectionProperties.IpSecConfiguration.QuickMode = New-Object Microsoft.Windows.NetworkController.QuickMode $nwConnectionProperties.IpSecConfiguration.QuickMode.PerfectForwardSecrecy = "PFS2048" $nwConnectionProperties.IpSecConfiguration.QuickMode.AuthenticationTransformationConstant = "SHA256128" $nwConnectionProperties.IpSecConfiguration.QuickMode.CipherTransformationConstant = "DES3" $nwConnectionProperties.IpSecConfiguration.QuickMode.SALifeTimeSeconds = 1233 $nwConnectionProperties.IpSecConfiguration.QuickMode.IdleDisconnectSeconds = 500 $nwConnectionProperties.IpSecConfiguration.QuickMode.SALifeTimeKiloBytes = 1048576 $nwConnectionProperties.IpSecConfiguration.MainMode = New-Object Microsoft.Windows.NetworkController.MainMode $nwConnectionProperties.IpSecConfiguration.MainMode.DiffieHellmanGroup = "Group2" $nwConnectionProperties.IpSecConfiguration.MainMode.IntegrityAlgorithm = "SHA256" $nwConnectionProperties.IpSecConfiguration.MainMode.EncryptionAlgorithm = "AES256" $nwConnectionProperties.IpSecConfiguration.MainMode.SALifeTimeSeconds = 1234 $nwConnectionProperties.IpSecConfiguration.MainMode.SALifeTimeKiloBytes = 1048576 # L3 specific configuration (leave blank for IPSec) $nwConnectionProperties.IPAddresses = @() $nwConnectionProperties.PeerIPAddresses = @() # Update the IPv4 Routes that are reachable over the site-to-site VPN Tunnel $nwConnectionProperties.Routes = @() $ipv4Route = New-Object Microsoft.Windows.NetworkController.RouteInfo $ipv4Route.DestinationPrefix = "14.1.10.1/32" $ipv4Route.metric = 10 $nwConnectionProperties.Routes += $ipv4Route # Tunnel Destination (Remote Endpoint) Address $nwConnectionProperties.DestinationIPAddress = "10.127.134.121" # Add the new Network Connection for the tenant New-NetworkControllerVirtualGatewayNetworkConnection -ConnectionUri $uri -VirtualGatewayId $virtualGW.ResourceId -ResourceId "Contoso_IPSecGW" -Properties $nwConnectionProperties -Force
Conexión de red de sitio a sitio de VPN de GRE
# Create a new object for the Tenant Network Connection $nwConnectionProperties = New-Object Microsoft.Windows.NetworkController.NetworkConnectionProperties # Update the common object properties $nwConnectionProperties.ConnectionType = "GRE" $nwConnectionProperties.OutboundKiloBitsPerSecond = 10000 $nwConnectionProperties.InboundKiloBitsPerSecond = 10000 # Update specific properties depending on the Connection Type $nwConnectionProperties.GreConfiguration = New-Object Microsoft.Windows.NetworkController.GreConfiguration $nwConnectionProperties.GreConfiguration.GreKey = 1234 # Update the IPv4 Routes that are reachable over the site-to-site VPN Tunnel $nwConnectionProperties.Routes = @() $ipv4Route = New-Object Microsoft.Windows.NetworkController.RouteInfo $ipv4Route.DestinationPrefix = "14.2.20.1/32" $ipv4Route.metric = 10 $nwConnectionProperties.Routes += $ipv4Route # Tunnel Destination (Remote Endpoint) Address $nwConnectionProperties.DestinationIPAddress = "10.127.134.122" # L3 specific configuration (leave blank for GRE) $nwConnectionProperties.L3Configuration = New-Object Microsoft.Windows.NetworkController.L3Configuration $nwConnectionProperties.IPAddresses = @() $nwConnectionProperties.PeerIPAddresses = @() # Add the new Network Connection for the tenant New-NetworkControllerVirtualGatewayNetworkConnection -ConnectionUri $uri -VirtualGatewayId $virtualGW.ResourceId -ResourceId "Contoso_GreGW" -Properties $nwConnectionProperties -Force
Conexión de red de reenvío de L3
Para que una conexión de red de reenvío de L3 funcione correctamente, debe configurar una red lógica correspondiente.
Configure una red lógica para la conexión de red de reenvío de L3.
# Create a new object for the Logical Network to be used for L3 Forwarding $lnProperties = New-Object Microsoft.Windows.NetworkController.LogicalNetworkProperties $lnProperties.NetworkVirtualizationEnabled = $false $lnProperties.Subnets = @() # Create a new object for the Logical Subnet to be used for L3 Forwarding and update properties $logicalsubnet = New-Object Microsoft.Windows.NetworkController.LogicalSubnet $logicalsubnet.ResourceId = "Contoso_L3_Subnet" $logicalsubnet.Properties = New-Object Microsoft.Windows.NetworkController.LogicalSubnetProperties $logicalsubnet.Properties.VlanID = 1001 $logicalsubnet.Properties.AddressPrefix = "10.127.134.0/25" $logicalsubnet.Properties.DefaultGateways = "10.127.134.1" $lnProperties.Subnets += $logicalsubnet # Add the new Logical Network to Network Controller $vlanNetwork = New-NetworkControllerLogicalNetwork -ConnectionUri $uri -ResourceId "Contoso_L3_Network" -Properties $lnProperties -Force
Cree un objeto JSON de conexión de red y agréguelo a la Controladora de red.
# Create a new object for the Tenant Network Connection $nwConnectionProperties = New-Object Microsoft.Windows.NetworkController.NetworkConnectionProperties # Update the common object properties $nwConnectionProperties.ConnectionType = "L3" $nwConnectionProperties.OutboundKiloBitsPerSecond = 10000 $nwConnectionProperties.InboundKiloBitsPerSecond = 10000 # GRE specific configuration (leave blank for L3) $nwConnectionProperties.GreConfiguration = New-Object Microsoft.Windows.NetworkController.GreConfiguration # Update specific properties depending on the Connection Type $nwConnectionProperties.L3Configuration = New-Object Microsoft.Windows.NetworkController.L3Configuration $nwConnectionProperties.L3Configuration.VlanSubnet = $vlanNetwork.properties.Subnets[0] $nwConnectionProperties.IPAddresses = @() $localIPAddress = New-Object Microsoft.Windows.NetworkController.CidrIPAddress $localIPAddress.IPAddress = "10.127.134.55" $localIPAddress.PrefixLength = 25 $nwConnectionProperties.IPAddresses += $localIPAddress $nwConnectionProperties.PeerIPAddresses = @("10.127.134.65") # Update the IPv4 Routes that are reachable over the site-to-site VPN Tunnel $nwConnectionProperties.Routes = @() $ipv4Route = New-Object Microsoft.Windows.NetworkController.RouteInfo $ipv4Route.DestinationPrefix = "14.2.20.1/32" $ipv4Route.metric = 10 $nwConnectionProperties.Routes += $ipv4Route # Add the new Network Connection for the tenant New-NetworkControllerVirtualGatewayNetworkConnection -ConnectionUri $uri -VirtualGatewayId $virtualGW.ResourceId -ResourceId "Contoso_L3GW" -Properties $nwConnectionProperties -Force
Configure la puerta de enlace como enrutador BGP y agréguela a la Controladora de red.
Agregue un enrutador de BGP para el inquilino.
# Create a new object for the Tenant BGP Router $bgpRouterproperties = New-Object Microsoft.Windows.NetworkController.VGwBgpRouterProperties # Update the BGP Router properties $bgpRouterproperties.ExtAsNumber = "0.64512" # Add the new BGP Router for the tenant $bgpRouter = New-NetworkControllerVirtualGatewayBgpRouter -ConnectionUri $uri -VirtualGatewayId $virtualGW.ResourceId -ResourceId "Contoso_BgpRouter1" -Properties $bgpRouterProperties -Force
Agregue un par BGP para este inquilino, que corresponde a la conexión de red VPN de sitio a sitio que se agregó anteriormente.
# Create a new object for Tenant BGP Peer $bgpPeerProperties = New-Object Microsoft.Windows.NetworkController.VGwBgpPeerProperties # Update the BGP Peer properties $bgpPeerProperties.PeerIpAddress = "14.1.10.1" $bgpPeerProperties.AsNumber = 64521 $bgpPeerProperties.ExtAsNumber = "0.64521" # Add the new BGP Peer for tenant New-NetworkControllerVirtualGatewayBgpPeer -ConnectionUri $uri -VirtualGatewayId $virtualGW.ResourceId -BgpRouterName $bgpRouter.ResourceId -ResourceId "Contoso_IPSec_Peer" -Properties $bgpPeerProperties -Force
(Paso opcional) Configuración de una puerta de enlace con los tres tipos de conexión (IPsec, GRE, L3) y BGP
Opcionalmente, puede combinar todos los pasos anteriores y configurar una puerta de enlace virtual de inquilino con las tres opciones de conexión:
Nota
PerfectForwardSecrecy
debe coincidir con los sitios locales y remotos.
# Create a new Virtual Gateway Properties type object
$VirtualGWProperties = New-Object Microsoft.Windows.NetworkController.VirtualGatewayProperties
# Update GatewayPool reference
$VirtualGWProperties.GatewayPools = @()
$VirtualGWProperties.GatewayPools += $gwPool
# Specify the Virtual Subnet that is to be used for routing between GW and VNET
$VirtualGWProperties.GatewaySubnets = @()
$VirtualGWProperties.GatewaySubnets += $RoutingSubnet
# Update some basic properties
$VirtualGWProperties.RoutingType = "Dynamic"
# Update Network Connection object(s)
$VirtualGWProperties.NetworkConnections = @()
# IPSec Connection configuration
$ipSecConnection = New-Object Microsoft.Windows.NetworkController.NetworkConnection
$ipSecConnection.ResourceId = "Contoso_IPSecGW"
$ipSecConnection.Properties = New-Object Microsoft.Windows.NetworkController.NetworkConnectionProperties
$ipSecConnection.Properties.ConnectionType = "IPSec"
$ipSecConnection.Properties.OutboundKiloBitsPerSecond = 10000
$ipSecConnection.Properties.InboundKiloBitsPerSecond = 10000
$ipSecConnection.Properties.IpSecConfiguration = New-Object Microsoft.Windows.NetworkController.IpSecConfiguration
$ipSecConnection.Properties.IpSecConfiguration.AuthenticationMethod = "PSK"
$ipSecConnection.Properties.IpSecConfiguration.SharedSecret = "P@ssw0rd"
$ipSecConnection.Properties.IpSecConfiguration.QuickMode = New-Object Microsoft.Windows.NetworkController.QuickMode
$ipSecConnection.Properties.IpSecConfiguration.QuickMode.PerfectForwardSecrecy = "PFS2048"
$ipSecConnection.Properties.IpSecConfiguration.QuickMode.AuthenticationTransformationConstant = "SHA256128"
$ipSecConnection.Properties.IpSecConfiguration.QuickMode.CipherTransformationConstant = "DES3"
$ipSecConnection.Properties.IpSecConfiguration.QuickMode.SALifeTimeSeconds = 1233
$ipSecConnection.Properties.IpSecConfiguration.QuickMode.IdleDisconnectSeconds = 500
$ipSecConnection.Properties.IpSecConfiguration.QuickMode.SALifeTimeKiloBytes = 1048576
$ipSecConnection.Properties.IpSecConfiguration.MainMode = New-Object Microsoft.Windows.NetworkController.MainMode
$ipSecConnection.Properties.IpSecConfiguration.MainMode.DiffieHellmanGroup = "Group2"
$ipSecConnection.Properties.IpSecConfiguration.MainMode.IntegrityAlgorithm = "SHA256"
$ipSecConnection.Properties.IpSecConfiguration.MainMode.EncryptionAlgorithm = "AES256"
$ipSecConnection.Properties.IpSecConfiguration.MainMode.SALifeTimeSeconds = 1234
$ipSecConnection.Properties.IpSecConfiguration.MainMode.SALifeTimeKiloBytes = 1048576
$ipSecConnection.Properties.IPAddresses = @()
$ipSecConnection.Properties.PeerIPAddresses = @()
$ipSecConnection.Properties.Routes = @()
$ipv4Route = New-Object Microsoft.Windows.NetworkController.RouteInfo
$ipv4Route.DestinationPrefix = "14.1.10.1/32"
$ipv4Route.metric = 10
$ipSecConnection.Properties.Routes += $ipv4Route
$ipSecConnection.Properties.DestinationIPAddress = "10.127.134.121"
# GRE Connection configuration
$greConnection = New-Object Microsoft.Windows.NetworkController.NetworkConnection
$greConnection.ResourceId = "Contoso_GreGW"
$greConnection.Properties = New-Object Microsoft.Windows.NetworkController.NetworkConnectionProperties
$greConnection.Properties.ConnectionType = "GRE"
$greConnection.Properties.OutboundKiloBitsPerSecond = 10000
$greConnection.Properties.InboundKiloBitsPerSecond = 10000
$greConnection.Properties.GreConfiguration = New-Object Microsoft.Windows.NetworkController.GreConfiguration
$greConnection.Properties.GreConfiguration.GreKey = 1234
$greConnection.Properties.IPAddresses = @()
$greConnection.Properties.PeerIPAddresses = @()
$greConnection.Properties.Routes = @()
$ipv4Route = New-Object Microsoft.Windows.NetworkController.RouteInfo
$ipv4Route.DestinationPrefix = "14.2.20.1/32"
$ipv4Route.metric = 10
$greConnection.Properties.Routes += $ipv4Route
$greConnection.Properties.DestinationIPAddress = "10.127.134.122"
$greConnection.Properties.L3Configuration = New-Object Microsoft.Windows.NetworkController.L3Configuration
# L3 Forwarding connection configuration
$l3Connection = New-Object Microsoft.Windows.NetworkController.NetworkConnection
$l3Connection.ResourceId = "Contoso_L3GW"
$l3Connection.Properties = New-Object Microsoft.Windows.NetworkController.NetworkConnectionProperties
$l3Connection.Properties.ConnectionType = "L3"
$l3Connection.Properties.OutboundKiloBitsPerSecond = 10000
$l3Connection.Properties.InboundKiloBitsPerSecond = 10000
$l3Connection.Properties.GreConfiguration = New-Object Microsoft.Windows.NetworkController.GreConfiguration
$l3Connection.Properties.L3Configuration = New-Object Microsoft.Windows.NetworkController.L3Configuration
$l3Connection.Properties.L3Configuration.VlanSubnet = $vlanNetwork.properties.Subnets[0]
$l3Connection.Properties.IPAddresses = @()
$localIPAddress = New-Object Microsoft.Windows.NetworkController.CidrIPAddress
$localIPAddress.IPAddress = "10.127.134.55"
$localIPAddress.PrefixLength = 25
$l3Connection.Properties.IPAddresses += $localIPAddress
$l3Connection.Properties.PeerIPAddresses = @("10.127.134.65")
$l3Connection.Properties.Routes = @()
$ipv4Route = New-Object Microsoft.Windows.NetworkController.RouteInfo
$ipv4Route.DestinationPrefix = "14.2.20.1/32"
$ipv4Route.metric = 10
$l3Connection.Properties.Routes += $ipv4Route
# Update BGP Router Object
$VirtualGWProperties.BgpRouters = @()
$bgpRouter = New-Object Microsoft.Windows.NetworkController.VGwBgpRouter
$bgpRouter.ResourceId = "Contoso_BgpRouter1"
$bgpRouter.Properties = New-Object Microsoft.Windows.NetworkController.VGwBgpRouterProperties
$bgpRouter.Properties.ExtAsNumber = "0.64512"
$bgpRouter.Properties.BgpPeers = @()
# Create BGP Peer Object(s)
# BGP Peer for IPSec Connection
$bgpPeer_IPSec = New-Object Microsoft.Windows.NetworkController.VGwBgpPeer
$bgpPeer_IPSec.ResourceId = "Contoso_IPSec_Peer"
$bgpPeer_IPSec.Properties = New-Object Microsoft.Windows.NetworkController.VGwBgpPeerProperties
$bgpPeer_IPSec.Properties.PeerIpAddress = "14.1.10.1"
$bgpPeer_IPSec.Properties.AsNumber = 64521
$bgpPeer_IPSec.Properties.ExtAsNumber = "0.64521"
$bgpRouter.Properties.BgpPeers += $bgpPeer_IPSec
# BGP Peer for GRE Connection
$bgpPeer_Gre = New-Object Microsoft.Windows.NetworkController.VGwBgpPeer
$bgpPeer_Gre.ResourceId = "Contoso_Gre_Peer"
$bgpPeer_Gre.Properties = New-Object Microsoft.Windows.NetworkController.VGwBgpPeerProperties
$bgpPeer_Gre.Properties.PeerIpAddress = "14.2.20.1"
$bgpPeer_Gre.Properties.AsNumber = 64522
$bgpPeer_Gre.Properties.ExtAsNumber = "0.64522"
$bgpRouter.Properties.BgpPeers += $bgpPeer_Gre
# BGP Peer for L3 Connection
$bgpPeer_L3 = New-Object Microsoft.Windows.NetworkController.VGwBgpPeer
$bgpPeer_L3.ResourceId = "Contoso_L3_Peer"
$bgpPeer_L3.Properties = New-Object Microsoft.Windows.NetworkController.VGwBgpPeerProperties
$bgpPeer_L3.Properties.PeerIpAddress = "14.3.30.1"
$bgpPeer_L3.Properties.AsNumber = 64523
$bgpPeer_L3.Properties.ExtAsNumber = "0.64523"
$bgpRouter.Properties.BgpPeers += $bgpPeer_L3
$VirtualGWProperties.BgpRouters += $bgpRouter
# Finally Add the new Virtual Gateway for tenant
New-NetworkControllerVirtualGateway -ConnectionUri $uri -ResourceId "Contoso_VirtualGW" -Properties $VirtualGWProperties -Force
Modificación de una puerta de enlace para una red virtual
Recuperación de la configuración del componente y almacenamiento en una variable
$nwConnection = Get-NetworkControllerVirtualGatewayNetworkConnection -ConnectionUri $uri -VirtualGatewayId "Contoso_VirtualGW" -ResourceId "Contoso_IPSecGW"
Navegación por la estructura de variables para llegar a la propiedad necesaria y establecerla en el valor de las actualizaciones
$nwConnection.properties.IpSecConfiguration.SharedSecret = "C0mplexP@ssW0rd"
Adición de la configuración modificada para reemplazar la configuración anterior en la Controladora de red
New-NetworkControllerVirtualGatewayNetworkConnection -ConnectionUri $uri -VirtualGatewayId "Contoso_VirtualGW" -ResourceId $nwConnection.ResourceId -Properties $nwConnection.Properties -Force
Eliminación de una puerta de enlace que se encuentra en una red virtual
Puede usar los siguientes comandos de Windows PowerShell para quitar características individuales de la puerta de enlace o toda la puerta de enlace.
Eliminación de una conexión de red
Remove-NetworkControllerVirtualGatewayNetworkConnection -ConnectionUri $uri -VirtualGatewayId "Contoso_VirtualGW" -ResourceId "Contoso_IPSecGW" -Force
Eliminación de un par BGP
Remove-NetworkControllerVirtualGatewayBgpPeer -ConnectionUri $uri -VirtualGatewayId "Contoso_VirtualGW" -BgpRouterName "Contoso_BgpRouter1" -ResourceId "Contoso_IPSec_Peer" -Force
Eliminación de un enrutador BGP
Remove-NetworkControllerVirtualGatewayBgpRouter -ConnectionUri $uri -VirtualGatewayId "Contoso_VirtualGW" -ResourceId "Contoso_BgpRouter1" -Force
Eliminación de una puerta de enlace
Remove-NetworkControllerVirtualGateway -ConnectionUri $uri -ResourceId "Contoso_VirtualGW" -Force