Criar uma rede virtual com uma conexão VPN site a site usando CLI

Este artigo mostra como usar a CLI do Azure para criar uma conexão de gateway VPN site a site da sua rede local para a rede virtual. As etapas neste artigo se aplicam ao modelo de implantação do Resource Manager. Também pode criar esta configuração ao utilizar uma ferramenta de implementação diferente ou modelo de implementação ao selecionar uma opção diferente da lista seguinte:

Site-to-site VPN Gateway cross-premises connection diagram for CLI article.

Uma conexão de gateway VPN site a site é usada para conectar sua rede local a uma rede virtual do Azure por meio de um túnel VPN IPsec/IKE (IKEv1 ou IKEv2). Este tipo de ligação requer um dispositivo VPN localizado no local que tenha um endereço IP público com acesso exterior atribuído ao mesmo. Para obter mais informações sobre o gateways de VPN, veja About VPN gateway (Acerca do gateway de VPN).

Antes de começar

Antes de iniciar a configuração, verifique se cumpre os seguintes critérios:

  • Certifique-se de que tem um dispositivo VPN compatível e alguém que o possa configurar. Para obter mais informações sobre os dispositivos VPN compatíveis e a configuração do dispositivo, consulte About VPN Devices (Acerca dos Dispositivos VPN).
  • Verifique se tem um endereço IP IPv4 público com acesso exterior para o seu dispositivo VPN.
  • Se você não estiver familiarizado com os intervalos de endereços IP localizados em sua configuração de rede local, precisará coordenar com alguém que possa fornecer esses detalhes para você. Ao criar esta configuração, tem de especificar prefixos de intervalo de endereços IP que o Azure irá encaminhar para a sua localização no local. Nenhuma das sub-redes da rede local pode sobrepor as sub-redes de rede virtual a que pretende ligar.
  • Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Guia de início rápido para Bash no Azure Cloud Shell.

  • Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.

    • Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Entrar com a CLI do Azure.

    • Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.

    • Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.

  • Este artigo requer a versão 2.0 ou posterior da CLI do Azure. Se estiver usando o Azure Cloud Shell, a versão mais recente já está instalada.

Valores de exemplo

Pode utilizar os valores seguintes para criar um ambiente de teste ou consultá-los para compreender melhor os exemplos neste artigo:

#Example values

VnetName                = VNet1 
ResourceGroup           = TestRG1 
Location                = eastus 
AddressSpace            = 10.1.0.0/16 
SubnetName              = Frontend
Subnet                  = 10.1.0.0/24 
GatewaySubnet           = 10.1.255.0/27 
LocalNetworkGatewayName = Site1
LNG Public IP           = <On-premises VPN device IP address>
LocalAddrPrefix1        = 10.0.0.0/24
LocalAddrPrefix2        = 20.0.0.0/24   
GatewayName             = VNet1GW 
PublicIP                = VNet1GWIP 
GatewayType             = Vpn 
ConnectionName          = VNet1toSite2

1. Ligue-se à sua subscrição

Se você optar por executar a CLI localmente, conecte-se à sua assinatura. Se você estiver usando o Azure Cloud Shell no navegador, não precisará se conectar à sua assinatura. Você se conectará automaticamente no Azure Cloud Shell. No entanto, convém verificar se está usando a assinatura correta depois de se conectar.

Inicie sessão na sua subscrição do Azure com o comando az login e siga as instruções no ecrã. Para obter mais informações sobre o início de sessão, veja Introdução à CLI do Azure.

az login

Se tiver mais de uma subscrição do Azure, liste as subscrições da conta.

az account list --all

Especifique a subscrição que pretende utilizar.

az account set --subscription <replace_with_your_subscription_id>

2. Criar um grupo de recursos

O exemplo seguinte cria um grupo de recursos com o nome “TestRG1” na localização “eastus”. Se já tiver um grupo de recursos na região em que pretende criar a sua VNet, pode utilizá-lo.

az group create --name TestRG --location eastus

3. Crie uma rede virtual

Se ainda não tiver uma rede virtual, crie uma utilizando o comando az network vnet create. Quando criar uma rede virtual, confirme que os espaços de endereços que especificar não se sobrepõem a nenhum dos espaços de endereços que tem na sua rede no local.

Nota

Para esta VNet ligar a uma localização no local, terá de se coordenar com o administrador da rede no local para extrair um intervalo de endereços IP que possa utilizar especificamente para esta rede virtual. Se existir um intervalo de endereços duplicados em ambos os lados da ligação VPN, o tráfego não será encaminhado da forma esperada. Além disso, se pretender ligar esta VNet a outra VNet, o espaço de endereços não pode sobrepor-se a outra VNet. Tenha o cuidado de planear a configuração da rede em conformidade.

