Exercício – criar um gateway de VPN do Azure

Concluído

Quer ter a certeza de que consegue ligar clientes ou sites no seu ambiente ao Azure mediante a utilização de túneis encriptados através da Internet pública. Nesta unidade, irá criar um gateway de VPN ponto a site e, em seguida, ligar a esse gateway a partir de um computador cliente. Por motivos de segurança, irá utilizar as ligações de autenticação de certificados nativas do Azure.

Você realizará o seguinte processo:

  1. Crie um gateway de VPN RouteBased.

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

  3. Gere um certificado de cliente a partir do certificado de raiz e, em seguida, instale-o em cada computador cliente que se vai ligar à rede virtual para fins de autenticação.

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

Configurar

Para concluir este módulo, utilize o Azure PowerShell a partir do seu computador local com o Windows 10.

  1. Abra uma nova sessão do PowerShell em seu computador Windows 10 local onde você instalou o módulo do Azure PowerShell.

  2. Entre no Azure executando o cmdlet Connect-AzAccountdo PowerShell .

  3. Configure as variáveis 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 seguinte comando para criar um grupo de recursos.

    New-AzResourceGroup -Name $ResourceGroup -Location $Location
    
  2. Execute o seguinte comando para criar configurações de sub-rede para a rede virtual. Essas configurações têm o nome FrontEnd, BackEnd e GatewaySubnet. Todas estas sub-redes existem no 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 seguinte comando para criar a rede virtual ao utilizar os valores das sub-redes 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 que você criou.

    $vnet = Get-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroup
    $subnet = Get-AzVirtualNetworkSubnetConfig -Name $GWSubName -VirtualNetwork $vnet
    
  5. Execute o seguinte comando para pedir 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 o gateway de VPN:

  • O GatewayType tem de ser Vpn
  • O VpnType tem de ser RouteBased

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

  1. Para criar o gateway VPN, execute o seguinte comando 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é que a saída do comando apareça.

Add the VPN client address pool (Adicionar um conjunto de endereços do cliente VPN)

  1. Execute o comando seguinte para adicionar o conjunto de endereços do cliente VPN.

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

Gerar um certificado de cliente

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

  1. O primeiro passo é criar o certificado de raiz autoassinado. Execute o seguinte comando.

    $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 de cliente assinado pelo seu novo certificado de 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 os certificados já gerados, é preciso exportar a chave pública do certificado de raiz.

  1. Execute o certmgr a partir do PowerShell para abrir o Gestor de Certificados.

  2. Aceda a 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. Certifique-se de que Não, não exporte a chave privada está selecionado e, em seguida, selecione Avançar.

  6. Na página Formato de Arquivo de Exportação , verifique se Base-64 codificou X.509 (. CER) é selecionada e, em seguida, selecione Avançar.

  7. Na página Arquivo a Exportar, em Nome do arquivo, navegue até um local que 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 da chave pública do certificado de raiz

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

    $P2SRootCertName = "P2SRootCert.cer"
    
  2. Substitua o espaço reservado <cert-path> pelo local de exportação do certificado raiz e execute o seguinte comando.

    $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. Depois de o conjunto de nomes de grupo estar definido, carregue o certificado para o Azure com o seguinte comando.

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

    Agora, o Azure vai reconhecer este certificado como um certificado de raiz fidedigno para a rede virtual.

Configurar o cliente VPN nativo

  1. Execute o seguinte comando para criar os ficheiros de configuração do cliente VPN no formato .ZIP.

    $profile = New-AzVpnClientConfiguration -ResourceGroupName $ResourceGroup -Name $GWName -AuthenticationMethod "EapTls"
    $profile.VPNProfileSASUrl
    
  2. Copie o URL retornado na saída deste comando e cole-o no navegador. O browser deverá começar a transferir um ficheiro .ZIP. Extraia o conteúdo do arquivo e coloque-o numa localização adequada.

    No início, alguns browsers tentarão bloquear a transferência deste ficheiro ZIP, tratando-o como uma transferência perigosa. Você precisará substituir isso em seu navegador para poder extrair o conteúdo do arquivo.

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

    Se quiser configurar uma VPN num computador não Windows, pode utilizar o certificado e os ficheiros de definições da pasta Genérico.

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

  5. No ecrã Windows protegido do PC , selecione Mais informações e, em seguida, 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.

Ligar ao Azure

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

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

  3. No painel esquerdo, selecione VPN.

  4. No painel direito, selecione VNetData e, em seguida, selecione 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 estes passos não funcionarem, poderá ter de reiniciar o computador.

Verificar a ligação

  1. Numa nova linha de comandos do Windows, execute IPCONFIG /ALL.

  2. Copie o endereço IP em VNetData do adaptador PPP ou aponte-o.

  3. Confirme que esse endereço IP está no intervalo VPNClientAddressPool de 172.16.201.0/24.

  4. Estabeleceu uma ligação ao gateway de VPN do Azure com êxito.

Você acabou de configurar um gateway de VPN, permitindo que você faça uma conexão de cliente criptografada com uma rede virtual no Azure. Esta abordagem é ideal para computadores cliente e ligações site a site mais pequenas.