Pular para o conteúdo principal

Desafio 17: VPN ponto a site e configuração de cliente

Tempo e custo estimados

60-90 minutos | ~$0,19/h (VPN Gateway) | Peso no exame: 20-25%

Cenário

A força de trabalho remota da Contoso precisa de acesso seguro às redes virtuais do Azure a partir de seus laptops pessoais e corporativos. A equipe de rede deve configurar a conectividade VPN ponto a site (P2S) em um gateway VPN existente, suportando múltiplos tipos de túnel para acomodar clientes Windows, macOS e Linux. Eles precisam gerar e distribuir pacotes de configuração de cliente VPN e entender quando recomendar cada tipo de túnel com base nos requisitos organizacionais.

Habilidades de exame abordadas

HabilidadeDescrição
Selecionar um SKU de gateway de rede virtual apropriadoEscolher um SKU que suporte P2S e os tipos de túnel necessários
Selecionar e configurar um tipo de túnelConfigurar OpenVPN, IKEv2 ou SSTP com base nos requisitos do SO do cliente
Implementar um arquivo de configuração de cliente VPNGerar e distribuir pacotes de cliente VPN
Especificar os requisitos do Azure para o Azure Network AdapterEntender a configuração simplificada de P2S via Windows Admin Center

Visão geral da arquitetura

Challenge 17 - Topologia de Rede

Pré-requisitos

Este desafio baseia-se em um gateway VPN implantado em um desafio anterior. Se você não tiver um, implante o gateway primeiro usando os comandos de configuração na Tarefa 1.


Tarefa 1: Implantar o gateway VPN base (se ainda não estiver implantado)

Se você já possui um gateway VPN do Desafio 14, pule para a Tarefa 2.

Azure CLI

# Variables
RG="rg-p2s-lab"
LOCATION="eastus"
VNET_NAME="vnet-contoso-p2s"
GW_SUBNET_PREFIX="10.60.255.0/27"
VNET_PREFIX="10.60.0.0/16"
GW_NAME="vpngw-contoso-p2s"
GW_PIP="pip-vpngw-p2s"

# Create resource group and VNet
az group create --name $RG --location $LOCATION

az network vnet create \
--resource-group $RG \
--name $VNET_NAME \
--address-prefixes $VNET_PREFIX \
--subnet-name GatewaySubnet \
--subnet-prefixes $GW_SUBNET_PREFIX

# Create public IP for VPN gateway
az network public-ip create \
--resource-group $RG \
--name $GW_PIP \
--allocation-method Static \
--sku Standard

# Create VPN gateway (takes 30-45 minutes)
az network vnet-gateway create \
--resource-group $RG \
--name $GW_NAME \
--vnet $VNET_NAME \
--gateway-type Vpn \
--vpn-type RouteBased \
--sku VpnGw1 \
--vpn-gateway-generation Generation1 \
--public-ip-addresses $GW_PIP \
--no-wait

Azure PowerShell

# Variables
$rg = "rg-p2s-lab"
$location = "eastus"
$vnetName = "vnet-contoso-p2s"
$gwSubnetPrefix = "10.60.255.0/27"
$vnetPrefix = "10.60.0.0/16"
$gwName = "vpngw-contoso-p2s"
$gwPipName = "pip-vpngw-p2s"

# Create resource group
New-AzResourceGroup -Name $rg -Location $location

# Create VNet with GatewaySubnet
$gwSubnet = New-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -AddressPrefix $gwSubnetPrefix
$vnet = New-AzVirtualNetwork -Name $vnetName -ResourceGroupName $rg `
-Location $location -AddressPrefix $vnetPrefix -Subnet $gwSubnet

# Create public IP
$gwPip = New-AzPublicIpAddress -Name $gwPipName -ResourceGroupName $rg `
-Location $location -AllocationMethod Static -Sku Standard

# Get subnet reference
$gwSubnetRef = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet

