Configurar uma conexão VPN ponto a site a uma VNet usando a autenticação de certificado do Azure: PowerShell

Este artigo ajuda você a conectar com segurança clientes individuais que executam o Windows, o Linux ou o macOS a uma VNet do Azure. As conexões VPN ponto a site são úteis quando você deseja se conectar à VNet de um local remoto, como ao trabalhar de casa ou em uma conferência. Também é possível usar P2S em vez de uma VPN Site a Site, quando você tiver apenas alguns clientes que precisam se conectar a uma VNet. As conexões ponto a site não exigem um dispositivo VPN ou um endereço IP voltado para o público. A P2S cria a conexão VPN no SSTP (Secure Socket Tunneling Protocol) ou IKEv2.

Connect from a computer to an Azure VNet - point-to-site connection diagram

Para obter mais informações sobre conexões VPN ponto a site, confira Sobre a VPN ponto a site. Para criar essa configuração usando o portal do Azure, confira Configurar uma VPN ponto a site usando o portal do Azure.

As conexões nativas de autenticação de certificado do Azure ponto a site usam os itens a seguir, os quais são configurados neste exercício:

  • Gateway de VPN RouteBased.
  • A chave pública (arquivo .cer) para um certificado raiz, que é carregado no Azure. Depois que o certificado é carregado, ele é considerado um certificado confiável e é usado para autenticação.
  • Um certificado do cliente que é gerado a partir do certificado raiz. O certificado do cliente instalado em cada computador cliente que se conectará à VNet. Esse certificado é usado para autenticação do cliente.
  • Configuração do cliente VPN. O cliente VPN é configurado com os arquivos de configuração do cliente VPN. Esses arquivos contêm as informações necessárias para o cliente se conectar à VNet. Os arquivos configuram o cliente VPN existente que é nativo do sistema operacional. Cada cliente que se conecta deve ser configurado usando as configurações nos arquivos de configuração.

Pré-requisitos

Verifique se você tem uma assinatura do Azure. Se ainda não tiver uma assinatura do Azure, você poderá ativar os Benefícios do assinante do MSDN ou inscrever-se para obter uma conta gratuita.

Azure PowerShell

Importante

Muitas das etapas deste artigo podem usar o Azure Cloud Shell. No entanto, não é possível usar o Cloud Shell para gerar certificados. Além disso, para carregar a chave pública do certificado raiz, você deve usar o Azure PowerShell localmente ou o portal do Azure.

Este artigo usa cmdlets do PowerShell. Para executar os cmdlets, você pode usar o Azure Cloud Shell. O Azure Cloud Shell é um shell interativo grátis que pode ser usado para executar as etapas neste artigo. Ele tem ferramentas do Azure instaladas e configuradas para usar com sua conta.

Para abrir o Cloud Shell, basta selecionar Experimentar no canto superior direito de um bloco de código. Você também pode iniciar o Cloud Shell em uma guia separada do navegador indo até https://shell.azure.com/powershell. Selecione Copiar para copiar os blocos de código, cole o código no Cloud Shell e depois pressione Enter para executá-lo.

Também é possível instalar e executar cmdlets do Azure PowerShell localmente em seu computador. Os cmdlets do PowerShell são atualizados com frequência. Caso não tenha instalado a versão mais recente, os valores especificados nas instruções poderão apresentar uma falha. Use o cmdlet Get-Module -ListAvailable Az para localizar versões do Azure PowerShell instaladas em seu computador. Para executar uma instalação ou atualização, confira como Instalar o módulo do Azure PowerShell.

Entrar

Se você estiver executando o PowerShell localmente, abra o console do PowerShell com privilégios elevados e conecte-se à sua conta do Azure. O cmdlet Connect-AzAccount solicita as credenciais. Depois de entrar, ele baixa as configurações da conta para que estejam disponíveis para o Microsoft Azure PowerShell.

Se estiver usando Azure Cloud Shell em vez de executar o PowerShell localmente, você observará que não precisa executar o Connect-AzAccount. Azure Cloud Shell se conecta automaticamente à sua conta do Azure depois de selecionar Experimentar.

  1. Se estiver executando o PowerShell localmente, acesse sua conta.

    Connect-AzAccount
    
  2. Se você tiver mais de uma assinatura, obtenha uma lista das assinaturas do Azure.

    Get-AzSubscription
    
  3. Especifique a assinatura que você deseja usar.

    Select-AzSubscription -SubscriptionName "Name of subscription"
    

Declarar variáveis

