Como configurar a VPN baseada em IPsec com Strongswan no Debian e Ubuntu

Como configurar a VPN baseada em IPsec com Strongswan no Debian e Ubuntu

Strongswan é uma implementação IPSEC de código aberto, de plataforma cruzada, com plena plataforma, implementação VPN baseada em IPsec (Virtual Private Network) que é executada em Linux, FreeBSD, OS X, Windows, Android e iOS. É principalmente um daemon de chaves que suporta o Intercâmbio de chaves da Internet protocolos (IKEV1 e IKEV2) para estabelecer associações de segurança (SA) entre dois colegas.

Este artigo descreve como configurar o site a site IPSEC VPN Gateways usando Strongswan sobre Ubuntu e Debian servidores. Por site a local, queremos dizer que cada gateway de segurança tem uma sub-rede atrás dele. Além disso, os colegas se autenticarão usando uma chave pré-compartilhada (Psk).

Ambiente de teste

Lembre-se de substituir os seguintes IPs pelo seu IPS do mundo real para configurar seu ambiente.

Local 1 Gateway (Tecmint-Devgateway)

OS 1: Debian ou Ubuntu Public IP: 10.20.20.1 IP particular: 192.168.0.101/24 Subnet particular: 192.168.0.0/24 

Local 2 Gateway (Tecmint-Prodgateway)

OS 2: Debian ou Ubuntu Public IP: 10.20.20.3 IP privado: 10.0.2.15/24 Subnet particular: 10.0.2.0/24 

Etapa 1: Ativando o encaminhamento de pacotes de kernel

1. Primeiro, você precisa configurar o kernel para ativar o encaminhamento de pacotes, adicionando as variáveis ​​apropriadas do sistema em /etc/sysctl.conf arquivo de configuração nos dois gateways de segurança.

$ sudo vim /etc /sysctl.conf 

Procure as seguintes linhas e descompor -as e defina seus valores como mostrado (leia os comentários no arquivo para obter mais informações).

líquido.IPv4.ip_forward = 1 rede.IPv6.conf.todos.encaminhamento = 1 rede.IPv4.conf.todos.aceit_redirects = 0 rede.IPv4.conf.todos.send_redirects = 0 

2. Em seguida, carregue as novas configurações executando o seguinte comando.

$ sudo sysctl -p 
Carregue as configurações do kernel SYSCTL

3. Se você possui um serviço de firewall ufw ativado, precisará adicionar as seguintes regras ao /etc/ufw/antes.regras Arquivo de configuração pouco antes das regras do filtro em ambos os gateways de segurança.

Local 1 Gateway (Tecmint-Devgateway)

*NAT: Postrouting aceita [0: 0] -A Postrouting -s 10.0.2.0/24 -D 192.168.0.Comitê de máscaras 0/24 -J 

Local 2 Gateway (Tecmint-Prodgateway)

*NAT: Postrouting aceita [0: 0] -A Postrouting -s 192.168.0.0/24 -D 10.0.2.Comitê de máscaras 0/24 -J 

4. Depois que as regras do firewall forem adicionadas, aplique as novas alterações reiniciando Ufw como mostrado.

$ sudo ufw desativar $ sudo ufw habilitar 

Etapa 2: Instalando Strongswan em Debian e Ubuntu

5. Atualize seu cache de pacote nos gateways de segurança e instale o Strongswan pacote usando o gerenciador de pacotes apt.

$ sudo apt update $ sudo apt install fortswan 

6. Depois que a instalação estiver concluída, o script do instalador iniciará o Strongswan Serviço e habilitá -lo para iniciar automaticamente na inicialização do sistema. Você pode verificar seu status e se ele está ativado usando o seguinte comando.

$ sudo systemctl status fortswan.Serviço $ sudo Systemctl Is-Strongswan.serviço 

Etapa 3: Configurando gateways de segurança

7. Em seguida, você precisa configurar os gateways de segurança usando o /etc/ipsec.conf arquivo de configuração.

Local 1 Gateway (Tecmint-Devgateway)

$ sudo cp /etc /ipsec.conf /etc /ipsec.conf.Orig $ sudo nano /etc /ipsec.conf 

Copie e cole a seguinte configuração no arquivo.

Configuração de configuração charondebug = "all" lataIds = sim conn devgateway-to-prodgateway type = tunnel auto = start keyexchange = ikev2 authby = secret esquerdo = 10.20.20.1 esquerda -substituto = 192.168.0.101/24 direita = 10.20.20.3 Direitosbnet = 10.0.2.15/24 IKE = AES256-SHA1-MODP1024! ESP = AES256-SHA1! Agressivo = sem KeyingTries =%Forever iKelifeTime = 28800S Lifetime = 3600s dpdDelay = 30s dpdtimeout = 120s dpdaction = reinicialização 

Local 2 Gateway (Tecmint-Prodgateway)

$ sudo cp /etc /ipsec.conf /etc /ipsec.conf.Orig $ sudo nano /etc /ipsec.conf 

