Exercício – Criar um Gateway de VPN do Azure
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:
Criar um gateway de VPN RouteBased.
Carregar a chave pública de um certificado raiz para fins de autenticação.
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.
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.
Abra uma nova sessão do PowerShell no computador Windows 10 local em que o módulo do Azure PowerShell está instalado.
Entre no Azure executando o cmdlet
Connect-AzAccount
do PowerShell.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
Execute o comando a seguir para criar um grupo de recursos.
New-AzResourceGroup -Name $ResourceGroup -Location $Location
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
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
Agora, especifique as variáveis para essa rede criada.
$vnet = Get-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroup $subnet = Get-AzVirtualNetworkSubnetConfig -Name $GWSubName -VirtualNetwork $vnet
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.
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"
Aguarde até a saída do comando ser exibida.
Adicionar o pool de endereços do cliente VPN
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
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.
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
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.
Execute
certmgr
do PowerShell para abrir o Gerenciador de Certificados.Acesse Pessoal>Certificados.
Clique com o botão direito do mouse no certificado P2SRootCert na lista e selecione Todas as tarefas>Exportar.
No Assistente para Exportação de Certificados, selecione Avançar.
Verifique se a opção Não, não exportar a chave privada está selecionada e selecione Avançar.
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.
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.
Na página Concluindo o Assistente para Exportação de Certificados, selecione Concluir.
Na caixa de mensagem Assistente para Exportação de Certificados, selecione OK.
Carregar as informações de chave pública do certificado raiz
Na janela do PowerShell, execute o comando a seguir para declarar uma variável para o nome do certificado.
$P2SRootCertName = "P2SRootCert.cer"
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
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
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
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.
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.
Clique duas vezes no arquivo VpnClientSetup{arquitetura}.exe, com
{architecture}
refletindo sua arquitetura.Na tela O Windows protegeu seu computador, selecione Mais informações e selecione Executar mesmo assim.
Na caixa de diálogo Controle de Conta de Usuário, selecione Sim.
Na caixa de diálogo VNetData, selecione Sim.
Conectar-se ao Azure
Pressione a tecla Windows, insira Configurações e pressione Enter.
Na janela Configurações, selecione Rede e Internet.
No painel esquerdo, selecione VPN.
No painel direito, selecione VNetData e Conectar.
Na janela VNetData, selecione Conectar.
Na próxima janela VNetData, selecione Continuar.
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
Em um novo prompt de comando do Windows, execute
IPCONFIG /ALL
.Copie o endereço IP no adaptador PPP VNetData ou anote-o.
Confirme se o endereço IP está no intervalo VPNClientAddressPool 172.16.201.0/24.
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.