Usamos variáveis neste artigo para que você possa alterar facilmente os valores a serem aplicados ao seu ambiente sem precisar alterar os exemplos. Declare as variáveis que você quer usar. Use o exemplo a seguir, substituindo os valores existentes pelos seus quando necessário. Se você fechar sua sessão do PowerShell/Cloud Shell a qualquer momento durante o exercício, basta copiar e colar os valores novamente para redeclarar as variáveis.

$VNetName  = "VNet1"
$FESubName = "FrontEnd"
$GWSubName = "GatewaySubnet"
$VNetPrefix = "10.1.0.0/16"
$FESubPrefix = "10.1.0.0/24"
$GWSubPrefix = "10.1.255.0/27"
$VPNClientAddressPool = "172.16.201.0/24"
$RG = "TestRG1"
$Location = "EastUS"
$GWName = "VNet1GW"
$GWIPName = "VNet1GWpip"
$GWIPconfName = "gwipconf"
$DNS = "10.2.1.4"

Criar uma VNET

  1. Crie um grupos de recursos.

    New-AzResourceGroup -Name $RG -Location $Location
    
  2. Crie as configurações de sub-rede para a rede virtual e dê a elas os nomes FrontEnd e GatewaySubnet. Esses prefixos devem fazer parte do espaço de endereço da rede virtual declarada por você.

    $fesub = New-AzVirtualNetworkSubnetConfig -Name $FESubName -AddressPrefix $FESubPrefix
    $gwsub = New-AzVirtualNetworkSubnetConfig -Name $GWSubName -AddressPrefix $GWSubPrefix
    
  3. Crie a rede virtual.

    Neste exemplo, o parâmetro de servidor -DnsServer é opcional. A especificação de um valor não cria um novo servidor DNS. O endereço IP do servidor DNS especificado deve ser um servidor DNS que pode resolver os nomes dos recursos aos quais você está se conectando a partir da sua rede virtual. Este exemplo um endereço IP privado, mas é provável que ele não seja o endereço IP do seu servidor DNS. Use seus próprios valores. O valor especificado é usado pelos recursos que são implantados para a rede virtual, não com a conexão de P2S no cliente de VPN.

        New-AzVirtualNetwork `
       -ResourceGroupName $RG `
       -Location $Location `
       -Name $VNetName `
       -AddressPrefix $VNetPrefix `
       -Subnet $fesub, $gwsub `
       -DnsServer $DNS
    
  4. Especifique as variáveis da rede virtual que você criou.

    $vnet = Get-AzVirtualNetwork -Name $VNetName -ResourceGroupName $RG
    $subnet = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet
    
  5. Um gateway de VPN deve ter um endereço IP público. Você primeiro solicita o recurso de endereço IP e, em seguida, faz referência a ele ao criar seu gateway de rede virtual. O endereço IP é atribuído dinamicamente ao recurso quando o gateway de VPN é criado. O gateway de VPN atualmente suporta apenas alocação de endereços IP público Dinâmico. Você não pode solicitar uma atribuição de endereço IP Público Estático. No entanto, isso não significa que o endereço IP mudará depois de ter sido atribuído ao seu gateway de VPN. A única vez em que o endereço IP Público é alterado é quando o gateway é excluído e recriado. Isso não altera o redimensionamento, a redefinição ou outras manutenções/atualizações internas do seu gateway de VPN.

    Solicite um endereço IP público atribuído dinamicamente.

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

Criar o gateway de VPN

Nesta etapa, você configura e cria o gateway de rede virtual para sua VNet.

  • O -GatewayType deve ser Vpn e o -VpnType deve ser RouteBased.
  • O -VpnClientProtocols é usado para especificar os tipos de túneis que você deseja habilitar. As opções de túneis são OpenVPN, SSTP e IKEv2. Você pode optar por habilitar um deles ou qualquer combinação com suporte. Se quiser habilitar vários tipos, especifique os dois nomes separados por uma vírgula. O OpenVPN e o SSTP não podem ser habilitados juntos. O cliente strongSwan no Android e no Linux, e o cliente VPN IKEv2 nativo no iOS e no macOS usarão somente o túnel IKEv2 para se conectar. Os clientes Windows tentam primeiro usar o IKEv2 e, se não’ for possível se conectar, eles passam para o SSTP. Você pode usar o cliente OpenVPN para se conectar ao tipo de túnel OpenVPN.
  • O SKU "Básico" do gateway de rede virtual não dá suporte à autenticação IKEv2, OpenVPN ou RADIUS. Se você estiver planejando clientes Mac, se conecte à sua rede virtual, não use a SKU básica.
  • Um gateway de VPN pode 45 minutos ou mais para ser concluído, dependendo do SKU de gateway selecionado.
  1. Configurar e criar o gateway de rede virtual para sua rede virtual. Leva aproximadamente 45 minutos para que o gateway seja criado.

    New-AzVirtualNetworkGateway -Name $GWName -ResourceGroupName $RG `
    -Location $Location -IpConfigurations $ipconf -GatewayType Vpn `
    -VpnType RouteBased -EnableBgp $false -GatewaySku VpnGw1 -VpnClientProtocol "IKEv2"
    
  2. Depois que ele for criado, você poderá exibi-lo usando o exemplo a seguir. Se você fechou o PowerShell ou o tempo limite foi atingido enquanto o gateway estava sendo criado, você pode declarar suas variáveis novamente.

    Get-AzVirtualNetworkGateway -Name $GWName -ResourceGroup $RG
    