# Create IP configuration
$gwIpConfig = New-AzVirtualNetworkGatewayIpConfig -Name "gwIpConfig" `
-SubnetId $gwSubnetRef.Id -PublicIpAddressId $gwPip.Id

# Create VPN gateway (takes 30-45 minutes)
New-AzVirtualNetworkGateway -Name $gwName -ResourceGroupName $rg `
-Location $location -IpConfigurations $gwIpConfig `
-GatewayType Vpn -VpnType RouteBased `
-GatewaySku VpnGw1 -VpnGatewayGeneration Generation1 -AsJob

Tarefa 2: Configurar P2S com tipo de túnel OpenVPN

OpenVPN é o tipo de túnel recomendado para suporte multiplataforma (Windows, macOS, Linux). Ele usa TLS e opera na porta 443.

Azure CLI

# Configure P2S address pool and OpenVPN protocol
az network vnet-gateway update \
--resource-group $RG \
--name $GW_NAME \
--address-prefixes "172.16.201.0/24" \
--client-protocol OpenVPN

# Verify P2S configuration
az network vnet-gateway show \
--resource-group $RG \
--name $GW_NAME \
--query "vpnClientConfiguration" \
--output json

Azure PowerShell

# Get the gateway
$gw = Get-AzVirtualNetworkGateway -Name $gwName -ResourceGroupName $rg

# Configure P2S with OpenVPN
Set-AzVirtualNetworkGateway -VirtualNetworkGateway $gw `
-VpnClientAddressPool "172.16.201.0/24" `
-VpnClientProtocol "OpenVPN"

# Verify configuration
$gw = Get-AzVirtualNetworkGateway -Name $gwName -ResourceGroupName $rg
$gw.VpnClientConfiguration | Format-List
Dica de exame

OpenVPN é o único tipo de túnel que suporta todos os três principais métodos de autenticação: certificados, Microsoft Entra ID e RADIUS. Ele também funciona em Windows, macOS, Linux, iOS e Android.


Tarefa 3: Configurar tipo de túnel IKEv2

IKEv2 é uma solução VPN IPsec baseada em padrões, suportada nativamente no Windows 10+ e macOS sem software de cliente adicional.

Azure CLI

# Configure P2S with both IKEv2 and OpenVPN protocols
az network vnet-gateway update \
--resource-group $RG \
--name $GW_NAME \
--address-prefixes "172.16.201.0/24" \
--client-protocol IkeV2 OpenVPN

# Verify the updated configuration
az network vnet-gateway show \
--resource-group $RG \
--name $GW_NAME \
--query "vpnClientConfiguration.vpnClientProtocols" \
--output tsv

Azure PowerShell

$gw = Get-AzVirtualNetworkGateway -Name $gwName -ResourceGroupName $rg

# Configure both IKEv2 and OpenVPN
Set-AzVirtualNetworkGateway -VirtualNetworkGateway $gw `
-VpnClientAddressPool "172.16.201.0/24" `
-VpnClientProtocol "IkeV2", "OpenVPN"
Considerações sobre IKEv2
  • IKEv2 usa portas UDP 500 e 4500, que podem ser bloqueadas por alguns firewalls corporativos
  • Suporta no máximo 128 conexões simultâneas por instância de gateway
  • Necessário para configuração Always On VPN com túneis de nível de máquina
  • Suporte nativo no cliente Windows 10/11 e macOS (sem necessidade de aplicativo de terceiros)

Tarefa 4: Configurar tipo de túnel SSTP

SSTP (Secure Socket Tunneling Protocol) é um protocolo exclusivo para Windows que usa a porta TCP 443, sendo ideal para conexões atrás de firewalls restritivos.

Azure CLI

# Configure P2S with IKEv2 + OpenVPN (cross-platform, recommended)
az network vnet-gateway update \
--resource-group $RG \
--name $GW_NAME \
--address-prefixes "172.16.201.0/24" \
--client-protocol IkeV2 OpenVPN

# Alternative: IKEv2 + SSTP (Windows-only fallback with firewall traversal)
# az network vnet-gateway update \
# --resource-group $RG \
# --name $GW_NAME \
# --address-prefixes "172.16.201.0/24" \
# --client-protocol IkeV2 SSTP

Azure PowerShell

$gw = Get-AzVirtualNetworkGateway -Name $gwName -ResourceGroupName $rg

