Exercício – Criar um Gateway de VPN do Azure

Concluído

Você deseja garantir a conexão de clientes ou sites em seu ambiente com o Azure usando túneis criptografados pela Internet pública. Nesta unidade, você criará um gateway de VPN ponto a site e se conectará a esse gateway no seu computador cliente. Você usará conexões de autenticação de certificado nativas do Azure para segurança.

Você realizará o seguinte processo:

  1. Criar um gateway de VPN RouteBased.

  2. Carregar a chave pública de um certificado raiz para fins de autenticação.

  3. Gerar um certificado do cliente com o certificado raiz e, em seguida, instalar o certificado do cliente em cada computador cliente que se conectará à rede virtual para fins de autenticação.

  4. Criar arquivos de configuração de cliente VPN, que contêm as informações necessárias para o cliente se conectar à rede virtual.

Instalação

Para concluir este módulo, use o Azure PowerShell do seu computador local do Windows 10.

  1. Abra uma nova sessão do PowerShell no computador Windows 10 local em que o módulo do Azure PowerShell está instalado.

  2. Entre no Azure executando o cmdlet Connect-AzAccount do PowerShell.

  3. Configure variáveis que você usará para criar uma rede virtual. Copie e cole as seguintes variáveis no PowerShell.

$VNetName  = "VNetData"
$FESubName = "FrontEnd"
$BESubName = "Backend"
$GWSubName = "GatewaySubnet"
$VNetPrefix1 = "192.168.0.0/16"
$VNetPrefix2 = "10.254.0.0/16"
$FESubPrefix = "192.168.1.0/24"
$BESubPrefix = "10.254.1.0/24"
$GWSubPrefix = "192.168.200.0/26"
$VPNClientAddressPool = "172.16.201.0/24"
$ResourceGroup = "VpnGatewayDemo"
$Location = "East US"
$GWName = "VNetDataGW"
$GWIPName = "VNetDataGWPIP"
$GWIPconfName = "gwipconf"

Configurar uma rede virtual

  1. Execute o comando a seguir para criar um grupo de recursos.

    New-AzResourceGroup -Name $ResourceGroup -Location $Location
    
  2. Execute o comando a seguir para criar configurações de sub-rede para a rede virtual. Essas configurações têm o nome FrontEnd, BackEnd e GatewaySubnet. Todas essas sub-redes existem dentro do prefixo da rede virtual.

    $fesub = New-AzVirtualNetworkSubnetConfig -Name $FESubName -AddressPrefix $FESubPrefix
    $besub = New-AzVirtualNetworkSubnetConfig -Name $BESubName -AddressPrefix $BESubPrefix
    $gwsub = New-AzVirtualNetworkSubnetConfig -Name $GWSubName -AddressPrefix $GWSubPrefix
    
  3. Em seguida, execute o comando a seguir para criar a rede virtual usando os valores de sub-rede e um servidor DNS estático.

    New-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroup -Location $Location -AddressPrefix $VNetPrefix1,$VNetPrefix2 -Subnet $fesub, $besub, $gwsub -DnsServer 10.2.1.3
    
  4. Agora, especifique as variáveis para essa rede criada.

    $vnet = Get-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroup
    $subnet = Get-AzVirtualNetworkSubnetConfig -Name $GWSubName -VirtualNetwork $vnet
    
  5. Execute o comando a seguir para solicitar um endereço IP público atribuído dinamicamente.

    $pip = New-AzPublicIpAddress -Name $GWIPName -ResourceGroupName $ResourceGroup -Location $Location -AllocationMethod Dynamic
    $ipconf = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfName -Subnet $subnet -PublicIpAddress $pip
    

Criar o gateway de VPN

Ao criar este gateway de VPN:

  • O GatewayType precisa ser Vpn
  • O VpnType precisa ser RouteBased

Esta parte do exercício pode levar até 45 minutos para ser concluída.

  1. Para criar o gateway de VPN, execute o comando a seguir e pressione Enter.

    New-AzVirtualNetworkGateway -Name $GWName -ResourceGroupName $ResourceGroup `
    -Location $Location -IpConfigurations $ipconf -GatewayType Vpn `
    -VpnType RouteBased -EnableBgp $false -GatewaySku VpnGw1 -VpnClientProtocol "IKEv2"
    
  2. Aguarde até a saída do comando ser exibida.

Adicionar o pool de endereços do cliente VPN

  1. Execute o comando a seguir para adicionar o pool de endereços do cliente VPN.

    $Gateway = Get-AzVirtualNetworkGateway -ResourceGroupName $ResourceGroup -Name $GWName
    Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway -VpnClientAddressPool $VPNClientAddressPool
    
  2. Aguarde até a saída do comando ser exibida.

Gerar um certificado do cliente