Adicionar o pool de endereços do cliente VPN

Depois que o gateway de VPN é criado, você pode adicionar o pool de endereços do cliente VPN. O pool de endereços de cliente VPN é o intervalo do qual os clientes VPN recebem um endereço IP ao se conectar. Use um intervalo de endereço IP privado que não coincida com o local de onde você se conecta ou com a rede virtual à qual você deseja se conectar.

Neste exemplo, o pool de endereços do cliente VPN é declarado como uma variável em uma etapa anterior.

$Gateway = Get-AzVirtualNetworkGateway -ResourceGroupName $RG -Name $GWName
Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway -VpnClientAddressPool $VPNClientAddressPool

Gerar certificados

Importante

Não é possível gerar certificados com o Azure Cloud Shell. Você deve usar um dos métodos descritos nesta seção. Se você quiser usar o PowerShell, deverá instalá-lo localmente.

Os certificados são usados pelo Azure para autenticar clientes VPN para as VPNs ponto a site. Você pode carregar as informações da chave públicas do certificado raiz no Azure. A chave pública é considerada “trusted” (confiável). Os certificados de cliente devem ser gerados a partir do certificado raiz confiável e, em seguida, em cada computador cliente no repositório de certificados de usuário/pessoal de certificados atual. O certificado é usado para autenticar o cliente quando ele inicia uma conexão de rede virtual.

Se você usa certificados autoassinados, eles devem ser criados usando parâmetros específicos. Você pode criar um certificado autoassinado usando as instruções para PowerShell e Windows 10 ou, se não tiver o Windows 10, com o MakeCert. É importante que você siga as etapas nas instruções ao gerar os certificados raiz autoassinados e os certificados de cliente. Caso contrário, os certificados gerados não serão compatíveis com conexões P2S e você receberá um erro de conexão.

Certificado raiz

  1. Obtenha o arquivo .cer do certificado raiz. Você pode usar um certificado raiz que foi gerado com uma solução corporativa (recomendado) ou gerar um certificado autoassinado. Depois de criar o certificado raiz, exporte os dados de certificado público (não a chave privada) como o arquivo .cer X.509 codificado em Base64. Você carrega esse arquivo mais tarde no Azure.

    • Certificado corporativo: se você estiver usando uma solução corporativa, você poderá usar a cadeia de certificados existente. Adquira o arquivo .cer do certificado raiz que você deseja usar.

    • Certificado raiz autoassinado: se você não estiver usando uma solução de certificado corporativa, será necessário criar um certificado raiz autoassinado. Caso contrário, os certificados criados não serão compatíveis com suas conexões P2S e os clientes receberão um erro de conexão quando tentarem se conectar. Você pode usar o Azure PowerShell, MakeCert ou OpenSSL. As etapas nos artigos a seguir descrevem como gerar um certificado raiz autoassinado compatível:

      • Instruções do Windows 10 PowerShell: essas instruções exigem o Windows 10 e o PowerShell para gerar certificados. Os certificados de cliente gerados a partir do certificado raiz podem ser instalados em qualquer cliente de P2S com suporte.
      • Instruções de MakeCert: use MakeCert se você não tiver acesso a um computador com Windows 10 para gerar certificados. Embora o MakeCert tenha sido preterido, você ainda pode usá-lo para gerar certificados. Os certificados de cliente gerados usando o certificado raiz podem ser instalados em qualquer cliente de P2S com suporte.
      • Instruções do Linux.
  2. Depois de criar o certificado raiz, exporte os dados de certificado público (não a chave privada) como o arquivo .cer X.509 codificado em Base64.

