GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo configurar L2TP sobre IPsec usando Freeradius en Ubuntu

El protocolo de túnel de capa 2 (L2TP) con IPsec se utiliza para garantizar el cifrado de extremo a extremo porque L2TP no admite funciones de seguridad. La herramienta OpenSwan se utiliza para establecer un túnel IPsec que se compilará en la distribución de Ubuntu. La función de seguridad de autenticación se implementa mediante el servidor FreeRadius. El propósito del servidor de autenticación es autenticar al usuario de L2TP VPN. Los clientes de Android y Windows admiten L2TP/IPsec PSK con CHAPv2, por lo tanto, se establecerá un canal seguro entre el teléfono inteligente y el servidor.

Paquetes requeridos

Los siguientes paquetes se instalarán usando openswan-l2tp-installation.sh guión.

Herramientas

  • Servidor/Cliente Freeradius (instalación base de origen)
  • xl2tpd
  • Servidor emergente
  • Servidor MySQL/cliente
  • OpenSwan (instalación base de origen)

Paquetes de desarrollo

  • Bisonte
  • Flexible
  • Biblioteca GMP

El contenido del script se muestra en la siguiente instantánea.

#!/bin/bash

##NOTE:  Adding a proper date in lastaccounting filed  to fix the invalid default value issue in /etc/freeradius/sql/mysql/cui.sql.

##-installation of tools-##
apt-get update
apt-get install -y mysql-server mysql-client freeradius-mysql pptpd xl2tpd build-essential libgmp3-dev bison flex

echo "Installing freeradius client --"
wget https://github.com/FreeRADIUS/freeradius-client/archive/master.zip
unzip master.zip
cd freeradius-client-master
./configure --prefix=/
make
make install

echo "Installation of OpenSwan "
wget https://download.openswan.org/openswan/openswan-latest.tar.gz
tar -xvzf openswan-latest.tar.gz
cd openswan-*
make programs
make install
echo " OpenSwan installed"

Ingrese la contraseña "prueba" para el usuario raíz del servidor MySql.

Configuración

Otro script "openswan-l2tp-configuration.sh " se usa para configurar el reenvío de paquetes en Ubuntu , las reglas de iptables para la subred xl2tpd, la configuración del servidor/cliente de FreeRadius para los mecanismos de autenticación y el túnel IPsec de OpenSwan. A continuación se muestran algunas instantáneas del script de configuración.

1. Configuración de iptables y sysctl

2. Configuración del servidor FreeRadius usando mysql

3. Configuración del cliente FreeRadius

4. Configuración para servicios pptpd y xl2tpd

5. Configuración VPN de OpenSwan

Antes de ejecutar el script de configuración, se requiere un cambio en cui.sql archivo que existe en /etc/freeradius/sql/mysql/ . Cambie la siguiente línea resaltada en el archivo sql especificado.

 `lastaccounting` timestamp NOT NULL default '0000-00-00 00:00:00',

`lastaccounting` timestamp NOT NULL default '2016-10-01 00:00:00',

Ejecute el script de configuración para configurar automáticamente los paquetes instalados.

Inserte el nombre de usuario/contraseña en la base de datos de FreeRadius para el cliente L2TP de Android/Windows usando el siguiente comando.

INSERT INTO radius.radcheck (username, attribute, op, value) VALUES ('test','User-Password',':=','test123');


Ejecute el servidor FreeRadius usando el siguiente comando y también reinicie todos los servicios necesarios.

freeradius -X

Ejecute el siguiente comando en localhost para probar la configuración del servidor FreeRadius.

radtest prueba test123 host local 0 testing123

/etc/init.d/xl2tpd restart
/etc/init.d/ipsec  restart

Parece que todos los servicios requeridos están correctamente configurados y funcionando. Ahora, configure L2TP/IPsec PSK VPN en clientes Windows y Android.

Configuración del cliente MS Windows 8

Haga clic en "configurar una nueva conexión o red" en "Centro de redes y recursos compartidos".

