LINUX

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 texto.

Instrumentos

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

Paquetes de desarrollo

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"

script para instalación de herramientas

Introduzca la contraseña «prueba» para el usuario root del servidor MySql.

ingrese la contraseña de mysql

Configuración

Otro guión «openswan-l2tp-configuration.sh«se utiliza para configurar el reenvío de paquetes en Ubuntu, las reglas de iptables para la subred xl2tpd, la configuración del servidor / cliente 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

script de configuración para iptables y sysctl

2. Configuración del servidor FreeRadius usando mysql

script de configuración para el servidor freeradius

3. Configuración del cliente FreeRadius

script de configuración cliente freeradius

4. Configuración para servicios pptpd y xl2tpd

script de configuración para el servicio xl2tpd y pppd

5. Configuración de OpenSwan VPN

script de configuración para openswan

Antes de ejecutar el script de configuración, se requiere un cambio en el cui.sql archivo que existe bajo / 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.

ejecutando el script de configuración

Inserte el nombre de usuario / contraseña en la base de datos 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');

inserción de consultas para el usuario
Ejecute el servidor FreeRadius usando el siguiente comando y también reinicie todos los servicios requeridos.

freeradius -X

ejecutando freeradius en la interfaz

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

radtest prueba test123 localhost 0 testing123

prueba de usuario para freeradius

/etc/init.d/xl2tpd restart

iniciando el servicio xl2tpd

/etc/init.d/ipsec  restart

iniciando el servicio ipsec

Parece que todos los servicios necesarios están configurados y funcionando correctamente. 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».

establecer una nueva opción de conexión

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

opción conectarse al lugar de trabajo

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

usa mi opción de internet

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».

configuración de nueva conexión vpn

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

conexión creada con éxito

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 túnel de capa 2 sobre IPsec).

configuración de seguridad del cliente

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

configuración de presharedkey para la autenticación del cliente

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

configuración de la opción MSCHAPv2

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

ingrese la credencial del usuario de radio y la contraseña

La VPN L2TP / IPsec está conectada correctamente al servidor y la dirección IP tiene asignada la dirección que se muestra a continuación.

ver propiedades de conexión

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

estado de la conexión vpn

Configuración de L2TP / IPsec en Android

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

creando una conexión ipsec l2tp en android

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.

conectando L2TP-IPsec vpn

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

createe túnel vpn

Estado de FreeRadius

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

estado de autenticación de freeradius

Estado del túnel

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

ip xfrm state

estado del túnel ipsec

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

ipsec look

1. Salida de estado xfrm en el comando ipsec

Estado xfrm en el comando ipsec look

2. Salida de política xfrm en el comando ipsec

política xfrm en el comando ipsec look

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

iptables y ruta en el comando ipsec lookEl siguiente comando proporciona el estado automático del túnel como se muestra a continuación.

ipsec auto --status

salida del comando de estado automático ipsec

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 FreeRadius. Los clientes L2TP basados ​​en Android y Windows se utilizan para demostrar la conexión de los clientes con el servidor.

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