Configurar a Rota Expressa e conexões coexistentes site a site usando o PowerShell

Este artigo ajuda você a configurar a Rota Expressa e conexões VPN site a site que coexistem. Ter a capacidade de configurar VPN site a site e ExpressRoute tem várias vantagens. Você pode configurar VPN site a site como um caminho de failover seguro para a Rota Expressa ou usar VPNs site a site para se conectar a sites que não estão conectados por meio da Rota Expressa. Abordamos os passos para configurar ambos os cenários neste artigo. Este artigo aplica-se ao modelo de implementação clássica e do Resource Manager.

Configurar conexões coexistentes de VPN site a site e Rota Expressa tem várias vantagens:

  • Você pode configurar uma VPN site a site como um caminho de failover seguro para a Rota Expressa.
  • Como alternativa, você pode usar VPNs site a site para se conectar a sites que não estão conectados por meio da Rota Expressa.

São abrangidos neste artigo os passos para configurar ambos os cenários. Este artigo aplica-se ao modelo de implementação do Resource Manager e utiliza o PowerShell. Você também pode configurar esses cenários usando o portal do Azure, embora a documentação ainda não esteja disponível. Você pode configurar qualquer gateway primeiro. Normalmente, você não enfrenta nenhum tempo de inatividade ao adicionar um novo gateway ou conexão de gateway.

Nota

Se você quiser criar uma VPN site a site em um circuito de Rota Expressa, consulte VPN site a site sobre emparelhamento da Microsoft.

Limites e limitações

  • É apenas suportado o Gateway de VPN baseado na rota. Você deve usar um gateway VPN baseado em rota. Você também pode usar um gateway VPN baseado em rota com uma conexão VPN configurada para "seletores de tráfego baseados em política", conforme descrito em Conectar-se a vários dispositivos VPN baseados em política.
  • As configurações coexistentes do ExpressRoute-VPN Gateway não são suportadas no Basic SKU.
  • Se você quiser usar o roteamento de trânsito entre a Rota Expressa e a VPN, o ASN do Gateway de VPN do Azure deve ser definido como 65515 e o Servidor de Rota do Azure deve ser usado. O Gateway de VPN do Azure dá suporte ao protocolo de roteamento BGP. Para que o ExpressRoute e a VPN do Azure trabalhem juntos, você deve manter o Número do Sistema Autônomo do gateway de VPN do Azure em seu valor padrão, 65515. Se você selecionou anteriormente um ASN diferente de 65515 e alterou a configuração para 65515, deverá redefinir o gateway de VPN para que a configuração entre em vigor.
  • A sub-rede do gateway deve ser /27 ou um prefixo mais curto, como /26, /25, ou você recebe uma mensagem de erro quando adiciona o gateway de rede virtual ExpressRoute.
  • Não há suporte para coexistência em uma rede virtual de pilha dupla. Se você estiver usando o suporte a IPv6 da Rota Expressa e um gateway de Rota Expressa de pilha dupla, a coexistência com o Gateway de VPN não será possível.

Estruturas de configuração

Configurar uma VPN site a site como um caminho de failover para a Rota Expressa

Você pode configurar uma conexão VPN site a site como um backup para sua conexão de Rota Expressa. Esta ligação aplica-se apenas às redes virtuais ligadas ao caminho de peering privado do Azure. Não há nenhuma solução de failover baseada em VPN para serviços acessíveis por meio do emparelhamento da Microsoft do Azure. O circuito ExpressRoute é sempre a ligação primária. Os dados fluem pelo caminho VPN site a site somente se o circuito da Rota Expressa falhar. Para evitar roteamento assimétrico, sua configuração de rede local também deve preferir o circuito ExpressRoute à VPN site a site. Pode preferir o caminho do ExpressRoute ao definir uma preferência local mais elevada para as rotas que receberam o ExpressRoute.

Nota

  • Se você tiver o emparelhamento Microsoft da Rota Expressa habilitado, poderá receber o endereço IP público do gateway de VPN do Azure na conexão da Rota Expressa. Para configurar sua conexão VPN site a site como um backup, você deve configurar sua rede local para que a conexão VPN seja roteada para a Internet.

  • Embora o caminho do circuito da Rota Expressa seja preferido em relação à VPN site a site quando ambas as rotas são as mesmas, o Azure usa a correspondência de prefixo mais longa para escolher a rota em direção ao destino do pacote.

Diagram that shows a site-to-site VPN connection as a backup for ExpressRoute.