Certificado do cliente

  1. Cada computador cliente que você conectar a uma VNet com uma conexão Ponto a Site deve ter um certificado de cliente instalado. Você pode gerá-lo do certificado raiz e instalá-lo em cada computador cliente. Se você não instalar um certificado de cliente válido, a autenticação falhará quando o cliente tenta se conectar à VNet.

    Você pode gerar um certificado exclusivo para cada cliente ou pode usar o mesmo certificado para vários clientes. A vantagem da geração de certificados de cliente exclusivos é a capacidade de revogar um único certificado. Caso contrário, se vários clientes usarem o mesmo certificado de cliente para autenticar e você o revogar, você precisará gerar e instalar novos certificados para cada cliente que usa esse certificado.

    Você pode gerar certificados de cliente usando os seguintes métodos:

    • Certificado corporativo:

      • Se você estiver usando uma solução de certificado corporativa, gere um certificado do cliente com o formato de valor de nome comum name@yourdomain.com. Use esse formato, em vez do formato nome do domínio\nomedeusuário.

      • Verifique se o certificado do cliente é baseado em um modelo de certificado de usuário que tenha Autenticação de Cliente listada como o primeiro item na lista de usuários. Verifique o certificado clicando duas vezes nele e exibindo Uso Avançado de Chave na guia Detalhes.

    • Certificado raiz autoassinado: siga as etapas em um dos seguintes artigos de certificado de P2S para que os certificados de cliente que você cria sejam compatíveis com as conexões P2S.

      Ao gerar um certificado do cliente de um certificado raiz autoassinado, ele é instalado automaticamente no computador que você usou para gerá-lo. Se você quiser instalar um certificado de cliente em outro computador cliente, exporte-o como arquivo .pfx e junto com toda a cadeia de certificados. Essa ação criará um arquivo .pfx que contém as informações do certificado raiz necessárias para o cliente autenticar.

      As etapas desses artigos geram um certificado de cliente compatível, que você poderá exportar e distribuir.

      • Instruções do Windows 10 PowerShell: essas instruções exigem o Windows 10 e o PowerShell para gerar certificados. Os certificados gerados podem ser instalados em qualquer cliente de P2S com suporte.

      • Instruções de MakeCert: use MakeCert se você não tiver acesso a um computador com Windows 10 para gerar certificados. Embora o MakeCert tenha sido preterido, você ainda pode usá-lo para gerar certificados. Você pode instalar os certificados gerados em qualquer cliente de P2S com suporte.

      • Instruções do Linux.

  2. Depois de criar o certificado do cliente, exporte-o. Ele será distribuído para os computadores cliente que serão conectados.

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

Verifique se a criação do gateway de VPN foi concluída. Depois de concluído, você pode carregar o arquivo. cer (que contém as informações de chave pública) para um certificado raiz confiável do Azure. Uma vez carregado o arquivo .cer, o Azure pode usá-lo para autenticar clientes com um certificado de cliente instalado gerado a partir de um certificado raiz confiável. Você pode carregar arquivos de certificado raiz confiável adicionais - até um total de 20 - posteriormente, se necessário.

Observação

Não é possível carregar o arquivo .cer com o Azure Cloud Shell. Você pode usar o PowerShell localmente no seu computador ou seguir as etapas do portal do Azure.

  1. Declare a variável para o nome do certificado, substituindo o valor pelo seu.

    $P2SRootCertName = "P2SRootCert.cer"
    
  2. Substitua o caminho do arquivo pelo seu e execute os cmdlets.

    $filePathForCert = "C:\cert\P2SRootCert.cer"
    $cert = new-object System.Security.Cryptography.X509Certificates.X509Certificate2($filePathForCert)
    $CertBase64 = [system.convert]::ToBase64String($cert.RawData)
    
  3. Carregue as informações de chave pública para o Azure. Depois que as informações do certificado são carregadas, o Azure o considera um certificado raiz confiável. Ao carregar, verifique se você está executando o PowerShell localmente no seu computador ou siga as etapas do portal do Azure. Não é possível carregar com o Azure Cloud Shell.

    Add-AzVpnClientRootCertificate -VpnClientRootCertificateName $P2SRootCertName -VirtualNetworkGatewayname "VNet1GW" -ResourceGroupName "TestRG1" -PublicCertData $CertBase64
    

Instalar um certificado do cliente exportado

As etapas a seguir ajudarão você a instalar em um cliente do Windows. Para clientes adicionais e mais informações, confira Instalar um certificado do cliente.

  1. Depois que o certificado do cliente for exportado, localize e copie o arquivo .pfx para o computador cliente.
  2. No computador cliente, clique duas vezes no arquivo .pfx para instalá-lo. Deixe o Local do Repositório como Usuário Atual e selecione Avançar.
  3. Na página Arquivo a importar, não faça nenhuma alteração. Selecione Avançar.
  4. Na página Proteção da chave privada, insira a senha do certificado ou verifique se a entidade de segurança está correta e selecione Avançar.
  5. Na página Repositório de Certificados, deixe a localização padrão e selecione Avançar.
  6. Selecione Concluir. No Aviso de Segurança da instalação do certificado, selecione Sim. Você pode selecionar 'Sim' confortavelmente para este aviso de segurança porque gerou o certificado.
  7. O certificado foi importado com êxito.