seleccione la opción "Conectarse a un lugar de trabajo" como se muestra en la siguiente instantánea.

Como se muestra abajo. seleccione la opción "usar mi Internet (VPN)" en la siguiente ventana.

Ingrese el título y la dirección de Internet (dirección IP de la máquina) en la conexión VPN y haga clic en el botón "crear".

Se creará una nueva conexión VPN y se mostrará en la lista de redes como se muestra a continuación.

Las propiedades predeterminadas de la nueva conexión VPN no funcionarán con la configuración actual del servidor FreeRadius. Por lo tanto, se requieren pocos cambios en la configuración de seguridad del cliente VPN de MS Windows.

En primer lugar, cambie el tipo de VPN (protocolo de tunelización de capa 2 sobre IPsec).

Haga clic en "Configuración avanzada" y seleccione la opción "usar una clave previamente compartida para la autenticación".

Seleccione la opción "Microsoft CHAP versión 2" en la configuración "Permitir estos protocolos".

Después de configurar la conexión VPN L2TP/IPsec, ingrese el nombre de usuario/contraseña (test/test123) como se muestra a continuación.

La VPN L2TP/IPsec se conectó con éxito al servidor y se le asignó la dirección IP como se muestra a continuación.

La siguiente instantánea muestra el estado de la conexión VPN L2TP/IPsec.

Configuración L2TP/IPsec en Android

Para conectar el cliente Android L2TP con el servidor, cree una conexión L2TP/IPsec en él. Haga clic en "configuración " . "Más " y "VPN " opciones. Ahora "Agregar red VPN " y seleccione "L2TP PSK " opción para la conexión VPN deseada.

Una vez, se crea una nueva conexión VPN L2TP/IPsec. Ahora, haga clic en el nombre de la conexión VPN e ingrese el nombre de usuario/contraseña ya creado en el servidor FreeRadius.

El cliente L2TP/IPsec está conectado al servidor como se muestra a continuación.

Estado de FreeRadius

La siguiente instantánea muestra la autenticación exitosa del usuario y el tipo de autenticación es CHAP.

Estado del túnel

Como se muestra a continuación, el comando xfrm state proporciona el estado del túnel OpenSwan.

ip xfrm state

Otro comando que se proporciona en la herramienta OpenSwan es "ipsec look", que brinda información combinada del estado de xfrm, cualquier regla de iptables y enrutamiento.

ipsec look

1. salida de estado xfrm en el comando ipsec

2. salida de la política xfrm en el comando ipsec

3. Configuración de enrutamiento e iptables en el comando ipsec

El siguiente comando proporciona el estado automático del túnel como se muestra a continuación.

ipsec auto --status

Conclusión

En este tutorial, se crea un túnel en la capa 2 usando L2TP con OpenSwan para asegurar la comunicación entre el cliente y el servidor. El mecanismo de autenticación CHAPv2 se utiliza entre el cliente y el servidor mediante los servicios de FreeRadius. Tanto los clientes L2TP basados ​​en Android como Windows se utilizan para demostrar la conexión de los clientes con el servidor.


Ubuntu
  1. Cómo instalar y configurar un servidor NFS en Ubuntu 20.04

  2. Cómo instalar y configurar VNC en Ubuntu 20.04

  3. Cómo instalar y configurar el servidor DHCP en Ubuntu 20.04

  4. Cómo instalar y configurar el servidor Redis en Ubuntu

  5. Cómo usar Ansible para instalar y configurar Redis 6 en Ubuntu 20.04

Cómo configurar OSSEC en Ubuntu - Parte 2

Cómo configurar OpenVPN en Ubuntu 16.04

Cómo sincronizar la hora usando el servidor NTP en Ubuntu

Cómo instalar y configurar DHCP en Ubuntu 18.04

Cómo configurar el servidor DNS en Ubuntu 18.04 / Ubuntu 16.04

Cómo reiniciar Ubuntu Server usando la línea de comandos