# IKEv2 + OpenVPN (cross-platform, recommended)
Set-AzVirtualNetworkGateway -VirtualNetworkGateway $gw `
-VpnClientAddressPool "172.16.201.0/24" `
-VpnClientProtocol "IkeV2", "OpenVPN"

# Alternative: IKEv2 + SSTP (Windows-only fallback with firewall traversal)
# Set-AzVirtualNetworkGateway -VirtualNetworkGateway $gw `
# -VpnClientAddressPool "172.16.201.0/24" `
# -VpnClientProtocol "IkeV2", "SSTP"

Características do SSTP

PropriedadeDetalhe
SO suportadoSomente Windows
PortaTCP 443 (mesma do HTTPS)
Compatibilidade com firewallExcelente - atravessa a maioria dos firewalls e proxies
Máximo de conexões128 por instância de gateway
Limitação de protocoloNão pode ser combinado com OpenVPN no mesmo gateway (ambos usam TLS; IKEv2+SSTP é válido)
Limitação importante

SSTP e OpenVPN não podem coexistir no mesmo gateway porque ambos usam tunelamento baseado em TLS na porta TCP 443. Combinações válidas são: IKEv2+OpenVPN (multiplataforma), IKEv2+SSTP (Windows com travessia de firewall) ou IKEv2 sozinho. Se você precisa de suporte a macOS/Linux e travessia de firewall, escolha IKEv2+OpenVPN.


Tarefa 5: Gerar e baixar o pacote de configuração de cliente VPN

O pacote de configuração de cliente VPN contém as configurações necessárias para que dispositivos clientes se conectem via P2S.

Azure CLI

# Generate VPN client configuration (returns a URL to download the zip file)
az network vnet-gateway vpn-client generate \
--resource-group $RG \
--name $GW_NAME \
--processor-architecture Amd64

# Retrieve the pre-generated VPN client URL
az network vnet-gateway vpn-client show-url \
--resource-group $RG \
--name $GW_NAME

Azure PowerShell