Verifique se o certificado do cliente foi exportado como um .pfx juntamente com a cadeia de certificado inteira (que é o padrão). Caso contrário, as informações do certificado raiz não estão presentes no computador cliente e este não será capaz de fazer a autenticação corretamente.

Configurar o cliente VPN

Para se conectar ao gateway de rede virtual usando P2S, cada computador usa o cliente VPN instalado originalmente como parte do sistema operacional. Por exemplo, ao acessar as configurações de VPN no computador Windows, você pode adicionar conexões VPN sem instalar um cliente VPN separado. Configure cada cliente VPN usando um pacote de configuração de cliente. O pacote de configuração do cliente contém configurações específicas para o gateway de VPN que você criou.

Você pode usar os exemplos rápidos a seguir para gerar e instalar o pacote de configuração do cliente. Para obter mais informações sobre o conteúdo do pacote e instruções adicionais sobre como gerar e instalar arquivos de configuração de cliente VPN, confira Criar e instalar os arquivos de configuração de cliente VPN.

Se você precisar declarar suas variáveis novamente, poderá encontrá-las aqui.

Para gerar arquivos de configuração

$profile=New-AzVpnClientConfiguration -ResourceGroupName $RG -Name $GWName -AuthenticationMethod "EapTls"

$profile.VPNProfileSASUrl

Para instalar o pacote de configuração do cliente

Você pode usar o mesmo pacote de configuração de cliente VPN em cada computador cliente do Windows, desde que a versão corresponda à arquitetura do cliente. Para obter a lista de sistemas operacionais quer recebem suporte, confira a seção Ponto a Site das Perguntas frequentes sobre o Gateway de VPN.

Observação

Você deve ter direitos de Administrador no computador cliente do Windows a partir do qual deseja conectar-se.

Instalar os arquivos de configuração

  1. Selecione os arquivos de configuração de cliente VPN que correspondem à arquitetura do computador com Windows. Para uma arquitetura de processador de 64 bits, escolha o pacote do instalador 'VpnClientSetupAmd64'. Para uma arquitetura de processador de 32 bits, escolha o pacote do instalador 'VpnClientSetupX86'.
  2. Clique duas vezes no pacote para instalá-lo. Se vir um pop-up do SmartScreen, clique em Mais informações e em Executar mesmo assim.

Verificar e conectar

  1. Verifique se você instalou um certificado do cliente no computador cliente. Um certificado do cliente é necessário para autenticação ao usar o tipo de autenticação de certificado do Azure nativo. Para exibir o certificado do cliente, abra Gerenciar Certificados de Usuário. O certificado do cliente está instalado em Usuário atual\Personal\Certificates.
  2. Navegue até Configurações de Rede e clique em VPN. A conexão VPN mostra o nome da rede virtual a que ele se conecta.

10. Conectar-se ao Azure

Ciente VPN do Windows

Observação

Você deve ter direitos de Administrador no computador cliente do Windows do qual você está se conectando.

  1. Para se conectar à sua rede virtual, no computador cliente, navegue até configurações de VPN e localize a conexão VPN que você criou. Ele têm o mesmo nome da sua rede virtual. Selecione Conectar. Uma mensagem pop-up pode ser exibida sobre o uso do certificado. Selecione em Continuar para usar os privilégios elevados.

  2. Na página de status Conexão, selecione Conectar para iniciar a conexão. Se for exibida uma tela de Selecionar certificado , verifique se o certificado de cliente mostrado é o que você deseja usar para se conectar. Se não for, use a seta suspensa para selecionar o certificado correto e selecione em OK.

    Connect from a Windows computer

  3. A conexão é estabelecida.

    Connect from a computer to an Azure VNet - Point-to-Site connection diagram

Se houver problemas para se conectar, verifique os seguintes itens:

  • Se você tiver exportado um certificado do cliente com o Assistente para Exportação de Certificados, verifique se o exportou como um arquivo .pfx e selecionou Incluir todos os certificados no caminho de certificação se possível. Quando você exporta usando esse valor, as informações do certificado raiz também são exportadas. Após instalar o certificado no computador cliente, o certificado raiz no arquivo .pfx também será instalado. Para verificar se o certificado raiz está instalado, abra Gerenciar certificados do usuário e selecione Autoridades de Certificação Confiáveis\Certificados. Verifique se o certificado raiz está listado para que a autenticação funcione.

  • Se você usou um certificado emitido com uma solução de AC corporativa e estiver com problemas na autenticação, verifique a ordem de autenticação no certificado do cliente. Verifique a ordem da lista de autenticação ao clicar duas vezes no certificado do cliente e selecionar a guia Detalhes e Uso Avançado de Chave. Verifique se a lista mostra Autenticação de cliente como o primeiro item. Caso contrário, é necessário emitir um certificado de cliente com base no modelo do usuário que tem a Autenticação de Cliente como o primeiro item na lista.

  • Para saber mais sobre solução de problemas de P2S, confira Solucionar problemas de conexões P2S.

