Compartilhar via


Configurar o cliente VPN strongSwan para conexões IKEv2 de autenticação de certificado P2S – Linux

Este artigo ajuda você a se conectar à VNet (rede virtual) do Azure usando o Gateway de VPN P2S (ponto a site) e a Autenticação de certificado de um cliente Ubuntu Linux usando strongSwan.

Antes de começar

Antes de começar, verifique se você está no artigo correto. A tabela a seguir mostra os artigos de configuração disponíveis para clientes VPN P2S do Gateway de VPN do Azure. As etapas diferem, dependendo do tipo de autenticação, do tipo de túnel e do sistema operacional do cliente.

Autenticação Tipo de túnel Sistema operacional cliente Cliente VPN
Certificado
IKEv2, SSTP Windows Cliente VPN nativo
IKEv2 macOS Cliente VPN nativo
IKEv2 Linux strongSwan
OpenVPN Windows Cliente VPN do Azure
Cliente OpenVPN versão 2.x
Cliente OpenVPN versão 3.x
OpenVPN macOS Cliente OpenVPN
OpenVPN iOS Cliente OpenVPN
OpenVPN Linux Cliente VPN do Azure
Cliente OpenVPN
Microsoft Entra ID
OpenVPN Windows Cliente VPN do Azure
OpenVPN macOS Cliente VPN do Azure
OpenVPN Linux Cliente VPN do Azure

Pré-requisitos

Este artigo pressupõe que você tenha executado os seguintes pré-requisitos:

Requisitos de conexão

Para se conectar ao Azure usando o cliente strongSwan e a autenticação de certificado via tipo de tunnel IKEv2, cada computador cliente que estiver se conectando exigirá os seguintes itens:

  • Cada cliente deve ser configurado para usar strongSwan.
  • O cliente precisa ter os certificados corretos instalados localmente.

Workflow

O fluxo de trabalho deste artigo é:

  1. Instale o strongSwan.
  2. Exibir os arquivos de configuração do perfil do cliente VPN contidos no pacote de configuração do perfil do cliente VPN gerado.
  3. Localize todos os certificados de cliente necessários.
  4. Configure strongSwan.
  5. Conecte-se ao Azure.

Sobre certificados

Para autenticação de certificado, um certificado do cliente deve ser instalado em cada computador cliente. O certificado do cliente que você deseja deve ser exportado com a chave privada e deve conter todos os certificados no caminho de certificação. Além disso, para algumas configurações, você também precisa instalar informações de certificado raiz.

Para obter mais informações sobre certificados para Linux, consulte os seguintes artigos:

Instalar o strongSwan

A configuração a seguir foi usada ao especificar comandos:

  • Computador: Ubuntu Server 18.04
  • Dependências: strongSwan

Use os comandos a seguir para instalar a configuração necessária do strongSwan:

sudo apt-get update
sudo apt-get upgrade
sudo apt install strongswan
sudo apt install strongswan-pki
sudo apt install libstrongswan-extra-plugins
sudo apt install libtss2-tcti-tabrmd0

Exibir os arquivos de configuração de perfil de cliente VPN

Quando você gera um pacote de configuração de perfil de cliente VPN, todas as definições de configuração necessárias para os clientes VPN estão contidas em um arquivo zip de configuração de perfil de cliente VPN. Os arquivos de configuração do perfil do cliente VPN são específicos da configuração do gateway de VPN P2S para a rede virtual. Se houver alterações na configuração de VPN P2S depois de gerar os arquivos, como alterações no tipo de protocolo VPN ou no tipo de autenticação, você precisará gerar novos arquivos de configuração de perfil de cliente VPN, e aplicar a nova configuração a todos os clientes VPN que você deseja conectar.

Localize e descompacte o pacote de configuração de perfil do cliente VPN gerado e baixado. Você pode encontrar todas as informações que você precisa para configuração na pasta Generic. O Azure não fornece um arquivo de configuração móvel para essa configuração.

Se você não vir a pasta Genérica, verifique os itens a seguir e gere o arquivo zip novamente.

  • Verifique o tipo de túnel para sua configuração. É provável que IKEv2 não tenha sido selecionado como um tipo de túnel.
  • No gateway de VPN, verifique se a SKU não é Básica. Observe que o SKU Básico do Gateway de VPN não dá suporte a IKEv2. Em seguida, selecione IKEv2 e gere o arquivo zip novamente para recuperar a pasta Genérico.

A pasta Genérico contém os seguintes arquivos:

  • VpnSettings.xml, que contém configurações importantes, como o tipo de túnel e o endereço do servidor.
  • VpnServerRoot.cer, que contém o certificado raiz necessário para validar o gateway de VPN do Azure durante a instalação de conexão P2S.