Copie e cole a seguinte configuração no arquivo.

Configuração de configuração charondebug = "all" ultimaIds = sim conn prodgateway-to-devgateway tipo = tunnel auto = start keyexchange = ikev2 authby = secret esquerdo = 10.20.20.3 esquerdsubnet = 10.0.2.15/24 direita = 10.20.20.1 Direitosbnet = 192.168.0.101/24 IKE = AES256-SHA1-MODP1024! ESP = AES256-SHA1! Agressivo = sem KeyingTries =%Forever iKelifeTime = 28800S Lifetime = 3600s dpdDelay = 30s dpdtimeout = 120s dpdaction = reinicialização 

Aqui está o significado de cada parâmetro de configuração:

  • configuração de configuração - Especifica as informações gerais de configuração para o IPSEC, que se aplica a todas as conexões.
  • Charondebug - define quanto a saída de depuração de charon deve ser registrada.
  • ÚNICOIDS - Especifica se um determinado ID do participante deve ser mantido único.
  • Conn Prodgateway-to-Devgateway - Define o nome da conexão.
  • tipo - Define o tipo de conexão.
  • auto - Como lidar com a conexão quando o iPsec é iniciado ou reiniciado.
  • keyExchange - define a versão do protocolo IKE para usar.
  • Authby - define como os colegas devem se autenticar.
  • esquerda - Define o endereço IP da interface de rede pública do participante esquerdo.
  • Esfrete - declara a sub -rede privada atrás do participante esquerdo.
  • certo - Especifica o endereço IP da interface de rede pública do participante direito.
  • Direitos - declara a sub -rede privada atrás do participante esquerdo.
  • ike - define uma lista de algoritmos de criptografia/autenticação IKE/ISAKMP SA. Você pode adicionar uma lista separada por vírgula.
  • esp - Define uma lista de algoritmos de criptografia/autenticação ESP a serem usados ​​para a conexão. Você pode adicionar uma lista separada por vírgula.
  • agressivo - afirma usar o modo agressivo ou principal.
  • Keyingltries - declara o número de tentativas que devem ser feitas para negociar uma conexão.
  • ikelifetime - declara quanto tempo o canal de digitação de uma conexão deve durar antes de ser renegociado.
  • vida - Define quanto tempo uma instância específica de uma conexão deve durar, da negociação bem -sucedida ao vencimento.
  • DpdDelay - Especifica o intervalo de tempo com o qual R_u_There Mensagens/trocas informativas são enviadas para o par.
  • dpdtimeout - Especifica o intervalo de tempo limite, após o que todas as conexões para um par são excluídas em caso de inatividade.
  • dpdaction - Define como usar o protocolo de detecção de pares mortos (DPD) para gerenciar a conexão.

Para obter mais informações sobre os parâmetros de configuração acima, leia o IPSEC.conf Página do homem executando o comando.

$ man ipsec.conf 

Etapa 4: Configurando PSK para autenticação ponto a ponto

8. Depois de configurar os dois gateways de segurança, gerar um seguro Psk para ser usado pelos colegas usando o seguinte comando.

$ Head -C 24 /Dev /Urandom | base64 
Gerar a chave PSK

9. Em seguida, adicione o Psk no /etc/ipsec.Segredos Arquivo em ambos os gateways.

$ sudo vim /etc /ipsec.Segredos 

Copie e cole a seguinte linha.

------- Local 1 Gateway (Tecmint-Devgateway) ------- 10.20.20.1 10.20.20.3: PSK "QLGLTVQOFQVGLSWP75FETLGTWN3HU0KU6C5HITKO6AC =" ------- Site 2 Gateway (Tecmint-Prodgateway) ------- 10.20.20.3 10.20.20.1: PSK "QLGLTVQOFQVGLSWP75FETLGTWN3HU0KU6C5HITKO6AC =" 

10. Reinicie o IPSEC programar e verifique seu status para visualizar as conexões.

$ sudo ipsec reiniciar $ sudo ipsec status 
Veja o status da conexão IPSEC

11. Por fim, verifique se você pode acessar as sub-redes privadas de ambos os gateways de segurança executando um comando ping.

$ ping 192.168.0.101 $ ping 10.0.2.15 
Verifique a configuração do Site a Site VPN

12. Além disso, você pode parar e iniciar o iPsec, como mostrado.

$ sudo ipsec pare $ sudo ipsec start 

13. Para saber mais sobre os comandos IPSEC para trazer manualmente conexões e muito mais, consulte a página de ajuda IPSEC.

$ ipsec -Help 

Isso é tudo! Neste artigo, descrevemos como configurar uma VPN IPSec Site a Site usando Strongswan sobre Ubuntu e Debian Servidores, onde os dois gateways de segurança foram configurados para se autenticar usando um Psk. Se você tiver alguma dúvida ou pensamento para compartilhar, entre em contato conosco através do formulário de feedback abaixo.