Cliente VPN do Mac

Na caixa de diálogo de Rede, localize o perfil de cliente que você deseja usar e, em seguida, clique em Conectar. Verifique Instalar - Mac (macOS) para obter instruções detalhadas. Se você estiver tendo problemas para se conectar, verifique se que o gateway de rede virtual não está usando uma SKU básica. Não há suporte para a SKU básica para clientes Mac.

Mac connection

Para verificar uma conexão

Essas instruções se aplicam a clientes do Windows.

  1. Para verificar se a conexão VPN está ativa, abra um prompt de comandos com privilégios elevados e execute ipconfig/all.

  2. Exiba os resultados. Observe que o endereço IP que você recebeu é um dos endereços dentro do Pool de Endereços de Cliente VPN ponto a site que você especificou em sua configuração. Os resultados são semelhantes a este exemplo:

    PPP adapter VNet1:
       Connection-specific DNS Suffix .:
       Description.....................: VNet1
       Physical Address................:
       DHCP Enabled....................: No
       Autoconfiguration Enabled.......: Yes
       IPv4 Address....................: 172.16.201.13(Preferred)
       Subnet Mask.....................: 255.255.255.255
       Default Gateway.................:
       NetBIOS over Tcpip..............: Enabled
    

Para conectar-se a uma máquina virtual

Essas instruções se aplicam a clientes do Windows.

Você pode se conectar a uma VM que é implantada em sua rede virtual criando uma Conexão de Área de trabalho remota para a sua VM. É a melhor maneira de verificar inicialmente se você pode se conectar à sua VM usando seu endereço IP privado, em vez do nome do computador. Dessa forma, você está testando para ver se você pode se conectar, não se a resolução de nomes está configurada corretamente.

  1. Localize o endereço IP privado. Você pode encontrar o endereço IP privado de uma VM consultando as propriedades para a VM no portal do Azure ou usando o PowerShell.

    • Porta do Azure - Localize sua máquina virtual do Windows no portal do Azure. Exiba as propriedades para a VM. O endereço IP privado está listado.

    • PowerShell - Use o exemplo para exibir uma lista de VMs e endereços de IP privados dos seus grupos de recursos. Você não precisa modificar esse exemplo antes de usá-lo.

      $VMs = Get-AzVM
      $Nics = Get-AzNetworkInterface | Where VirtualMachine -ne $null
      
      foreach($Nic in $Nics)
      {
      $VM = $VMs | Where-Object -Property Id -eq $Nic.VirtualMachine.Id
      $Prv = $Nic.IpConfigurations | Select-Object -ExpandProperty PrivateIpAddress
      $Alloc = $Nic.IpConfigurations | Select-Object -ExpandProperty PrivateIpAllocationMethod
      Write-Output "$($VM.Name): $Prv,$Alloc"
      }
      
  2. Verifique se você está conectado à sua rede virtual usando a conexão VPN ponto a site.

  3. Abra a Conexão de Área de Trabalho Remota, digitando "RDP" ou "Conexão de Área de Trabalho Remota" na caixa de pesquisa na barra de tarefas e, em seguida, selecione a Conexão de Área de Trabalho Remota. Você também pode abrir a Conexão de Área de Trabalho Remota usando o comando 'mstsc' no PowerShell.

  4. Na Conexão de Área de Trabalho Remota, insira o endereço IP privado da VM. Você pode clicar em "Mostrar opções" para ajustar as configurações adicionais, em seguida, conectar-se.

Como solucionar problemas de conexão

Se você estiver tendo problemas para se conectar a uma máquina virtual em sua conexão VPN, verifique o seguinte:

  • Verifique se a conexão VPN é estabelecida.

  • Verifique se você está se conectando ao endereço IP privado para a VM.

  • Se você puder se conectar à VM usando o endereço IP privado, mas não o nome do computador, verifique se você configurou o DNS corretamente. Para obter mais informações sobre como funciona a resolução de nome para VMs, confira Resolução de nomes para VMs.

  • Para obter mais informações sobre conexões RDP, confira Solucionar problemas de conexões da Área de Trabalho Remota a uma VM.

  • Verifique se o pacote de configuração de cliente VPN foi gerado depois que os endereços IP do servidor DNS foram especificados para a rede virtual. Se você atualizou os endereços IP do servidor DNS, gere e instale um novo pacote de configuração de cliente VPN.

  • Use 'ipconfig' para verificar o endereço IPv4 atribuído ao adaptador Ethernet no computador do qual está se conectando. Se o endereço IP está dentro do intervalo de endereços da VNet a que você está se conectando ou dentro do intervalo de endereços de seu VPNClientAddressPool, isso é chamado de espaço de endereço sobreposto. Quando o espaço de endereço se sobrepõe dessa forma, o tráfego de rede não alcança o Azure; ele permanece na rede local.