Com a infraestrutura de rede criada no Azure, precisamos criar um certificado do cliente autoassinado em nosso computador local. Essa criação pode ser feita da mesma forma na maioria dos sistemas operacionais, mas abordaremos como gerar seu certificado de cliente no Windows 10 usando o PowerShell com o módulo do Azure PowerShell e o utilitário Gerenciador de Certificados do Windows.

  1. Nossa primeira etapa é criar o certificado raiz autoassinado. Execute o comando a seguir.

    $cert = New-SelfSignedCertificate -Type Custom -KeySpec Signature `
    -Subject "CN=P2SRootCert" -KeyExportPolicy Exportable `
    -HashAlgorithm sha256 -KeyLength 2048 `
    -CertStoreLocation "Cert:\CurrentUser\My" -KeyUsageProperty Sign -KeyUsage CertSign
    
  2. Em seguida, gere um certificado do cliente assinado por seu novo certificado raiz.

    New-SelfSignedCertificate -Type Custom -DnsName P2SChildCert -KeySpec Signature `
    -Subject "CN=P2SChildCert" -KeyExportPolicy Exportable `
    -HashAlgorithm sha256 -KeyLength 2048 `
    -CertStoreLocation "Cert:\CurrentUser\My" `
    -Signer $cert -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.2")
    

Exportar a chave pública do certificado

Com nossos certificados gerados, é necessário exportar a chave pública do nosso certificado raiz.

  1. Execute certmgr do PowerShell para abrir o Gerenciador de Certificados.

  2. Acesse Pessoal>Certificados.

  3. Clique com o botão direito do mouse no certificado P2SRootCert na lista e selecione Todas as tarefas>Exportar.

  4. No Assistente para Exportação de Certificados, selecione Avançar.

  5. Verifique se a opção Não, não exportar a chave privada está selecionada e selecione Avançar.

  6. Na página Exportar Formato de Arquivo, verifique se a opção X.509 com codificação de Base 64 (.CER) está selecionada e selecione Avançar.

  7. Na página Arquivo a exportar, em Nome do arquivo, navegue até uma localização da qual você se lembrará, salve o arquivo como P2SRootCert.cer e selecione Avançar.

  8. Na página Concluindo o Assistente para Exportação de Certificados, selecione Concluir.

  9. Na caixa de mensagem Assistente para Exportação de Certificados, selecione OK.

Carregar as informações de chave pública do certificado raiz

  1. Na janela do PowerShell, execute o comando a seguir para declarar uma variável para o nome do certificado.

    $P2SRootCertName = "P2SRootCert.cer"
    
  2. Substitua o espaço reservado <cert-path> pela localização de exportação do certificado raiz e execute o comando a seguir.

    $filePathForCert = "<cert-path>\P2SRootCert.cer"
    $cert = new-object System.Security.Cryptography.X509Certificates.X509Certificate2($filePathForCert)
    $CertBase64 = [system.convert]::ToBase64String($cert.RawData)
    $p2srootcert = New-AzVpnClientRootCertificate -Name $P2SRootCertName -PublicCertData $CertBase64
    
  3. Com o nome do grupo definido, carregue o certificado no Azure com o comando a seguir.

    Add-AzVpnClientRootCertificate -VpnClientRootCertificateName $P2SRootCertName -VirtualNetworkGatewayname $GWName -ResourceGroupName $ResourceGroup -PublicCertData $CertBase64
    

    Agora, o Azure reconhecerá esse certificado como um certificado raiz confiável para nossa rede virtual.

Configurar o cliente VPN nativo

  1. Execute o comando a seguir para criar arquivos de configuração do cliente VPN em formato ZIP.

    $profile = New-AzVpnClientConfiguration -ResourceGroupName $ResourceGroup -Name $GWName -AuthenticationMethod "EapTls"
    $profile.VPNProfileSASUrl
    
  2. Copie a URL retornada na saída desse comando e cole-a no navegador. O navegador deve começar a baixar um arquivo ZIP. Extraia o conteúdo do arquivo e coloque-o em um local adequado.

    Alguns navegadores tentam inicialmente bloquear o download de arquivo ZIP, tratando-o como um download perigoso. Você precisará substituir essa configuração no navegador para conseguir extrair o conteúdo do arquivo.

  3. Na pasta extraída, navegue para a pasta WindowsAmd64 (em computadores Windows de 64 bits) ou para a pasta WindowsX86 (em computadores de 32 bits).

    Se você quiser configurar uma VPN em um computador não Windows, você poderá usar o certificado e os arquivos de configurações da pasta Genérico.

  4. Clique duas vezes no arquivo VpnClientSetup{arquitetura}.exe, com {architecture} refletindo sua arquitetura.

  5. Na tela O Windows protegeu seu computador, selecione Mais informações e selecione Executar mesmo assim.

  6. Na caixa de diálogo Controle de Conta de Usuário, selecione Sim.

  7. Na caixa de diálogo VNetData, selecione Sim.

Conectar-se ao Azure

  1. Pressione a tecla Windows, digite Configurações e pressione kbd>Enter.

  2. Na janela Configurações, selecione Rede e Internet.

  3. No painel esquerdo, selecione VPN.

  4. No painel direito, selecione VNetData e Conectar.

  5. Na janela VNetData, selecione Conectar.

  6. Na próxima janela VNetData, selecione Continuar.

  7. Na caixa de mensagem Controle de Conta de Usuário, selecione Sim.

Se essas etapas não funcionam, talvez seja necessário reiniciar o computador.

Verificar a conexão

  1. Em um novo prompt de comando do Windows, execute IPCONFIG /ALL.

  2. Copie o endereço IP no adaptador PPP VNetData ou anote-o.

  3. Confirme se o endereço IP está no intervalo VPNClientAddressPool 172.16.201.0/24.

  4. Você fez uma conexão bem-sucedida com o gateway de VPN do Azure.

Você acabou de configurar um gateway de VPN, habilitando assim uma conexão de cliente criptografada com uma rede virtual no Azure. Essa abordagem é excelente com computadores cliente e conexões site a site menores.