Configurar o cliente VPN

Depois de exibir os arquivos de perfil do cliente VPN, prossiga com as etapas que deseja usar:

Etapas da GUI

Esta seção orienta você pela configuração usando a GUI strongSwan. As instruções a seguir foram criadas no Ubuntu 18.0.4. O Ubuntu 16.0.10 não dá suporte para GUI do StrongSwan. Se você quiser usar o Ubuntu 16.0.10, será necessário usar a linha de comando. Os exemplos a seguir podem não corresponder às telas que você vê, dependendo da sua versão do Linux e do strongSwan.

  1. Abra o Terminal para instalar o strongSwan e seu Gerenciador de Rede executando o comando no exemplo.

    sudo apt install network-manager-strongswan
    
  2. Selecione Configurações e, depois, escolha Rede. Selecione o botão + para criar uma conexão.

    Captura de tela que mostra a página conexões de rede.

  3. Escolha IPsec/IKEv2 (strongSwan) no menu e clique duas vezes.

    Captura de tela que mostra a página Adicionar VPN.

  4. Na página Adicionar VPN, adicione um nome para a conexão VPN.

    Captura de tela que mostra Escolher um tipo de conexão.

  5. Abra o arquivo VpnSettings.xml da pasta Genérico contida nos arquivos de configuração do perfil do cliente de VPN baixados. Localize a marca chamada VpnServer e copie o nome, iniciando com "azuregateway" e finalizando com ". cloudapp.net".

    Captura de tela que mostra Copiar dados.

  6. Cole esse nome no campo Endereço da sua nova conexão VPN na seção Gateway. Em seguida, selecione o ícone da pasta no final do campo Certificado, navegue até a pasta Genérico e selecione o arquivo VpnServerRoot.

  7. Na seção Cliente da conexão, da Autenticação, selecione Certificado/chave privada. Para Certificado e Chave privada, escolha o certificado e a chave privada que foram criados anteriormente. Em Opções, selecione Solicitar um endereço IP interno. Em seguida, selecione Adicionar.

    Captura de tela que mostra Solicitar um endereço IP interno.

  8. Ative a conexão.

    Captura de tela que mostra Copiar.

Etapas da CLI

Esta seção orienta você pela configuração usando a CLI strongSwan.

  1. Na pasta Generic dos arquivos de configuração do perfil do cliente de VPN, copie ou mova o VpnServerRoot.cer para /etc/ipsec.d/cacerts.

  2. Copie ou mova os arquivos gerados para /etc/ipsec.d/certs e /etc/ipsec.d/private/ respectivamente. Esses arquivos são o certificado do cliente e a chave privada. Eles precisam estar localizados em seus diretórios correspondentes. Use os seguintes comandos:

    sudo cp ${USERNAME}Cert.pem /etc/ipsec.d/certs/
    sudo cp ${USERNAME}Key.pem /etc/ipsec.d/private/
    sudo chmod -R go-rwx /etc/ipsec.d/private /etc/ipsec.d/certs
    
  3. Execute o comando a seguir para anotar o nome do host. Você usará esse valor na próxima etapa.

    hostnamectl --static
    
  4. Abra o arquivo VpnSettings.xml e copie o valor <VpnServer>. Você usará esse valor na próxima etapa.

  5. Ajuste os valores no exemplo a seguir e adicione o exemplo à configuração /etc/ipsec.conf.

    conn azure
          keyexchange=ikev2
          type=tunnel
          leftfirewall=yes
          left=%any
          # Replace ${USERNAME}Cert.pem with the key filename inside /etc/ipsec.d/certs  directory. 
          leftcert=${USERNAME}Cert.pem
          leftauth=pubkey
          leftid=%client # use the hostname of your machine with % character prepended. Example: %client
          right= #Azure VPN gateway address. Example: azuregateway-xxx-xxx.vpn.azure.com
          rightid=% #Azure VPN gateway FQDN with % character prepended. Example: %azuregateway-xxx-xxx.vpn.azure.com
          rightsubnet=0.0.0.0/0
          leftsourceip=%config
          auto=add
          esp=aes256gcm16
    
  6. Adicione os valores de segredo a /etc/ipsec.secrets.

    O nome do arquivo PEM deve corresponder ao que você usou anteriormente como o arquivo de chave do cliente.

    : RSA ${USERNAME}Key.pem  # Replace ${USERNAME}Key.pem with the key filename inside /etc/ipsec.d/private directory. 
    
  7. Execute os comandos a seguir:

    sudo ipsec restart
    sudo ipsec up azure
    

Próximas etapas

Para obter mais etapas adicionais, retorne ao artigo do Portal do Azure P2S.