Para adicionar ou remover um certificado raiz

Você pode adicionar e remover um certificado raiz do Azure. Quando você remove um certificado raiz, os clientes que possuem um certificado gerado pelo certificado raiz não podem fazer a autenticação e, portanto, não conseguem se conectar. Se você deseja que um clientes faça autenticação e se conecte, você precisa instalar um novo certificado de cliente gerado a partir de um certificado confiável (carregado) no Azure. Estas etapas exigem cmdlets do Azure PowerShell instalados localmente em seu computador (não no Azure Cloud Shell). Você também pode usar o portal do Azure para adicionar certificados raiz.

Para adicionar:

Você pode adicionar até 20 arquivos .cer de certificado raiz ao Azure. As etapas a seguir ajudarão você a adicionar um certificado raiz.

  1. Prepare o arquivo .cer para upload:

    $filePathForCert = "C:\cert\P2SRootCert3.cer"
    $cert = new-object System.Security.Cryptography.X509Certificates.X509Certificate2($filePathForCert)
    $CertBase64_3 = [system.convert]::ToBase64String($cert.RawData)
    
  2. Carregue o arquivo. Você só pode carregar um arquivo por vez.

    Add-AzVpnClientRootCertificate -VpnClientRootCertificateName $P2SRootCertName -VirtualNetworkGatewayname "VNet1GW" -ResourceGroupName "TestRG1" -PublicCertData $CertBase64_3
    
  3. Para verificar se o arquivo de certificado foi carregado:

    Get-AzVpnClientRootCertificate -ResourceGroupName "TestRG1" `
    -VirtualNetworkGatewayName "VNet1GW"
    

Para remover:

  1. Declare as variáveis. Modifique as variáveis no exemplo para corresponder ao certificado que você deseja remover.

    $GWName = "Name_of_virtual_network_gateway"
    $RG = "Name_of_resource_group"
    $P2SRootCertName2 = "ARMP2SRootCert2.cer"
    $MyP2SCertPubKeyBase64_2 = "MIIC/zCCAeugAwIBAgIQKazxzFjMkp9JRiX+tkTfSzAJBgUrDgMCHQUAMBgxFjAUBgNVBAMTDU15UDJTUm9vdENlcnQwHhcNMTUxMjE5MDI1MTIxWhcNMzkxMjMxMjM1OTU5WjAYMRYwFAYDVQQDEw1NeVAyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyjIXoWy8xE/GF1OSIvUaA0bxBjZ1PJfcXkMWsHPzvhWc2esOKrVQtgFgDz4ggAnOUFEkFaszjiHdnXv3mjzE2SpmAVIZPf2/yPWqkoHwkmrp6BpOvNVOpKxaGPOuK8+dql1xcL0eCkt69g4lxy0FGRFkBcSIgVTViS9wjuuS7LPo5+OXgyFkAY3pSDiMzQCkRGNFgw5WGMHRDAiruDQF1ciLNojAQCsDdLnI3pDYsvRW73HZEhmOqRRnJQe6VekvBYKLvnKaxUTKhFIYwuymHBB96nMFdRUKCZIiWRIy8Hc8+sQEsAML2EItAjQv4+fqgYiFdSWqnQCPf/7IZbotgQIDAQABo00wSzBJBgNVHQEEQjBAgBAkuVrWvFsCJAdK5pb/eoCNoRowGDEWMBQGA1UEAxMNTXlQMlNSb290Q2VydIIQKazxzFjMkp9JRiX+tkTfSzAJBgUrDgMCHQUAA4IBAQA223veAZEIar9N12ubNH2+HwZASNzDVNqspkPKD97TXfKHlPlIcS43TaYkTz38eVrwI6E0yDk4jAuPaKnPuPYFRj9w540SvY6PdOUwDoEqpIcAVp+b4VYwxPL6oyEQ8wnOYuoAK1hhh20lCbo8h9mMy9ofU+RP6HJ7lTqupLfXdID/XevI8tW6Dm+C/wCeV3EmIlO9KUoblD/e24zlo3YzOtbyXwTIh34T0fO/zQvUuBqZMcIPfM1cDvqcqiEFLWvWKoAnxbzckye2uk1gHO52d8AVL3mGiX8wBJkjc/pMdxrEvvCzJkltBmqxTM6XjDJALuVh16qFlqgTWCIcb7ju"
    
  2. Remova o certificado.

    Remove-AzVpnClientRootCertificate -VpnClientRootCertificateName $P2SRootCertName2 -VirtualNetworkGatewayName $GWName -ResourceGroupName $RG -PublicCertData $MyP2SCertPubKeyBase64_2
    
  3. Use o exemplo a seguir para verificar se o certificado foi removido com êxito.

    Get-AzVpnClientRootCertificate -ResourceGroupName "TestRG1" `
    -VirtualNetworkGatewayName "VNet1GW"
    