Configurar uma VPN site a site para se conectar a sites não conectados por meio da Rota Expressa

Você pode configurar sua rede onde alguns sites se conectam diretamente ao Azure por VPN site a site e alguns sites se conectam por meio da Rota Expressa.

Coexist

Selecionar os passos a utilizar

Existem dois conjuntos de procedimentos diferentes à escolha. O procedimento de configuração que selecionar depende do facto de pretender ligar-se a uma rede virtual já existente ou criar uma nova.

  • Não tenho uma VNet e preciso de criar uma.

    Se você ainda não tiver uma rede virtual, este procedimento o orientará na criação de uma nova rede virtual usando o modelo de implantação do Resource Manager e criando novas conexões VPN de Rota Expressa e site a site.

  • Já tenho uma VNet do modelo de implementação Resource Manager.

    Talvez você já tenha uma rede virtual com uma conexão VPN site a site existente ou uma conexão ExpressRoute. Nesse cenário, se o prefixo da sub-rede do gateway for /28 ou mais (/29, /30, etc.), será necessário excluir o gateway existente. As etapas para configurar conexões coexistentes para uma seção de rede virtual já existente orientam você na exclusão do gateway e, em seguida, na criação de novas conexões ExpressRoute e VPN site a site.

    Se você excluir e recriar seu gateway, enfrentará tempo de inatividade para suas conexões entre locais. No entanto, suas VMs e serviços podem se conectar pela Internet enquanto você configura seu gateway, se estiverem configurados para isso.

Antes de começar

As etapas e exemplos neste artigo usam módulos Az do Azure PowerShell. Para instalar os módulos Az localmente no seu computador, consulte Instalar o Azure PowerShell. Para saber mais sobre o novo módulo Az, consulte Apresentando o novo módulo Az do Azure PowerShell. Os cmdlets do PowerShell são atualizados com frequência. Se você não estiver executando a versão mais recente, os valores especificados nas instruções podem falhar. Para localizar as versões instaladas do PowerShell em seu sistema, use o Get-Module -ListAvailable Az cmdlet.

Você pode usar o Azure Cloud Shell para executar a maioria dos cmdlets do PowerShell e comandos da CLI, em vez de instalar o Azure PowerShell ou a CLI localmente. O Azure Cloud Shell é um shell interativo gratuito que tem ferramentas comuns do Azure pré-instaladas e está configurado para ser usado com sua conta. Para executar qualquer código contido neste artigo no Azure Cloud Shell, abra uma sessão do Cloud Shell, use o botão Copiar em um bloco de código para copiar o código e cole-o na sessão do Cloud Shell com Ctrl+Shift+V no Windows e Linux ou Cmd+Shift+V no macOS. O texto colado não é executado automaticamente, pressione Enter para executar o código.

Existem algumas formas de iniciar o Cloud Shell:

Opção Associar
Clique em Experimentar no canto superior direito de um bloco de código. Cloud Shell in this article
Abrir o Cloud Shell no seu browser. https://shell.azure.com/powershell
Clique no botão Cloud Shell, no menu do canto superior direito do portal do Azure. Cloud Shell in the portal

