Neste artigo, apresentamos um passo a passo para configurar uma VPN site-to-site com o StrongSwan, uma solução de código aberto baseada no protocolo IPsec. Este tipo de VPN é ideal para conectar duas redes locais separadas por meio de um túnel seguro.
Instalar StrongSwan (ubuntu)
sudo apt update
sudo apt install strongswan strongswan-pki
Instalar StrongSwan (amazon Linux)
sudo amazon-linux-extras install epel
sudo yum -y install strongswan
systemctl enable strongswan
systemctl start strongswan
netstat -plntu
Crie uma nova interface de rede
ip tuntap add dev tun0 mode tun
ip addr add 10.10.10.1/24 dev tun0
ip link set dev tun0 up
Arquivo de configuração do StrongSwan
Esse arquivo encontra-se em /etc/ipsec.conf
# ipsec.conf - strongSwan IPsec configuration file
# basic configuration
config setup
uniqueids = no
charndebug="ike 4, knl 4, cfg 4"
# strictcrlpolicy=yes
# uniqueids = no
conn vpn-site-to-site
auto=start
type=tunnel
left=%any
leftid=33.45.91.200 #ip externo da maquina
leftsubnet=192.168.1.0/24 # subrede interna ou ip interno
right=129.14.217.43 # ip externo outra ponta do tunel
rightsubnet=10.40.1.0/24 # subrede interna ou ip interno
ike=aes256-sha256-modp1024! # criptografia primeira fase
esp=aes256-sha256! # criptografia da segunda fase
ikelifetime=28800s
lifetime=3600s
dpdaction=restart
dpddelay=30s
dpdtimeout=120s
rekeymargin=3m
keyingtries=%forever
keyexchange=ikev2
authby=secret
mobike=no
Configuração do arquivo de criptografia do strongSwan
Esse arquivo encontra-se em /etc/ipsec.secrets
33.45.91.200 129.14.217.43 : PSK q7bYwaax8J5YD28BX0olbY2D651Jqa-PVN1j9ky-C1k
#ip_externo ip_cliente : PSK chave_compartilhada
Libera o firewall entre as redes
sudo iptables -A INPUT -p udp --dport 500 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 4500 -j ACCEPT
sudo iptables -A INPUT -p esp -j ACCEPT
sudo iptables -A FORWARD -s 192.168.1.0/24 -d 192.168.2.0/24 -j ACCEPT
sudo iptables -A FORWARD -s 192.168.2.0/24 -d 192.168.1.0/24 -j ACCEPT
Comando strongSwan
sudo systemctl start strongswan #Start
sudo systemctl stop strongswan #Stop
sudo systemctl restart strongswan #Restart
systemctl status --I strongswan # status