Para revogar ou restabelecer um certificado do cliente

É possível revogar certificados de cliente. A lista de certificados revogados permite que você negue seletivamente conectividade ponto a site com base nos certificados de cliente individuais. Isso é diferente da remoção de um certificado raiz confiável. Se você remover um arquivo .cer de certificado raiz confiável do Azure, ele revogará o acesso para todos os certificados de cliente gerados/assinados pelo certificado raiz revogado. Revogar um certificado de cliente, em vez do certificado raiz, permite que os outros certificados gerados a partir do certificado raiz continuem a ser usados para autenticação.

A prática comum é usar o certificado raiz para gerenciar o acesso em níveis de equipe ou organização, enquanto estiver usando certificados de cliente revogados para controle de acesso refinado em usuários individuais.

Para revogar:

  1. Recupere a impressão digital do certificado de cliente. Para saber mais, confira Como recuperar a impressão digital de um certificado.

  2. Copie as informações para um editor de texto e remova todos os espaços para que seja uma cadeia de caracteres contínua. A cadeia de caracteres é declarada como uma variável na próxima etapa.

  3. Declare as variáveis. Declare a impressão digital recuperada na etapa anterior.

    $RevokedClientCert1 = "NameofCertificate"
    $RevokedThumbprint1 = "‎51ab1edd8da4cfed77e20061c5eb6d2ef2f778c7"
    $GWName = "Name_of_virtual_network_gateway"
    $RG = "Name_of_resource_group"
    
  4. Adicione a impressão digital à lista de certificados revogados. Você verá "Êxito" quando a impressão digital tiver sido adicionada.

    Add-AzVpnClientRevokedCertificate -VpnClientRevokedCertificateName $RevokedClientCert1 `
    -VirtualNetworkGatewayName $GWName -ResourceGroupName $RG `
    -Thumbprint $RevokedThumbprint1
    
  5. Verifique se a impressão digital foi adicionada à lista de certificados revogados.

    Get-AzVpnClientRevokedCertificate -VirtualNetworkGatewayName $GWName -ResourceGroupName $RG
    
  6. Após a adição da impressão digital, o certificado não poderá mais ser usado para se conectar. Os clientes que tentam se conectar usando este certificado recebem uma mensagem informando que o certificado não é mais válido.

Para restabelecer:

Você pode restabelecer um certificado de cliente removendo a impressão digital da lista de certificados de cliente revogados.

  1. Declare as variáveis. Declare a impressão digital correta para o certificado que você deseja restabelecer.

    $RevokedClientCert1 = "NameofCertificate"
    $RevokedThumbprint1 = "‎51ab1edd8da4cfed77e20061c5eb6d2ef2f778c7"
    $GWName = "Name_of_virtual_network_gateway"
    $RG = "Name_of_resource_group"
    
  2. Remova a impressão digital do certificado da lista de revogação de certificado.

    Remove-AzVpnClientRevokedCertificate -VpnClientRevokedCertificateName $RevokedClientCert1 `
    -VirtualNetworkGatewayName $GWName -ResourceGroupName $RG -Thumbprint $RevokedThumbprint1
    
  3. Verifique se a impressão digital foi removida da lista revogada.

    Get-AzVpnClientRevokedCertificate -VirtualNetworkGatewayName $GWName -ResourceGroupName $RG
    

Perguntas frequentes sobre ponto a site

Para obter informações adicionais de ponto a site, confira as Perguntas frequentes sobre ponto a site do Gateway de VPN

Próximas etapas

Quando sua conexão for concluída, você poderá adicionar máquinas virtuais às suas redes virtuais. Para saber mais, veja Máquinas virtuais. Para saber mais sobre redes e máquinas virtuais, consulte Visão geral de rede do Azure e VM Linux.

Para obter informações sobre solução de problemas de P2S, consulte Solução de problemas de conexões de ponto a site do Azure.