Desafio 17: VPN ponto a site e configuração de cliente
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
| Habilidade | Descrição |
|---|---|
| Selecionar um SKU de gateway de rede virtual apropriado | Escolher um SKU que suporte P2S e os tipos de túnel necessários |
| Selecionar e configurar um tipo de túnel | Configurar OpenVPN, IKEv2 ou SSTP com base nos requisitos do SO do cliente |
| Implementar um arquivo de configuração de cliente VPN | Gerar e distribuir pacotes de cliente VPN |
| Especificar os requisitos do Azure para o Azure Network Adapter | Entender a configuração simplificada de P2S via Windows Admin Center |
Visão geral da arquitetura
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
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"
- 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
| Propriedade | Detalhe |
|---|---|
| SO suportado | Somente Windows |
| Porta | TCP 443 (mesma do HTTPS) |
| Compatibilidade com firewall | Excelente - atravessa a maioria dos firewalls e proxies |
| Máximo de conexões | 128 por instância de gateway |
| Limitação de protocolo | Não pode ser combinado com OpenVPN no mesmo gateway (ambos usam TLS; IKEv2+SSTP é válido) |
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)
| Cliente | Protocolo usado | Arquivo de configuração |
|---|---|---|
| Azure VPN Client (Windows/macOS) | OpenVPN | AzureVPN/azurevpnconfig.xml |
| OpenVPN Connect | OpenVPN | OpenVPN/vpnconfig.ovpn |
| VPN nativo Windows | IKEv2/SSTP | WindowsAmd64/ installer |
| VPN nativo macOS | IKEv2 | Generic/ mobileconfig |
| strongSwan (Linux) | IKEv2 | Generic/ 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
| Recurso | Descrição |
|---|---|
| Objetivo | Conectar Windows Server local à VNet do Azure sem configuração complexa de VPN |
| Interface | Plugin do Windows Admin Center |
| Protocolo usado | VPN P2S IKEv2 |
| Autenticação | Baseada em certificado (gerado automaticamente) |
| Requisito de gateway | Requer gateway VPN existente com P2S configurado |
| Caso de uso | Gerenciamento híbrido, conectividade de servidor único |
Requisitos do Azure Network Adapter
- Windows Admin Center instalado e registrado com o Azure
- Um gateway VPN existente com SKU compatível com P2S (VpnGw1 ou superior)
- O gateway deve ter o pool de endereços P2S configurado
- Permissões de assinatura do Azure para gerenciar o gateway VPN
- Windows Server 2012 R2 ou posterior na máquina local
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
| SKU | Máximo de conexões P2S | Túneis suportados | Throughput |
|---|---|---|---|
| Basic | 128 | Somente SSTP | 100 Mbps |
| VpnGw1 | 250 | SSTP, IKEv2, OpenVPN | 650 Mbps |
| VpnGw2 | 500 | SSTP, IKEv2, OpenVPN | 1,0 Gbps |
| VpnGw3 | 1.000 | SSTP, IKEv2, OpenVPN | 1,25 Gbps |
| VpnGw4 | 5.000 | SSTP, IKEv2, OpenVPN | 5,0 Gbps |
| VpnGw5 | 10.000 | SSTP, IKEv2, OpenVPN | 10,0 Gbps |
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?