# Generate the VPN client configuration package
$profile = New-AzVpnClientConfiguration -ResourceGroupName $rg `
-Name $gwName -AuthenticationMethod "EapTls"

# The URL to download the client package
$profile.VPNProfileSASUrl

O que contém o pacote de cliente

O arquivo ZIP baixado contém pastas para cada protocolo configurado:

VpnClientConfiguration.zip
├── OpenVPN/ # OpenVPN profile (.ovpn file)
├── WindowsAmd64/ # Windows 64-bit native client installer
├── WindowsX86/ # Windows 32-bit native client installer
├── Generic/ # Profile XML for manual configuration
└── AzureVPN/ # Azure VPN Client profile (azurevpnconfig.xml)
ClienteProtocolo usadoArquivo de configuração
Azure VPN Client (Windows/macOS)OpenVPNAzureVPN/azurevpnconfig.xml
OpenVPN ConnectOpenVPNOpenVPN/vpnconfig.ovpn
VPN nativo WindowsIKEv2/SSTPWindowsAmd64/ installer
VPN nativo macOSIKEv2Generic/ mobileconfig
strongSwan (Linux)IKEv2Generic/ profile

Tarefa 6: Entender o Azure Network Adapter

Azure Network Adapter é um recurso do Windows Admin Center que fornece uma experiência simplificada de configuração de VPN ponto a site para máquinas Windows Server.

Características principais

RecursoDescrição
ObjetivoConectar Windows Server local à VNet do Azure sem configuração complexa de VPN
InterfacePlugin do Windows Admin Center
Protocolo usadoVPN P2S IKEv2
AutenticaçãoBaseada em certificado (gerado automaticamente)
Requisito de gatewayRequer gateway VPN existente com P2S configurado
Caso de usoGerenciamento híbrido, conectividade de servidor único

Requisitos do Azure Network Adapter

  1. Windows Admin Center instalado e registrado com o Azure
  2. Um gateway VPN existente com SKU compatível com P2S (VpnGw1 ou superior)
  3. O gateway deve ter o pool de endereços P2S configurado
  4. Permissões de assinatura do Azure para gerenciar o gateway VPN
  5. Windows Server 2012 R2 ou posterior na máquina local
Dica de exame

O Azure Network Adapter automatiza a geração de certificados, a configuração do gateway e a instalação do cliente. Você não precisa gerar certificados manualmente nem baixar pacotes de cliente ao usar este recurso. É uma experiência baseada em "assistente" através do Windows Admin Center.


Tarefa 7: Entender as capacidades do SKU do gateway VPN para P2S

Comparação de SKU para P2S

SKUMáximo de conexões P2STúneis suportadosThroughput
Basic128Somente SSTP100 Mbps
VpnGw1250SSTP, IKEv2, OpenVPN650 Mbps
VpnGw2500SSTP, IKEv2, OpenVPN1,0 Gbps
VpnGw31.000SSTP, IKEv2, OpenVPN1,25 Gbps
VpnGw45.000SSTP, IKEv2, OpenVPN5,0 Gbps
VpnGw510.000SSTP, IKEv2, OpenVPN10,0 Gbps
Limitação do SKU Basic

O SKU Basic suporta apenas o tipo de túnel SSTP (somente Windows). Ele não suporta IKEv2 ou OpenVPN. Para conectividade P2S multiplataforma, use VpnGw1 ou superior.


Cenários de quebra e correção

Cenário 1: Sobreposição de pool de endereços

Sintoma: Os clientes se conectam à VPN, mas não conseguem acessar recursos na VNet.

Causa raiz: O pool de endereços P2S (172.16.201.0/24) se sobrepõe a uma sub-rede local ou outro espaço de endereço de VNet.

Correção: Escolha um pool de endereços P2S que não se sobreponha a nenhuma rede conectada:

az network vnet-gateway update \
--resource-group $RG \
--name $GW_NAME \
--address-prefixes "192.168.100.0/24"

Cenário 2: Cliente macOS não consegue conectar (tipo de túnel incorreto)

Sintoma: Usuários de macOS relatam falhas de conexão. O gateway está configurado apenas com SSTP.

Causa raiz: SSTP é exclusivo para Windows. O macOS requer IKEv2 ou OpenVPN.

Correção: Adicione IKEv2 ou OpenVPN à configuração do gateway:

az network vnet-gateway update \
--resource-group $RG \
--name $GW_NAME \
--client-protocol OpenVPN IkeV2

Cenário 3: Pacote de configuração de cliente desatualizado

Sintoma: O cliente se conecta com configurações antigas após a reconfiguração do gateway.

Causa raiz: O cliente está usando um perfil VPN gerado antes da atualização do gateway.

Correção: Regenere a configuração do cliente VPN e redistribua:

az network vnet-gateway vpn-client generate \
--resource-group $RG \
--name $GW_NAME \
--processor-architecture Amd64

Cenário 4: Cliente OpenVPN falha na porta 443

Sintoma: O cliente OpenVPN relata timeout ao conectar na porta 443.

Causa raiz: Um proxy ou firewall intermediário está interceptando o tráfego TLS e interrompendo o handshake do OpenVPN.

Correção: Certifique-se de que o proxy ou firewall permita conexões TLS diretas ao IP público do gateway. Considere adicionar uma exceção para o IP do gateway na configuração do proxy, ou mude para IKEv2 (UDP 500/4500) se UDP for permitido.


Limpeza

# Delete the resource group and all resources within it
az group delete --name $RG --yes --no-wait
# PowerShell cleanup
Remove-AzResourceGroup -Name "rg-p2s-lab" -Force -AsJob

Verificação de conhecimento

1. Qual tipo de túnel suporta clientes Windows, macOS e Linux?

2. Uma empresa precisa de conectividade VPN P2S para 300 usuários remotos simultâneos. Qual é o SKU mínimo de VPN Gateway que suporta esse requisito?

3. Qual protocolo usa a porta TCP 443 e funciona apenas no Windows?

4. O que o comando 'az network vnet-gateway vpn-client generate' retorna?

5. Qual tipo de túnel é necessário para Always On VPN com tunelamento em nível de máquina?

6. Qual é a finalidade do Azure Network Adapter no Windows Admin Center?


Recursos adicionais