O exemplo a seguir cria uma rede virtual chamada 'VNet1' e uma sub-rede, 'Subnet1'.

az network vnet create --name VNet1 --resource-group TestRG1 --address-prefix 10.1.0.0/16 --location eastus --subnet-name Subnet1 --subnet-prefix 10.1.0.0/24

4. Criar a sub-rede do gateway

O gateway de rede virtual utiliza uma sub-rede específica denominada sub-rede do gateway. A sub-rede do gateway faz parte do intervalo de endereços IP da rede virtual que especificou quando configurar a rede virtual. Contém os endereços IP que utilizam os serviços e recursos de gateway de rede virtual. A sub-rede deve ter o nome "GatewaySubnet" por ordem para que o Azure possa implementar os recursos de gateway. Não é possível especificar uma sub-rede diferente para implementar os recursos de gateway. Se não tiver uma sub-rede com o nome "GatewaySubnet", quando criar o gateway de VPN este irá falhar.

Quando cria a sub-rede do gateway, especifica o número de endereços IP que a sub-rede contém. O número de endereços IP necessários depende da configuração do gateway VPN que pretende criar. Algumas configurações requerem mais endereços IP do que outras. Recomendamos que crie uma sub-rede de gateway que utilize /27 ou /28.

Se vir um erro que especifica que o espaço de endereços se sobrepõe a uma sub-rede ou se a sub-rede não se encontra dentro do espaço de endereços da rede virtual, verifique o intervalo de endereços da VNet. Não pode ter endereços IP suficientes disponíveis no intervalo de endereços que criou para a sua rede virtual. Por exemplo, se a sub-rede de predefinição abrange o intervalo de endereços completo, isso significa que não existem endereços IP restantes para criar sub-redes adicionais. Pode ajustar as sub-redes no espaço de endereço existente para libertar endereços IP ou especifique um intervalo de endereços adicionais e crie a sub-rede do gateway.

Utilize o comando az network vnet subnet create para criar uma sub-rede de gateway.

az network vnet subnet create --address-prefix 10.1.255.0/27 --name GatewaySubnet --resource-group TestRG1 --vnet-name VNet1

Importante

Ao trabalhar com sub-redes de gateway, evite associar um NSG (grupo de segurança de rede) à sub-rede do gateway. Associar um grupo de segurança de rede a essa sub-rede pode fazer com que seu gateway de rede virtual (gateways VPN e ExpressRoute) pare de funcionar conforme o esperado. Para obter mais informações sobre grupos de segurança de rede, consulte O que é um grupo de segurança de rede?.

5. Criar o gateway de rede local

O gateway de rede local refere-se normalmente à sua localização no local. Dê um nome ao site pelo qual o Azure se possa referir ao mesmo e especifique o endereço IP do dispositivo VPN no local para o qual vai criar uma ligação. Também pode especificar os prefixos do endereço IP que vai ser encaminhado através do gateway de VPN para o dispositivo VPN. Os prefixos do endereço que especificar são os que estão localizados na sua rede no local. Se a rede no local se alterar, pode atualizar facilmente os prefixos.

Utilize os seguintes valores:

  • O --gateway-ip-address é o endereço IP do seu dispositivo VPN no local.
  • Os --local-address-prefixes são os seus espaços de endereços no local.

Utilize o comando az network local-gateway create para adicionar um gateway de rede local com vários prefixos de endereços:

az network local-gateway create --gateway-ip-address 23.99.221.164 --name Site2 --resource-group TestRG1 --local-address-prefixes 10.0.0.0/24 20.0.0.0/24

6. Solicite um endereço IP público

Um gateway VPN deve ter um endereço IP público. Primeira, requeira o recurso de endereço IP e, em seguida, faça referência ao mesmo ao criar o gateway de rede virtual. O endereço IP é dinamicamente atribuído ao recurso quando o gateway de VPN é criado. A única vez que o endereço IP público é alterado é quando o gateway é excluído e recriado. Não é alterado ao redimensionar, repor ou ao realizar qualquer outra manutenção/atualização interna do gateway de VPN.

Use o comando az network public-ip create para solicitar um endereço IP público.

az network public-ip create --name VNet1GWIP --resource-group TestRG1 --allocation-method Static --sku Standard

7. Crie o gateway VPN

Crie o gateway de VPN da rede virtual. Criar um gateway, muitas vezes, pode demorar 45 minutos ou mais, dependendo do SKU de gateway selecionado.

Utilize os seguintes valores:

  • O --gateway-type para uma configuração site a site é Vpn. O tipo de gateway é sempre específico para a configuração que você está implementando. Para obter mais informações, veja Gateway types (Tipos de gateways).
  • O --vpn-type é RouteBased (referido como Dynamic Gateway em algumas documentações).
  • Selecione o SKU do Gateway que pretende utilizar. Existem limitações de configuração para determinados SKUs. Para obter mais informações, veja SKUs de gateway.

