Base de Conhecimento

Como configurar VPN IPSec para sincronização com roteadores Cisco com Winconnection Linux?

Data de criação: 27/02/2020

Última alteração: 27/02/2020

Uma conexão de gateway de VPN Site a Site é usada para conectar a rede local a uma rede virtual com roteadores Cisco por um túnel VPN IPsec/IKE (IKEv1 ou IKEv2). Esse tipo de conexão exige um dispositivo VPN localizado no local que tenha um endereço IP público voltado para o exterior atribuído a ele.

Segue o procedimento abaixo:

- Instalar o serviço Openswan e IpSec Tools que irá permitir a conexão site to site.

yum install openswan ipsec-tools

- Editar as configurações do arquivo IpSec.conf com as informações da Cisco e de seu ambiente de rede:

vi /etc/ipsec.conf
protostack=netkey
virtual_private=%v4:x.x.x.x/xx IP/Mascara (rede do servidor do Winconnection)
conn vpn
authby=secret
auto=start
type=tunnel
left=X.X.X.X (IP válido do Cliente)
leftsubnet=X.X.X.X/XX(mascara) (Rede do Cliente)
right=X.X.X.X (IP válido da rede remota)
rightsubnet=X.X.X.X/16(mascara) (IP e mascara da rede remota)
pfs=no
forceencaps=yes
ike=aes256-sha1;modp1024 (Tipo de criptografia)

Após acessar o arquivo IPSec secrets, adicione as informações de IPs e senha fornecidas pelo roteador:

vi /etc/ipsec.secrets
# include /etc/ipsec.d/*.secrets
x.x.x.x (IP valido da rede remota) x.x.x.x (IP valido de internet do cliente): PSK "xxxxxxx" (senha de sincronização fornecidas pelo roteador Cisco)

Agora as regras que devem ser adicionadas acessando o diretório:

chmod +x /etc/rc.d/rc.local
systemctl enable rc-local
vi /etc/rc.local

Os comandos do iptables abaixo devem ser feitos manualmente caso não deseje reiniciar o servidor:

/usr/sbin/iptables -I PREROUTING -p udp --sport 500 --dport 500 -j ACCEPT -t mangle
/usr/sbin/iptables -I POSTROUTING -p udp --sport 500 --dport 500 -j ACCEPT -t mangle
/usr/sbin/iptables -I OUTPUT -p udp --sport 500 --dport 500 -j ACCEPT -t mangle
/usr/sbin/iptables -I PREROUTING -p udp --sport 500 --dport 500 -j ACCEPT -t nat
/usr/sbin/iptables -I PREROUTING -p esp -j ACCEPT -t mangle
/usr/sbin/iptables -I OUTPUT -p esp -j ACCEPT -t mangle
/usr/sbin/iptables -I POSTROUTING -p esp -j ACCEPT -t mangle
/usr/sbin/iptables -I PREROUTING -p esp -j ACCEPT -t nat
/usr/sbin/iptables -I PREROUTING -i enp0s25 -d x.x.x.x/xx -j ACCEPT -t mangle
/usr/sbin/iptables -I PREROUTING -i enp0s25 -d x.x.x.x/xx -j ACCEPT -t nat
sysctl -w net.ipv4.ip_forward=1

Acima, onde está x.x.x.x/xx, deve-se informar sub-rede/mascara da rede remota disponibilizada pelo roteador.

E enp0s25 deve ser o nome da interface da rede interna do Winconnection.

Por ultimo, habilite o serviço IPSec:

systemctl enable ipsec
systemctl start ipsec

OBS.: Comandos como ipsec auto --status e journalctl -u ipsec -f ajudam a depurar o que está acontecendo.

Top