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:
- O gateway de VPN está configurado para autenticação de certificado ponto a site e um tipo de túnel IKEv2. Confira Definir as configurações do servidor para conexões de Gateway de VPN P2S - autenticação de certificado para obter as etapas.
- Os arquivos de configuração do perfil do cliente VPN foram gerados e estão disponíveis. Confira Gerar arquivos de configuração de perfil de cliente VPN para ver as etapas.
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 é:
- Instale o strongSwan.
- Exibir os arquivos de configuração do perfil do cliente VPN contidos no pacote de configuração do perfil do cliente VPN gerado.
- Localize todos os certificados de cliente necessários.
- Configure strongSwan.
- 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.
Abra o Terminal para instalar o strongSwan e seu Gerenciador de Rede executando o comando no exemplo.
sudo apt install network-manager-strongswan
Selecione Configurações e, depois, escolha Rede. Selecione o botão + para criar uma conexão.
Escolha IPsec/IKEv2 (strongSwan) no menu e clique duas vezes.
Na página Adicionar VPN, adicione um nome para a conexão VPN.
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".
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.
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.
Ative a conexão.
Etapas da CLI
Esta seção orienta você pela configuração usando a CLI strongSwan.
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.
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
Execute o comando a seguir para anotar o nome do host. Você usará esse valor na próxima etapa.
hostnamectl --static
Abra o arquivo VpnSettings.xml e copie o valor
<VpnServer>
. Você usará esse valor na próxima etapa.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
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.
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.