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:
- O gateway VPN é configurado para autenticação de certificado ponto a site e o tipo de túnel IKEv2. Consulte Definir configurações do servidor para conexões do Gateway 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. Consulte Gerar arquivos de configuração de perfil de cliente VPN para obter as etapas.
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 é:
- Instale strongSwan.
- 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.
- Localize todos os certificados de cliente necessários.
- Configure strongSwan.
- 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.
Abra o Terminal para instalar strongSwan e seu Network Manager executando o comando no exemplo.
sudo apt install network-manager-strongswan
Selecione Configurações e, em seguida, selecione Rede. Selecione o + botão para criar uma nova conexão.
Selecione IPsec/IKEv2 (strongSwan) no menu e clique duas vezes.
Na página Adicionar VPN, adicione um nome para sua conexão VPN.
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'.
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 .
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.
Ligue a ligaçã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 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 seguinte comando para anotar seu nome de host. Você usará esse valor na próxima etapa.
hostnamectl --static
Abra o arquivo VpnSettings.xml e copie o
<VpnServer>
valor. 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 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.
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.