Cómo crear su propio servidor VPN IPSec en Linux

Usar una VPN (red privada virtual) ofrece muchas ventajas. Algunos de estos incluyen la seguridad en Internet al encriptar su tráfico y ayudarlo a acceder a contenido / sitios web / aplicaciones web bloqueados desde cualquier lugar. Sin mencionar VPN También te ayuda a navegar por Internet de forma anónima.

Este artículo le mostrará cómo configurar rápida y automáticamente su propio IPsec / L2TP VPN Servidor en CentOS / RHEL, Ubuntuy Debian Distribuciones de Linux.

Requisitos:

  1. Uno nuevo CentOS / RHEL o Ubuntu / Debian VPS (servidor privado virtual) de un proveedor como Linode.

Configuración del servidor VPN IPSec / L2TP en Linux

Para configurar el servidor VPN, utilizamos una maravillosa colección de scripts de shell creados e instalados por Lin Song Libreswan que eso IPsec Servidor y xl2tpd que eso L2TP Proveedor. La oferta también incluye scripts para agregar o eliminar usuarios de VPN, actualizar la instalación de VPN y mucho más.

Regístrese primero con los suyos VPS acerca de SSHLuego ejecute los comandos apropiados para su distribución para configurar el servidor VPN. Por defecto, el script genera credenciales de VPN aleatorias (Clave compartida, Nombre de usuario VPNy Contraseña) para usted y mostrarlos al final de la instalación.

Sin embargo, si desea utilizar sus propias credenciales, primero debe generar una sólida. Contraseña y PSK como se muestra

# openssl rand -base64 10
# openssl rand -base64 16
Crear credenciales de VPN

Crear credenciales de VPN

A continuación, establezca estos valores generados como se describe en el siguiente comando. Todos los valores DEBEN estar en «Cotizaciones individuales‘como se muestra.

  • VPN_IPSEC_PSK – Su clave IPSec preinstalada.
  • VPN_USER – Su nombre de usuario VPN.
  • VPN_PASSWORD – su contraseña de VPN.
---------------- On CentOS/RHEL ---------------- 
# wget https://git.io/vpnsetup-centos -O vpnsetup.sh && VPN_IPSEC_PSK='KvLjedUkNzo5gBH72SqkOA==' VPN_USER='tecmint' VPN_PASSWORD='8DbDiPpGbcr4wQ==' sh vpnsetup.sh

---------------- On Debian and Ubuntu ----------------
# wget https://git.io/vpnsetup -O vpnsetup.sh && VPN_IPSEC_PSK='KvLjedUkNzo5gBH72SqkOA==' VPN_USER='tecmint' VPN_PASSWORD='8DbDiPpGbcr4wQ==' sudo sh vpnsetup.sh

Los paquetes principales que se instalan son Bind-Utils, Net-Tools, Bison, Flex, GCC, Libcap-Ng-Devel, Libcurl-Devel, Libselinux-Devel, Nspr-Devel, Nss-Devel, Pam-Devel, Xl2TTP, iptables-services, systemd-devel, fipscheck-devel, libevent-devel y fail2ban (para proteger SSH) y sus respectivas dependencias. A continuación, Libreswan se descarga desde la fuente, se compila e instala, los servicios necesarios se activan e inician.

Una vez completada la instalación, los detalles de VPN se mostrarán como se muestra en la captura de pantalla a continuación.

Configure su propio servidor IPsec VPN Linux

Configure su propio servidor IPsec VPN Linux

A continuación, debe configurar uno VPN Puede encontrar un cliente para computadoras de escritorio o portátiles con una interfaz gráfica de usuario en este manual: Cómo configurar un cliente VPN L2TP / Ipsec en Linux.

Cómo agregar la conexión VPN en un dispositivo móvil como Android Teléfono, ve a la configuración -> Red e internet (o Inalámbrico y redes -> Más) -> Extendido -> VPN. Seleccione la opción para agregar una nueva VPN. El tipo de VPN debe establecerse en IPSec Xauth PSKLuego use la puerta de enlace VPN mencionada anteriormente y las credenciales.

Agregar o eliminar un usuario de VPN en Linux

Cómo crear uno nuevo VPN Usuario o actualice un usuario VPN existente con una nueva contraseña, descárguelo y utilícelo add_vpn_user.sh Script con el siguiente comando wget.

$ wget -O add_vpn_user.sh https://raw.githubusercontent.com/hwdsl2/setup-ipsec-vpn/master/extras/add_vpn_user.sh
$ sudo sh add_vpn_user.sh 'username_to_add' 'user_password'

Para eliminar un usuario de VPN, descárguelo y úselo del_vpn_user.sh Guión

$ wget -O del_vpn_user.sh https://raw.githubusercontent.com/hwdsl2/setup-ipsec-vpn/master/extras/del_vpn_user.sh
$ sudo sh del_vpn_user.sh 'username_to_delete'

Cómo actualizar la instalación de Libreswan en Linux

Puedes actualizar eso Libreswan Instalación con el vpnupgrade.sh o vpnupgrade_centos.sh Guión Asegúrate de editarlos SWAN_VER Variable de la versión que desea instalar dentro del script.

---------------- On CentOS/RHEL ---------------- 
# wget https://git.io/vpnupgrade-centos -O vpnupgrade.sh && sh vpnupgrade.sh

---------------- On Debian and Ubuntu ----------------
# wget https://git.io/vpnupgrade -O vpnupgrade.sh && sudo sh  vpnupgrade.sh

Cómo desinstalar el servidor VPN en Linux

Cómo desinstalarlo VPN Instalación, haga lo siguiente.

En RHEL / CentOS

# yum remove xl2tpd

Entonces ábrelo / etc / sysconfig / iptables Archivo de configuración y eliminar las reglas innecesarias y editar /etc/sysctl.conf y /etc/rc.local Archiva y elimina las líneas después del comentario # # Agregado por el script hwdsl2 VPN en ambos archivos.

En Debian / Ubuntu

$ sudo apt-get purge xl2tpd

Próxima edición Configuración de /etc/iptables.rules Archive y elimine cualquier regla innecesaria. Editar además /etc/iptables/rules.v4 si existe

Luego edite /etc/sysctl.conf y /etc/rc.local Archivos, elimine las líneas después del comentario # # Agregado por el script hwdsl2 VPN en ambos archivos. No quitar Salida 0 si existe

Opcionalmente, puede eliminar ciertos archivos y directorios que se crearon durante la configuración de VPN.

# rm -f /etc/ipsec.conf* /etc/ipsec.secrets* /etc/ppp/chap-secrets* /etc/ppp/options.xl2tpd* /etc/pam.d/pluto /etc/sysconfig/pluto /etc/default/pluto 
# rm -rf /etc/ipsec.d /etc/xl2tpd

Cómo configurar una VPN basada en IPSec de una ubicación a otra StrongswanMira nuestras instrucciones:

  1. Cómo configurar una VPN basada en IPSec con Strongswan en Debian y Ubuntu
  2. Cómo configurar una VPN basada en IPSec con Strongswan en CentOS / RHEL 8

Referencia: https://github.com/hwdsl2/setup-ipsec-vpn

En este punto, su propio servidor VPN está listo para usar. Puede compartir cualquier pregunta o darnos su opinión utilizando el formulario de comentarios a continuación.

Deja una respuesta

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