Crie o gateway de VPN com o comando az network vnet-gateway create. Se executar este comando utilizando o parâmetro "--no-wait", não verá quaisquer comentários ou saída. Este parâmetro permite que o gateway crie em segundo plano. Leva 45 minutos ou mais para criar um gateway.

az network vnet-gateway create --name VNet1GW --public-ip-address VNet1GWIP --resource-group TestRG1 --vnet VNet1 --gateway-type Vpn --vpn-type RouteBased --sku VpnGw1 --no-wait 

8. Configure seu dispositivo VPN

As conexões site a site com uma rede local exigem um dispositivo VPN. Neste passo, configure o seu dispositivo VPN. Quando configurar o dispositivo VPN, irá precisar do seguinte:

  • Uma chave partilhada. Essa é a mesma chave compartilhada que você especifica ao criar sua conexão VPN site a site. Nos nossos exemplos, iremos utilizar uma chave partilhada básica. Deve gerar uma chave mais complexa para utilizar.

  • O endereço IP público do gateway de rede virtual. Pode ver o endereço IP público através do portal do Azure, do PowerShell ou da CLI. Para encontrar o endereço IP público do gateway da rede virtual, utilize o comando az network public-ip list. Para maior facilidade de leitura, a saída é formatada para apresentar a lista de IPs públicos no formato de tabela.

    az network public-ip list --resource-group TestRG1 --output table
    

Para transferir os scripts de configuração do dispositivo VPN

Consoante o dispositivo VPN que tiver, poderá transferir um script de configuração do dispositivo VPN. Para mais informações, consulte Transferir os scripts de configuração do dispositivo VPN.

Consulte as seguintes ligações para informações de configuração adicionais:

9. Crie a conexão VPN

Crie a conexão VPN site a site entre seu gateway de rede virtual e seu dispositivo VPN local. Tenha particular atenção ao valor de chave partilhada, que tem de corresponder ao valor de chave partilhada configurado para o seu dispositivo VPN.

Crie a ligação utilizando o comando az network vpn-connection create.

az network vpn-connection create --name VNet1toSite2 --resource-group TestRG1 --vnet-gateway1 VNet1GW -l eastus --shared-key abc123 --local-gateway2 Site2

Após uns breves instantes, a ligação será estabelecida.

10. Verifique a conexão VPN

Pode verificar se a sua ligação foi concluída com êxito com o comando az network vpn-connection show. No exemplo, '--name' refere-se ao nome da conexão que você deseja testar. Quando a ligação ainda estiver a ser estabelecida, o respetivo estado de ligação mostra "A ligar". Quando a ligação estiver estabelecido, o estado muda para "Ligado". Modifique o exemplo a seguir com os valores para seu ambiente.

az network vpn-connection show --name <connection-name> --resource-group <resource-group-name>

Se quiser utilizar outro método para verificar a sua ligação, veja Verify a VPN Gateway connection (Verificar ligações de Gateway de VPN).

Ligar a uma máquina virtual

Você pode se conectar a uma VM implantada em sua rede virtual criando uma Conexão de Área de Trabalho Remota para sua VM. A melhor forma de verificar, inicialmente, que se pode ligar à VM é ligar-se utilizando o respetivo endereço IP privado, em vez do nome do computador. Dessa forma, você está testando para ver se consegue se conectar, não se a resolução de nomes está configurada corretamente.

  1. Localizar o endereço IP privado. Você pode encontrar o endereço IP privado de uma VM examinando as propriedades da VM no portal do Azure ou usando o PowerShell.

    • Portal do Azure: localize sua VM no portal do Azure. Ver as propriedades da VM. O endereço IP privado está listado.

    • PowerShell: Use o exemplo para exibir uma lista de VMs e endereços IP privados de seus grupos de recursos. Não é necessário modificar este exemplo antes de o utilizar.

      $VMs = Get-AzVM
      $Nics = Get-AzNetworkInterface | Where-Object VirtualMachine -ne $null
      
      foreach ($Nic in $Nics) {
      $VM = $VMs | Where-Object -Property Id -eq $Nic.VirtualMachine.Id
      $Prv = $Nic.IpConfigurations | Select-Object -ExpandProperty PrivateIpAddress
      $Alloc = $Nic.IpConfigurations | Select-Object -ExpandProperty PrivateIpAllocationMethod
      Write-Output "$($VM.Name): $Prv,$Alloc"
      }
      
  2. Verifique se você está conectado à sua rede virtual.

  3. Abra a Ligação ao Ambiente de Trabalho Remoto introduzindo RDP ou Ligação ao Ambiente de Trabalho Remoto na caixa de pesquisa na barra de tarefas. Em seguida, selecione Conexão de Área de Trabalho Remota. Você também pode abrir a Conexão de Área de Trabalho Remota usando o mstsc comando no PowerShell.

  4. Em Ligação ao Ambiente de Trabalho Remoto, introduza o endereço IP privado da VM. Pode selecionar Mostrar Opções para ajustar outras definições e, em seguida, ligar.

