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"
Introduzca la contraseña «prueba» para el usuario root del servidor 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
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 de OpenSwan VPN
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.
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');
Ejecute el servidor FreeRadius usando el siguiente comando y también reinicie todos los servicios requeridos.
freeradius -X
Ejecute el siguiente comando en localhost para probar la configuración del servidor FreeRadius.
radtest prueba test123 localhost 0 testing123
/etc/init.d/xl2tpd restart
/etc/init.d/ipsec restart
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».
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 túnel 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 (prueba / prueba123) como se muestra a continuación.
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.
La siguiente instantánea muestra el estado de la conexión VPN L2TP / IPsec.
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.
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 de OpenSwan.
ip xfrm state
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
2. Salida de 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 FreeRadius. Los clientes L2TP basados en Android y Windows se utilizan para demostrar la conexión de los clientes con el servidor.