Con los cambios constante de ciudad y país que he tenido últimamente, me ha tocado utilizar mucho redes wifi libres (incluso ahora estoy conectado desde una wifi que conseguí la clave gracias a Aircrack-ng, Airmon-ng, airdump-ng, aireplay-ng los cuáles ya venían instalado en Kali Linux), el problema es que estás conexiones pueden llegar a comprometer mi información y no sabemos quién puedes estar conectado y hacer que se yo en la red. Una solución para este problema es la planteada hace tiempo por usemoslinux en Cómo navegar seguro en las redes wifi abiertas, pero también existe la posibilidad de solucionarlo utilizando una VPN, las cuáles existen muchas libres y pagas de fácil uso e instalación, cada una con sus pro y contras, pero también podemos crear nuestro propio servidor VPN en Ubuntu, Debian y Centos.
Buscando la solución a este problema y priorizando utilizar una VPN que me diera otras ventajas, logre dar con un script que nos permite construir un servidor VPN de manera automática con poca interacción con el usuario.
¿Qué es el script de configuración de servidor?
Es un script shell que permite configurar de manera automática un servidor VPN sobre IPsec en Ubuntu, Debian y CentOS de manera rápida y fácil, además soporta los protocolos IPsec/L2TP y Cisco IPsec. El usuario sólo debe proporcionar sus propias credenciales de VPN y dejar que el script se encargue del resto.
El servidor VPN sobre IPsec encripta el tráfico de la red, para que los datos no puedan ser espiado mientras haya comunicación entre el usuario y el servidor VPN. Esto es especialmente útil cuando se utilizan redes no seguras, por ejemplo, en cafeterías, aeropuertos o habitaciones de hotel.
El script utiliza Libreswan que es una implementación de IPsec para Linux y xl2tpd que es un proveedor L2TP.
El script puede ser utilizado en cualquier servidor dedicado o Virtual Private Server (VPS). Además, se puede utilizar directamente como «datos de usuario» de Amazon EC2 para el lanzamiento de una nueva instancia, esta característica lo hace ideal porque me permite tener un VPN andando en cualquier momento y me ayuda a aprovecharme de la oferta de Amazon de un año gratis de sus VPS.
Características del script de configuración de servidor VPN sobre IPsec
- Configuración de un servidor VPN sobre IPsec totalmente automatizado, sin intervención del usuario
- Soporta el protocolo más rapido
IPsec/XAuth ("Cisco IPsec") - Está disponible Docker image del servidor VPN
- Encapsula todo el trafico de la VPN en UDP – no es necesario el protocolo ESP
- Puede ser utilizado directamente como «data de usuario» para nuevas instancias de Amazon EC2
- Determina automáticamente la IP Pública y la IP Privada del servidor
- Incluye reglas de IPTables básicas y permite ajustar el
sysctl.conf - Probado en Ubuntu 16.04/14.04/12.04, Debian 8 y CentOS 6 & 7
Requisitos del script de configuración de servidor VPN sobre IPsec
Se requiere un Servidor Dedicado o un Virtual Private Server (VPS), aunque se recomienda usar una instancia de Amazon EC2, usando uno de estos AMI:
- Ubuntu 16.04 (Xenial), 14.04 (Trusty) or 12.04 (Precise)
- Debian 8 (Jessie) EC2 Images
- CentOS 7 (x86_64) with Updates
- CentOS 6 (x86_64) with Updates
Instalación del script de configuración de servidor VPN sobre IPsec
Instalación del script de configuración de servidor VPN sobre IPsec en Ubuntu y Debian
Lo primero que debes hacer es actualizar su sistema, para ello ejecute los siguientes comandos apt-get update && apt-get dist-upgrade y reinicie.
Para instalar la VPN, por favor seleccione una de las siguientes opciones:
Opción 1: Generar las credenciales VPN al azar, las cuáles podrán ser visualizadas cuando se concluya la instalación
wget https://git.io/vpnsetup -O vpnsetup.sh && sudo sh vpnsetup.sh
Opción 2: Editar el script y proporcionar sus propias credenciales VPN
wget https://git.io/vpnsetup -O vpnsetup.sh
nano -w vpnsetup.sh
[Reemplazar con sus valores: YOUR_IPSEC_PSK, YOUR_USERNAME and YOUR_PASSWORD]
sudo sh vpnsetup.sh
Option 3: Definir las credenciales VPN como variables de entorno
# Todos los valores deben ser colocados en el interior entre 'comillas simples'
# No use estos caracteres dentro de los valores: \ " '
wget https://git.io/vpnsetup -O vpnsetup.sh && sudo \
VPN_IPSEC_PSK='your_ipsec_pre_shared_key' \
VPN_USER='your_vpn_username' \
VPN_PASSWORD='your_vpn_password' sh vpnsetup.sh
Instalación del script de configuración de servidor VPN sobre IPsec en Centos
Lo primero que debes hacer es actualizar su sistema, para ello ejecute los siguientes comandos yum update y reinicie.
Siga los mismos pasos que en ubuntu y Debian, pero sustituyendo https://git.io/vpnsetup por https://git.io/vpnsetup-centos.
Conclusiones sobre el script de configuración de servidor VPN sobre IPsec
Bueno una vez tengamos instalado nuestra VPN debemos conectarnos a ella mediante algún cliente VPN yo recomiendo que usemos OpenVPN, el cuál podemos instalar con el gestor de paquetes de nuestra distribución. Que en el caso de Debian y derivados podemos hacerlo de la siguiente manera:
sudo apt-get install openvpn
Está es una solución bastante elegante para conectarnos al internet de una manera segura y tener nuestro propio VPN el cuál tambien nos puede servir para
- Acceder a una red de trabajo o del hogar cuando se está de viaje.
- Esconde los datos de navegación.
- Entrar en sitios con bloqueo geográfico.
- Y muchos otros usos
Y esto es todo chicos espero que lo disfruten y lo pongan en marcha. Si todo esto te ha parecido complicado y prefieres tirar a lo sencillo, siempre puedes contratar un VPN como Hidemyass, que además de tener buenas opiniones, ofrece ofertas muy buenas para nuevos usuarios.