Partilhar via


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

Este artigo ajuda você a se conectar à sua rede virtual do Azure (VNet) usando VPN Gateway ponto a site (P2S) VPN e 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 são diferentes, dependendo do tipo de autenticação, do tipo de túnel e do sistema operacional cliente.

Autenticação Tipo de túnel SO de Cliente cliente de VPN
Certificado
IKEv2, SSTP Windows Cliente VPN nativo
IKEv2 macOS Cliente VPN nativo
IKEv2 Linux forteSwan
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 Azure VPN Client
Cliente OpenVPN
Microsoft Entra ID
OpenVPN Windows Cliente VPN do Azure
OpenVPN macOS Azure VPN Client
OpenVPN Linux Azure VPN Client

Pré-requisitos

Este artigo pressupõe que você já 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 por meio do tipo de túnel IKEv2, cada cliente de conexão requer os seguintes itens:

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

Fluxo de Trabalho

O fluxo de trabalho para este artigo é:

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

Acerca de certificados

Para autenticação de certificado, um certificado de cliente deve ser instalado em cada computador cliente. O certificado de cliente que você deseja usar 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 precisará instalar as informações do certificado raiz.

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

Instale strongSwan

A seguinte configuração foi usada ao especificar comandos:

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

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

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 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 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 para a configuração do gateway VPN P2S para a rede virtual. Se houver alguma alteração na configuração da 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 deseja conectar.

Localize e descompacte o pacote de configuração do perfil do cliente VPN que você gerou e baixou. Você pode encontrar todas as informações necessárias para a configuração na pasta Genérico . O Azure não fornece um arquivo mobileconfig para essa configuração.

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

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

A pasta Generic contém os seguintes ficheiros:

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

Configurar o cliente VPN

Depois de visualizar os arquivos de perfil do cliente VPN, continue com as etapas que você deseja usar:

Etapas da GUI

Esta seção orienta você pela configuração usando a GUI strongSwan. As seguintes instruções foram criadas no Ubuntu 18.0.4. Ubuntu 16.0.10 não suporta strongSwan GUI. Se você quiser usar o Ubuntu 16.0.10, você terá que 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 strongSwan.

  1. Abra o Terminal para instalar strongSwan e seu Network Manager executando o comando no exemplo.

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

    A captura de tela mostra a página de conexões de rede.

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

    A captura de tela mostra a página Adicionar VPN.

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

    A captura de tela mostra Escolha um tipo de conexão.

  5. Abra o arquivo VpnSettings.xml da pasta Generic contida nos arquivos de configuração do perfil do cliente VPN baixados. Encontre a tag chamada VpnServer e copie o nome, começando com 'azuregateway' e terminando com '.cloudapp.net'.

    A captura de tela mostra dados de cópia.

  6. Cole o nome no campo Endereço da sua nova conexão VPN na seção Gateway . Em seguida, selecione o ícone de 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, para Autenticação, selecione Certificado/chave privada. Em Certificado e Chave privada, escolha o certificado e a chave privada criados anteriormente. Em Opções, selecione Solicitar um endereço IP interno. Em seguida, selecione Adicionar.

    A captura de tela mostra Solicitar um endereço IP interno.

  8. Ligue a ligação.

    A captura de tela mostra a cópia.

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 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 seguinte comando para anotar seu nome de host. Você usará esse valor na próxima etapa.

    hostnamectl --static
    
  4. Abra o arquivo VpnSettings.xml e copie o <VpnServer> valor. 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 secretos a /etc/ipsec.secrets.

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

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

    sudo ipsec restart
    sudo ipsec up azure
    

Próximos passos

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