Configurar o ExpressRoute e as conexões coexistentes site a site usando o PowerShell
Este artigo ajuda você a configurar conexões do ExpressRoute e VPN site a site que coexistem. A capacidade de configurar a VPN site a site e o ExpressRoute tem várias vantagens. Você pode configurar a VPN site a site como um caminho de failover seguro para o ExpressRoute ou usar VPNs site a site para se conectar a sites que não estão conectados pelo ExpressRoute. Neste artigo, analisamos as etapas para configurar as duas situações. Este artigo se aplica ao modelo de implantação do Gerenciador de Recursos.
A configuração de conexões VPN site a site e do ExpressRoute coexistentes tem várias vantagens:
- Você pode configurar uma VPN site a site como um caminho de failover seguro para o ExpressRoute.
- Como alternativa, você pode usar VPNs site a site para se conectar a sites que não estão conectados pelo ExpressRoute.
As etapas para configurar as duas situações são cobertas neste artigo. Este artigo se aplica ao modelo de implantação do Gerenciador de Recursos e usa o PowerShell. Você também pode configurar esses cenários utilizando o portal do Azure, embora a documentação ainda não esteja disponível. Você pode configurar um gateway pela primeira vez. Normalmente, você não experimenta nenhum tempo de inatividade ao adicionar um novo gateway ou uma nova conexão de gateway.
Observação
Se você quiser criar uma VPN site a site em um circuito do ExpressRoute, confira VPN site a site em um emparelhamento da Microsoft.
Limites e limitações
- Há suporte para apenas um gateway de VPN baseado em rotas. Você deve usar uma rota baseada no gateway de VPN. Você também pode usar um gateway de VPN baseado em rota com uma conexão VPN configurada para “seletores de tráfego baseados em políticas”, conforme descrito em Conectar-se a vários dispositivos VPN baseados em políticas.
- As configurações de coexistência do Gateway de VPN - do ExpressRoute não são suportadas na SKU Básica.
- Se você quiser usar o roteamento de trânsito entre o ExpressRoute 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 tem suporte para o protocolo de roteamento BGP. Para que o ExpressRoute e a VPN do Azure funcionem juntos, você precisa manter o número do sistema autônomo do seu gateway de VPN do Azure no valor padrão, 65515. Se você tiver selecionado um ASN diferente de 65515 e mudar a configuração para 65515, precisará 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ê receberá uma mensagem de erro ao adicionar o gateway de rede virtual do ExpressRoute.
Designs de configuração
Configurar uma VPN site a site como um caminho de failover para o ExpressRoute
Você pode configurar uma conexão VPN site a site como backup da sua conexão do ExpressRoute. Esta conexão se aplica apenas às redes virtuais vinculadas ao caminho de emparelhamento privado do Azure. Não há uma solução de failover com base em VPN para serviços acessíveis por meio de emparelhamentos da Microsoft no Azure. O circuito do ExpressRoute sempre será o link principal. Os dados fluem através do caminho VPN site-to-site somente se o circuito do ExpressRoute falhar. Para evitar roteamento assimétrico, sua configuração de rede local também deve preferir o circuito ExpressRoute à VPN site a site. Você pode preferir que o caminho de rota expressa por preferência mais alta local de configuração para as rotas que recebeu a ExpressRoute.
Observação
Se você tiver o emparelhamento do Microsoft ExpressRoute habilitado, poderá receber o endereço IP público do seu gateway de VPN do Azure na conexão do ExpressRoute. Para configurar a conexão site a site de VPN como um backup, você precisa configurar a rede local para que a conexão VPN seja roteada para a Internet.
Embora o caminho de circuito do ExpressRoute seja preferível à VPN site a site quando as duas rotas são iguais, o Azure usa a correspondência de prefixo mais longa para escolher a rota para o destino do pacote.
Configurar uma VPN site a site para se conectar a sites não conectados pelo ExpressRoute
Você pode configurar sua rede de modo que alguns sites se conectem diretamente ao Azure pela VPN site a site e alguns sites se conectem pelo ExpressRoute.
Selecionando as etapas de uso
Há dois conjuntos diferentes de procedimentos para escolher. O procedimento de configuração selecionado varia conforme você já tenha uma rede virtual à qual deseja se conectar ou queira criar uma nova rede virtual.
Não tenho uma VNet e preciso criar uma.
Se você ainda não tiver uma rede virtual, esse procedimento orientará você na criação de uma nova rede virtual usando o modelo de implantação do Resource Manager e na criação de novas conexões ExpressRoute e VPN site a site.
Eu já tenho uma VNet do modelo de implantação do Gerenciador de Recursos.
Talvez você já tenha uma rede virtual instalada com uma conexão VPN site a site ou conexão do ExpressRoute. Nesse cenário, se o prefixo de sub-rede do gateway for /28 ou mais (/29, /30 etc.), você precisará excluir o gateway existente. As etapas para configurar conexões coexistentes para uma seção de VNet já existente orientam você na exclusão do gateway e na criação de novas conexões ExpressRoute e VPN site a site.
Se você excluir e recriar seu gateway, você experimentará o tempo de inatividade para suas conexões entre instalações. 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 os exemplos deste artigo usam os módulos AZ do Azure PowerShell. Para instalar os módulos AZ localmente no computador, confira Instalar o Azure PowerShell. Para saber mais sobre o novo módulo AZ, confira 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 poderão falhar. Para localizar as versões instaladas do PowerShell no sistema, use o cmdlet Get-Module -ListAvailable Az
.
Você pode usar o Azure Cloud Shell para executar a maioria dos cmdlets do PowerShell e dos 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 configuradas para uso com a 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ódigos para copiar o código e colá-lo na sessão do Cloud Shell com Ctrl+Shift+V no Windows e no Linux ou Cmd+Shift+V no macOS. O texto colado não é executado automaticamente, pressione Enter para executar o código.
Há algumas maneiras de inicializar o Cloud Shell:
Esse procedimento orienta você na criação de uma VNet e de conexões site a site e do ExpressRoute que coexistem. Os cmdlets que você usará para essa configuração podem ser ligeiramente diferentes daqueles com os quais você talvez esteja familiarizado. Certifique-se de usar os cmdlets especificados nestas instruções.
Entrar e selecione sua assinatura.
Se estiver usando o Azure Cloud Shell, você entrará na conta do Azure automaticamente após 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 você tiver mais de uma assinatura, obtenha uma lista das assinaturas do Azure.
Get-AzSubscription
Especifique a assinatura que você deseja usar.
Select-AzSubscription -SubscriptionName "Name of subscription"
Defina variáveis e crie um grupo de recursos.
$location = "Central US" $resgrp = New-AzResourceGroup -Name "ErVpnCoex" -Location $location $VNetASN = 65515
Crie uma rede virtual que inclua o
GatewaySubnet
. Para saber mais sobre como criar uma rede virtual, confira Criar uma rede virtual. Para saber mais sobre como criar sub-redes, confira Criar uma sub-redeImportante
O GatewaySubnet deve ser um /27 ou um prefixo mais curto, como /26 ou /25.
Criar uma rede virtual.
$vnet = New-AzVirtualNetwork -Name "CoexVnet" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -AddressPrefix "10.200.0.0/16"
Adicione duas sub-redes nomeadas 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"
Salvar a configuração da rede virtual.
$vnet = Set-AzVirtualNetwork -VirtualNetwork $vnet
Em seguida, crie seu gateway de VPN site a site. Para obter mais informações sobre a configuração do gateway de VPN, confira Configurar uma VNet com uma conexão site a site . O GatewaySku tem suporte para os gateway VPN em VpnGw1, VpnGw2, VpnGw3, Standard e HighPerformance. As configurações de gateway coexistentes do ExpressRoute e de VPN não têm suporte na SKU Básica. O VpnType deve 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 é compatível com o protocolo de roteamento BGP. Você pode especificar o Número ASN (ASN) para a rede virtual adicionando o sinalizador
-Asn
no comando a seguir. Se o parâmetroAsn
não for especificado, o número de AS será definido como 65515.$azureVpn = New-AzVirtualNetworkGateway -Name "VPNGateway" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -IpConfigurations $gwConfig -GatewayType "Vpn" -VpnType "RouteBased" -GatewaySku "VpnGw1"
Observação
Para gateways coexistentes, você precisa usar o ASN padrão 65515. Para obter mais informações, confira limites e limitações.
Você pode encontrar o IP de emparelhamento do BGP e o número AS que o Azure utiliza para o gateway da VPN executando
$azureVpn.BgpSettings.BgpPeeringAddress
e$azureVpn.BgpSettings.Asn
. Para obter mais informações, consulte Configurar BGP para o gateway de VPN do Azure.Crie uma entidade de gateway de VPN de site local. Esse comando não configura seu gateway de VPN local. Em vez disso, ele permite que você forneça as configurações de gateway local, como o IP público e o espaço para endereço local, para que o gateway de VPN do Azure possa se conectar a ele.
Se seu dispositivo VPN local só dá suporte ao roteamento estático, você pode configurar as rotas estáticas da seguinte maneira:
$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 seu dispositivo de VPN local for compatível com o BGP e você quiser ativar o roteamento dinâmico, precisará saber o IP de emparelhamento do BGP e o número AS do seu dispositivo de 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
Configure seu dispositivo VPN local para conectar o novo gateway de VPN do Azure. Para obter mais informações sobre a configuração de dispositivo VPN, consulte Configuração do Dispositivo VPN.
Vincule o gateway de 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>
Se você estiver se conectando a um circuito existente do ExpressRoute, ignore as etapas 8 e 9 e vá para a etapa 10. Configurar circuitos do ExpressRoute. Para obter mais informações sobre a configuração de circuito de ExpressRoute, consulte criar um circuito de ExpressRoute.
Configure o emparelhamento particular do Azure através do circuito de ExpressRoute. Para obter mais informações sobre como configurar o emparelhamento particular do Azure através do circuito de ExpressRoute, consulte Configurar emparelhamento
Crie um gateway de ExpressRoute. Para obter mais informações sobre a configuração do gateway de ExpressRoute, confira Configuração do gateway de ExpressRoute. O Gateway SKU 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
Vincule o gateway de ExpressRoute ao circuito de ExpressRoute. Após essa etapa for concluída, a conexão entre sua rede local e o Azure, por meio de ExpressRoute, é estabelecida. Para obter mais informações sobre a operação de vinculação, confira Vincular VNets à 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 a configuração de ponto a site ao gateway de VPN
Você pode seguir estas etapas para adicionar uma configuração ponto a site ao seu gateway de VPN em uma configuração de coexistência. Para carregar o certificado raiz de VPN, você precisa instalar o PowerShell localmente no computador ou usar o portal do Azure.
Adicione o pool de endereços do Cliente VPN.
$azureVpn = Get-AzVirtualNetworkGateway -Name "VPNGateway" -ResourceGroupName $resgrp.ResourceGroupName Set-AzVirtualNetworkGateway -VirtualNetworkGateway $azureVpn -VpnClientAddressPool "10.251.251.0/24"
Carregue o certificado raiz da VPN para Azure para seu gateway de VPN. Neste exemplo, presumimos que o certificado raiz seja armazenado no computador local no qual os seguintes cmdlets do PowerShell são executados e que você esteja executando o PowerShell localmente. Você também pode usar o portal do Azure para carregar o certificado.
$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 saber mais sobre a VPN de Ponto a Site, confira Configurar uma conexão de Ponto a Site.
Para habilitar o roteamento de trânsito entre o ExpressRoute e a VPN do Azure
Se você quiser habilitar a conectividade entre uma de suas redes locais conectadas ao ExpressRoute e outra de sua rede local conectada a uma conexão site a site, será necessário configurar o Servidor de Rota do Azure.
Próximas etapas
Para obter mais informações sobre o ExpressRoute, consulte Perguntas Frequentes sobre ExpressRoute.