Este procedimento orienta você na criação de uma VNet e conexões site a site e ExpressRoute que coexistem. Os cmdlets que vai utilizar para esta configuração podem ser ligeiramente diferentes do que poderá estar familiarizado. Confirme que utiliza os cmdlets especificados nestas instruções.

  1. Inicie sessão e selecione a sua subscrição.

    Se estiver a utilizar o Azure Cloud Shell, inicie sessão na sua conta do Azure automaticamente depois de clicar em 'Experimentar'. Para entrar localmente, abra o console do PowerShell com privilégios elevados e execute o cmdlet para se conectar.

    Connect-AzAccount
    

    Se tiver mais do que uma subscrição, obtenha uma lista das suas subscrições do Azure.

    Get-AzSubscription
    

    Especifique a subscrição que pretende utilizar.

    Select-AzSubscription -SubscriptionName "Name of subscription"
    
  2. Defina variáveis e crie um grupo de recursos.

    $location = "Central US"
    $resgrp = New-AzResourceGroup -Name "ErVpnCoex" -Location $location
    $VNetASN = 65515
    
  3. Crie uma rede virtual incluindo o GatewaySubnet. Para obter mais informações sobre como criar uma rede virtual, veja Criar uma rede virtual. Para obter mais informações sobre como criar sub-redes, veja Criar uma sub-rede

    Importante

    O GatewaySubnet deve ser um /27 ou um prefixo mais curto, como /26 ou /25.

    Crie uma nova rede virtual.

    $vnet = New-AzVirtualNetwork -Name "CoexVnet" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -AddressPrefix "10.200.0.0/16"
    

    Adicione duas sub-redes chamadas App e GatewaySubnet.

    Add-AzVirtualNetworkSubnetConfig -Name "App" -VirtualNetwork $vnet -AddressPrefix "10.200.1.0/24"
    Add-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet -AddressPrefix "10.200.255.0/24"
    

    Salve a configuração da rede virtual.

    $vnet = Set-AzVirtualNetwork -VirtualNetwork $vnet
    
  4. Em seguida, crie seu gateway VPN site a site. Para obter mais informações sobre a configuração do gateway VPN, consulte Configurar uma rede virtual com uma conexão site a site. O GatewaySku só é suportado para VpnGw1, VpnGw2, VpnGw3, Standard e nos gateways de VPN HighPerformance. As configurações coexistentes do ExpressRoute-VPN Gateway não são suportadas na SKU básica. O VpnType tem de ser RouteBased.

    $gwSubnet = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet
    $gwIP = New-AzPublicIpAddress -Name "VPNGatewayIP" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -AllocationMethod Dynamic
    $gwConfig = New-AzVirtualNetworkGatewayIpConfig -Name "VPNGatewayIpConfig" -SubnetId $gwSubnet.Id -PublicIpAddressId $gwIP.Id
    New-AzVirtualNetworkGateway -Name "VPNGateway" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -IpConfigurations $gwConfig -GatewayType "Vpn" -VpnType "RouteBased" -GatewaySku "VpnGw1"
    

    O gateway de VPN do Azure dá suporte ao protocolo de roteamento BGP. Você pode especificar ASN (AS Number) para a rede virtual adicionando o -Asn sinalizador no comando a seguir. Não especificar o parâmetro padrão para o Asn número AS para 65515.

    $azureVpn = New-AzVirtualNetworkGateway -Name "VPNGateway" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -IpConfigurations $gwConfig -GatewayType "Vpn" -VpnType "RouteBased" -GatewaySku "VpnGw1"
    

    Nota

    Para gateways coexistentes, você deve usar o ASN padrão de 65515. Para obter mais informações, consulte limites e limitações.

    Você pode encontrar o IP de emparelhamento BGP e o número AS que o Azure usa para o gateway VPN executando $azureVpn.BgpSettings.BgpPeeringAddress e $azureVpn.BgpSettings.Asn. Para obter mais informações, veja o artigo Configure BGP (Configurar o BGP) para o Gateway de VPN do Azure.

  5. Crie uma entidade de gateway de VPN de site local. Este comando não configurar o seu gateway de VPN no local. Em vez disso, este permite-lhe fornecer as definições do gateway local, tal como o IP público e o espaço de endereço no local, para que o gateway de VPN do Azure se possa ligar a este.

    Se o seu dispositivo VPN local suportar apenas o encaminhamento estático, pode configurar as rotas estáticas da seguinte forma:

    $MyLocalNetworkAddress = @("10.100.0.0/16","10.101.0.0/16","10.102.0.0/16")
    $localVpn = New-AzLocalNetworkGateway -Name "LocalVPNGateway" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -GatewayIpAddress *<Public IP>* -AddressPrefix $MyLocalNetworkAddress
    

    Se o seu dispositivo VPN local suporta o BGP e você deseja habilitar o roteamento dinâmico, você precisa saber o IP de emparelhamento BGP e o número AS do seu dispositivo VPN local.

    $localVPNPublicIP = "<Public IP>"
    $localBGPPeeringIP = "<Private IP for the BGP session>"
    $localBGPASN = "<ASN>"
    $localAddressPrefix = $localBGPPeeringIP + "/32"
    $localVpn = New-AzLocalNetworkGateway -Name "LocalVPNGateway" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -GatewayIpAddress $localVPNPublicIP -AddressPrefix $localAddressPrefix -BgpPeeringAddress $localBGPPeeringIP -Asn $localBGPASN
    
  6. Configure o seu dispositivo VPN local para estabelecer ligação com o novo gateway de VPN do Azure. Para obter mais informações sobre a configuração do dispositivo VPN, veja Configuração do Dispositivo VPN.

  7. Vincule o gateway VPN site a site no Azure ao gateway local.

    $azureVpn = Get-AzVirtualNetworkGateway -Name "VPNGateway" -ResourceGroupName $resgrp.ResourceGroupName
    New-AzVirtualNetworkGatewayConnection -Name "VPNConnection" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -VirtualNetworkGateway1 $azureVpn -LocalNetworkGateway2 $localVpn -ConnectionType IPsec -SharedKey <yourkey>
    
  8. Se você estiver se conectando a um circuito de Rota Expressa existente, pule as etapas 8 e 9 e pule para a etapa 10. Configure circuitos do ExpressRoute. Para obter mais informações sobre configurar o circuito do ExpressRoute, veja Criar um circuito do ExpressRoute.

  9. Configure o peering privado do Azure no circuito do ExpressRoute. Para obter mais informações sobre como configurar o peering privado do Azure no circuito do ExpressRoute, veja Configurar peering

  10. Crie um Gateway do ExpressRoute. Para obter mais informações sobre a configuração do gateway ExpressRoute, veja Configuração do gateway ExpressRoute. O GatewaySKU deve ser Standard, HighPerformance ou UltraPerformance.

    $gwSubnet = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet
    $gwIP = New-AzPublicIpAddress -Name "ERGatewayIP" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -AllocationMethod Dynamic
    $gwConfig = New-AzVirtualNetworkGatewayIpConfig -Name "ERGatewayIpConfig" -SubnetId $gwSubnet.Id -PublicIpAddressId $gwIP.Id
    $gw = New-AzVirtualNetworkGateway -Name "ERGateway" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -IpConfigurations $gwConfig -GatewayType "ExpressRoute" -GatewaySku Standard
    
  11. Ligue o gateway ExpressRoute ao circuito ExpressRoute. Quando tiver concluído este passo, a ligação entre a sua rede no local e do Azure, através do ExpressRoute, é estabelecida. Para obter mais informações sobre a operação de ligação, veja Ligar VNets ao ExpressRoute.

    $ckt = Get-AzExpressRouteCircuit -Name "YourCircuit" -ResourceGroupName "YourCircuitResourceGroup"
    New-AzVirtualNetworkGatewayConnection -Name "ERConnection" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -VirtualNetworkGateway1 $gw -PeerId $ckt.Id -ConnectionType ExpressRoute
    