Se você estiver tendo problemas para se conectar a uma VM por meio de sua conexão VPN, verifique os seguintes pontos:

  • Certifique-se de que a ligação VPN é efetuada com êxito.
  • Verifique se você está se conectando ao endereço IP privado da VM.
  • Se você puder se conectar à VM usando o endereço IP privado, mas não o nome do computador, verifique se configurou o DNS corretamente. Para obter mais informações sobre como a resolução de nomes funciona para VMs, consulte Resolução de nomes para VMs.

Para obter mais informações sobre ligações RDP, veja Troubleshoot Remote Desktop connections to a VM(Resolução de Problemas de ligações de Ambiente de Trabalho Remoto a uma VM).

Tarefas comuns

Esta secção contém comandos comuns que são úteis quando trabalha com configurações de rede. Para obter a lista completa de comandos de redes CLI, veja Azure CLI - Redes.

Para ver os gateways de rede local

Para ver uma lista de gateways da rede local, utilize o comando az network local-gateway list.

az network local-gateway list --resource-group TestRG1

Para modificar prefixos de endereço de IP do gateway de rede local - sem ligação de gateway

Se não tiver uma ligação de gateway e pretender adicionar ou remover prefixos de endereços IP, utilize o mesmo comando que utilizar para criar o gateway de rede local, az network local-gateway create. Também pode utilizar este comando para atualizar o endereço IP do gateway para o dispositivo VPN. Para substituir as definições atuais, utilize o nome existente do seu gateway de rede local. Se utilizar um nome diferente, irá criar um novo gateway de rede local, em vez de substituir o existente.

Sempre que fizer uma alteração, tem de ser especificada a lista completa de prefixos, não apenas aqueles que pretende alterar. Especifique apenas os prefixos que quer manter. Neste caso, 10.0.0.0/24 e 20.0.0.0/24

az network local-gateway create --gateway-ip-address 23.99.221.164 --name Site2 -g TestRG1 --local-address-prefixes 10.0.0.0/24 20.0.0.0/24

Para modificar prefixos de endereço de IP do gateway de rede local - ligação de gateway existente

Se tiver uma ligação de gateway e pretender adicionar ou remover prefixos de endereços IP, pode atualizar os prefixos a utilizando az network local-gateway update. Este procedimento resulta num período de indisponibilidade da ligação VPN. Ao modificar os prefixos de endereços IP, não precisa de eliminar o gateway de VPN.

Sempre que fizer uma alteração, tem de ser especificada a lista completa de prefixos, não apenas aqueles que pretende alterar. Neste exemplo, 10.0.0.0/24 e 20.0.0.0/24 já estão presentes. Adicionamos os prefixos 30.0.0.0/24 e 40.0.0.0/24 e especificamos todos os 4 prefixos ao atualizar.

az network local-gateway update --local-address-prefixes 10.0.0.0/24 20.0.0.0/24 30.0.0.0/24 40.0.0.0/24 --name VNet1toSite2 -g TestRG1

Para modificar o "gatewayIpAddress" do gateway de rede local

Se o dispositivo VPN que pretende ligar foi alterou o respetivo endereço IP público, tem de modificar o gateway de rede local para que essa alteração seja refletida. O endereço IP do gateway pode ser alterado sem remover uma ligação de gateway de VPN existente (caso tenha um). Para modificar o endereço IP do gateway, substitua os valores "Site2" e "TestRG1" pelos seus utilizando o comando az network local-gateway update.

az network local-gateway update --gateway-ip-address 23.99.222.170 --name Site2 --resource-group TestRG1

Certifique-se de que o endereço IP está correto na saída:

"gatewayIpAddress": "23.99.222.170",

Para verificar os valores de chave partilhada

Verifique se o valor da chave partilhada é igual ao valor que utilizou na configuração do dispositivo VPN. Se não for, execute a ligação novamente com o valor do dispositivo ou atualize o dispositivo com o valor que é devolvido. Os valores têm de corresponder. Para ver a chave partilhada, utilize az network vpn-connection-list.

az network vpn-connection shared-key show --connection-name VNet1toSite2 --resource-group TestRG1

Para ver o endereço IP Público do gateway de VPN

Para encontrar o endereço IP público do gateway da rede virtual, utilize o comando az network public-ip list. Para maior facilidade de leitura, a saída para este exemplo é formatada para apresentar a lista de IPs públicos no formato de tabela.

az network public-ip list --resource-group TestRG1 --output table

Próximos passos