Linux

VPN sitio a sitio StrongSwan con extremo con IP dinámica en Linux

En este caso voy a tener dos localidades uno llamado central que va a contar con IP publica estática y el otro extremo llamado sucursal1 que tendrá una IP publica dinámica.

Para este caso tomo las siguientes configuraciones de red.

Central

IP Lan: 192.168.0.1
Red local: 192.168.0.0/24
IP publica: 10.0.0.1

Sucursal1

IP Lan: 192.168.1.1
Red local: 192.168.1.0/24
IP publica: dinamica

Ya que uno de los extremos tiene una IP dinámica la única forma de crear el tunel sera usando certificados, en este caso X.509.

Si aun no has instalado StrongSwan instalarlo desde una terminal con el siguiente comando.

sudo apt-get install strongswan libcharon-extra-plugins strongswan-pki

En el equipo central nos ubicamos en la carpeta /etc/ipsec.d y ejecutamos los siguientes comandos.

sudo su
cd /etc/ipsec.d
ipsec pki –gen –type rsa –size 4096 –outform pem > private/strongswanKey.pem
ipsec pki –self –ca –lifetime 3650 –in private/strongswanKey.pem –type rsa –dn «C=CH, O=strongSwan, CN=Root CA» –outform pem > cacerts/strongswanCert.pem
ipsec pki –gen –type rsa –size 2048 –outform pem > private/centralKey.pem
chmod 600 private/centralKey.pem
ipsec pki –pub –in private/central.pem –type rsa | ipsec pki –issue –lifetime 730 –cacert cacerts/strongswanCert.pem –cakey private/strongswanKey.pem –dn «C=CH, O=strongSwan, CN=central» –san central –flag serverAuth –flag ikeIntermediate –outform pem > certs/centralCert.pem

Vamos a copiar los archivos /etc/ipsec.d/cacerts/strongswanCert.pem y /etc/ipsec.d/private/strongswanKey.pem que fueron creados en las carpetas con el mismo nombre y ubicación en el equipo de sucursal1.

Luego en sucursal1 nos ubicamos en la carpeta /etc/ipsec.d y ejecutamos los siguientes comandos.

sudo su
ipsec pki –gen –type rsa –size 2048 –outform pem > private/sucursal1Key.pem
chmod 600 private/sucursal1Key.pem
ipsec pki –pub –in private/sucursal1Key.pem –type rsa | ipsec pki –issue –lifetime 730 –cacert cacerts/strongswanCert.pem –cakey private/strongswanKey.pem –dn «C=CH, O=strongSwan, CN=sucursal1» –san sucursal1 –flag serverAuth –flag ikeIntermediate –outform pem > certs/sucursal1Cert.pem

Copiar el archivo private/sucursal1Key.pem en la misma ubicación en el servidor central.

Archivo ipsec.conf en el sitio central.

# ipsec.conf - strongSwan IPsec configuration file
# basic configuration

config setup
        charondebug="all"
        uniqueids=yes
        strictcrlpolicy=no

conn %default
conn myvpn
        type=tunnel
        reauth=yes
        auto=start
# -------------------- phase 1 --------------------------- #
        ike=aes256-sha1-modp1024
        keyexchange=ikev1
        ikelifetime=86400s
# -------------------- phase 2 --------------------------- #
        esp=aes256-sha1
        keylife=3600s
        left=10.0.0.1
        leftsubnet=192.168.0.0/24
        right=%dynamic
        rightsubnet=192.168.1.0/24
        leftcert=centralCert.pem
        leftid="C=CH, O=strongSwan, CN=central"
        rightid="C=CH, O=strongSwan, CN=sucursal1"

Archivo ipsec.secrets en sitio central.

# This file holds shared secrets or RSA private keys for authentication.

# RSA private key for this host, authenticating it to any other host
# which knows the public part.

: RSA centralKey.pem

Archivo ipsec.conf en sitio sucursal1.

# ipsec.conf - strongSwan IPsec configuration file
# basic configuration

config setup
        charondebug="all"
        uniqueids=yes
        strictcrlpolicy=no

conn %default
conn myvpn
        type=tunnel
        reauth=yes
        auto=start
# -------------------- phase 1 --------------------------- #
        ike=aes256-sha1-modp1024
        keyexchange=ikev1
        ikelifetime=86400s
# -------------------- phase 2 --------------------------- #
        esp=aes256-sha1
        keylife=3600s
        left=192.168.1.1
        leftsubnet=192.168.1.0/24
        right=10.0.0.1
        rightsubnet=192.168.0.0/24
        leftcert=sucursal1Cert.pem
        leftid="C=CH, O=strongSwan, CN=sucursal1"
        rightid="C=CH, O=strongSwan, CN=central"

El archivo ipsec.secrets en el sitio sucursal1.

# This file holds shared secrets or RSA private keys for authentication.

# RSA private key for this host, authenticating it to any other host
# which knows the public part.

: RSA sucursal1Key.pem

Oscar Meza

Share
Published by
Oscar Meza

Recent Posts

Como configurar VSFTP para denegar las conexiones por FTP

Para forzar las conexiones por sftp en un servidor VSFTP hay que agregar las siguientes…

54 años ago

Hosting en Español 2024

Voy directo al grano y te digo que en este listado vas a encontrar a…

54 años ago

Mejores Servidores Dedicados Hosting 2024

Aquí encontraras los Mejores Proveedores de Servidores Dedicados. En esta lista podrás comparar sus principales…

54 años ago

Mejor VPS

Aquí encontraras Los Mejores Proveedores de Servidores VPS ó Virtual Private Server Hosting. En esta…

54 años ago

Mejores Hosting Baratos para WordPress

En esta lista encontraras los Mejores Proveedores de Web Hosting , lideres en el mundo,…

54 años ago

Cambiar la red del Docker Harmony Connector de Checkpoint

Para cambiar la red del Docker Harmony Connector de checkpoint creamos el archivo /etc/docker/daemon.json y…

54 años ago