Para adicionar uma configuração ponto a site para o gateway de VPN

Você pode seguir estas etapas para adicionar uma configuração ponto a site ao seu gateway VPN em uma configuração de coexistência. Para carregar o certificado raiz da VPN, você deve instalar o PowerShell localmente em seu computador ou usar o portal do Azure.

  1. Adicione um conjunto de endereços de Cliente de VPN.

    $azureVpn = Get-AzVirtualNetworkGateway -Name "VPNGateway" -ResourceGroupName $resgrp.ResourceGroupName
    Set-AzVirtualNetworkGateway -VirtualNetworkGateway $azureVpn -VpnClientAddressPool "10.251.251.0/24"
    
  2. Carregue o certificado raiz da VPN no Azure para seu gateway de VPN. Neste exemplo, assumimos que o certificado raiz é armazenado na máquina local onde os cmdlets do PowerShell a seguir são executados e que você está executando o PowerShell localmente. Você também pode carregar o certificado usando o portal do Azure.

    $p2sCertFullName = "RootErVpnCoexP2S.cer" 
    $p2sCertMatchName = "RootErVpnCoexP2S" 
    $p2sCertToUpload=get-childitem Cert:\CurrentUser\My | Where-Object {$_.Subject -match $p2sCertMatchName} 
    if ($p2sCertToUpload.count -eq 1){write-host "cert found"} else {write-host "cert not found" exit} 
    $p2sCertData = [System.Convert]::ToBase64String($p2sCertToUpload.RawData) 
    Add-AzVpnClientRootCertificate -VpnClientRootCertificateName $p2sCertFullName -VirtualNetworkGatewayname $azureVpn.Name -ResourceGroupName $resgrp.ResourceGroupName -PublicCertData $p2sCertData
    

Para obter mais informações sobre VPNs Ponto a Site, veja Configurar uma ligação Ponto a Site.

Para habilitar o roteamento de trânsito entre a Rota Expressa e a VPN do Azure

Se quiser habilitar a conectividade entre uma de suas redes locais conectada à Rota Expressa e outra de sua rede local conectada a uma conexão VPN site a site, você precisará configurar o Servidor de Rota do Azure.

Próximos passos

Para obter mais informações acerca do ExpressRoute, veja as FAQs do ExpressRoute.