LINUX

Cómo configurar IPsec VPN usando Libreswan

El propósito de la VPN basada en IPsec es cifrar el tráfico en la capa de red del modelo OSI para que el atacante no pueda espiar entre el cliente y el servidor VPN. En nuestro artículo sobre strongswan, que también proporciona la funcionalidad del protocolo IPsec en Windows, Linux y Mac OS. Sin embargo, las herramientas LibreSwan y OpenSwan también están disponibles para el mismo propósito. En este tutorial, nuestro enfoque es LibreSwan, que es otra implementación del protocolo IPsec para el entorno Unix / Linux. LibreSwan se ha bifurcado del proyecto OpenSwan IPsec y está disponible en distribuciones de Linux basadas en RedHat.

En este tutorial, LibreSwan se compilará desde la fuente en Ubuntu 16.04 LTS. Las instrucciones para la compilación de LibreSwan para diferentes distribuciones de Linux se dan en el archivo Léame. La siguiente instantánea muestra los paquetes requeridos, habilitar / deshabilitar funciones y comandos para la instalación de LibreSwan.

paquetes para la compilación libreswan

Después de la instalación de LibreSwan, la VPN se configurará en la puerta de enlace al modo de puerta de enlace para cifrar el tráfico. Diferente ejemplos de LibreSwan La configuración se da en el sitio web del proyecto.

Cómo instalar Libreswan

También se asume que el reenvío de paquetes está habilitado en la distribución de Linux. Los siguientes paquetes son necesarios para la compilación de LibreSwan en Ubuntu 16.04 LTS.

apt-get -y update
apt-get -y install libnss3-dev libnspr4-dev pkg-config libpam0g-dev libcap-ng-dev libcap-ng-utils libselinux1-dev libcurl4-nss-dev flex bison gcc make

El último código fuente de LibreSwan se puede descargar desde el sitio web del proyecto. El archivo comprimido se extrae con el siguiente comando.

tar -xzf libreswan-3.19.tar.gz

Ahora ejecute el comando «make» para obtener instrucciones para la compilación de LibreSwan.

hacer comando para el proceso de construcción

Entonces, ejecute el comando «make all» para construir LibreSwan en Ubuntu VM. Este comando generará el siguiente error de que no se encuentra el archivo de encabezado independiente.

fatal error: unbound.h: No suh file or directory

Por lo tanto, también se requieren algunos paquetes más para LibreSwan. El siguiente comando instalará la biblioteca de desarrollo para unbound.

apt-get install libunbound-dev

Otro error debido a la ausencia de una biblioteca de eventos ocurrirá durante la compilación de LibreSwan.

fatal error: event.h: No suh file or directory

Ejecute el siguiente comando para instalar el paquete libevent.

apt-get install libevent-dev

El script de instalación muestra otro error debido a que falta el paquete systemd en la plataforma Ubuntu.

fatal error: systemd/sd-daemon.h: No suh file or directory

La instalación del paquete requerido se muestra a continuación.

apt-get install libsystemd-dev

Finalmente, vuelva a ejecutar «make all» o «make install» para compilar e instalar LibreSwan.

make all

El comando anterior instalará LibreSwan en el sistema. Sin embargo, se produjo el siguiente error al usar el comando «ipsec start».

/usr/local/sbin/ipsec: certutil: Not found

Los siguientes comandos también dieron el mismo error que se muestra a continuación.

ipsec setup start
ipsec initnss

* (se requiere que la biblioteca NSS genere las claves requeridas)

/usr/local/sbin/ipsec: certutil: Not found
apt-get install libnss3-tools

El siguiente comando inicializa la biblioteca de cifrado NSS que se requiere para la herramienta LibreSwan.

ipsec initnss

configurar la biblioteca criptográfica nss

Finalmente, inicie con éxito el servicio ipsec como se muestra a continuación.

ipsec setup start

comando para iniciar el servicio ipsec libreswan

Después de la instalación exitosa de LibreSwan, el siguiente paso es configurar la configuración de VPN en ambas VM. En este ejemplo, se configura un túnel basado en PSK para asegurar la puerta de enlace al tráfico de la puerta de enlace.

Lado A: archivo de configuración ipsec.conf

root@test-VirtualBox:/home/test# cat /etc/ipsec.conf
config setup
protostack=netkey
conn vpn

left=192.168.15.50
leftsubnet=10.12.50.0/24
right=192.168.15.5
rightsubnet=10.12.5.0/24
authby=secret
pfs=yes
rekey=yes
keyingtries=3
type=tunnel
auto=start
ike=aes256-sha1;modp2048
phase2alg=aes256-sha1;modp2048

ipsec.secrets

192.168.15.50 192.168.15.5: PSK "12345678asdfghjk1qwe3wqA“

Lado B – Archivo de configuración ipsec.conf

root@test-VirtualBox:/home/test# cat /etc/ipsec.conf
config setup
protostack=netkey
conn vpn

left=192.168.15.50
leftsubnet=10.12.50.0/24
right=192.168.15.5
rightsubnet=10.12.5.0/24
authby=secret
pfs=yes
rekey=yes
keyingtries=3
type=tunnel
auto=start
ike=aes256-sha1;modp2048
phase2alg=aes256-sha1;modp2048

ipsec.secrets

192.168.15.5 192.168.15.50: PSK "12345678asdfghjk1qwe3wqA“

Después de establecer la configuración anterior, ejecute el siguiente comando en ambos lados y se iniciará el proceso de negociación ipsec.

ipsec restart

Lado a:

estado de mando en el lado A

Lado B:

estado del comando ipsec en el lado B

El estado de ipsec vpn también se verifica usando el siguiente comando.

setkey -D

salida setkey de ipsec vpn

La instantánea anterior muestra 4 SA (asociaciones de seguridad) establecidas entre VM y el estado del túnel es «maduro».

Conclusión

En este tutorial, otra implementación de IPsec de código abierto «LibreSwan» se compila e instala con éxito en la máquina virtual de Ubuntu. También está configurado para establecer una puerta de enlace a una VPN de puerta de enlace basada en el PSK entre dos máquinas virtuales. También se observa que la configuración de LibreSwan es diferente a la de StrongSwan.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar