Como crear nuestro propio servicio VPN usando OPENVPN en 5 minutos y menos de 4 Euros

Hoy en día somos cada vez mas (afortunadamente) los que nos preocupamos por nuestra información y como viaja ella en esta gran red de redes como lo es Internet, y es que cada vez mas salen a flote evidencias las cuales demuestran que nuestras comunicaciones no son del todo seguras, empezando con el mismo  Edward Snowden, el cual tuvo el valor para denunciar  y dar a conocer al mundo entero lo que hacían grandes compañías y proveedores de servicio de Internet con la información y las comunicaciones que viajaban por allí, si bien el objetivo de esta entrada no es concientizar sobre  nuestra privacidad en la red, es es el momento oportuno para recordarle a todos los usuarios de Internet que esta red no es segura y por ende es mejor protegerse y proteger tu información, así como proteges tu dinero.

Una de las tantas formas para protegerte en Internet, es usando una VPN (Virtual Private Network) de esta manera puedes cifrar todo tu trafico para que no pueda ser observado en caso de ser interceptado. Algún incrédulo diría que no es 100% seguro, y quizás tenga razón, pero lo importante es tomar todas las medidas necesarias que estén a nuestro alcance. Actualmente existen muchas empresas y compañías en la red que ofrecen servicios de VPN, diferentes tipos de sabores con precios variables  y cada uno con sus ventajas y desventajas pero todos cumpliendo su objetivo principal cifrar el trafico.  Sin embargo si quisieras un servicio mas personalizado, que no sea limitado por usuario, y que quizás pueda funcionar un poco mejor, una buena idea es montar tu propio servidor VPN, de esta manera, podrás crearlo a tu gusto, crear los usuarios y las cuentas deseadas  y un sin fin de características adicionales que un servicio genérico no te podría brindar. Obviamente habrá una militante en los recursos de Hardware (Memoria, CPU, Disco ) y de red (BW) pero gracias a la virtualización estos recursos se podrían ir escalando a medida que se vayan requiriendo.

Ahora, para montar nuestro propio servidor VPN debemos tener una maquina donde instalarlo, y para esto, por economía y facilidad lo mejor es un servidor VPS. Al igual que la VPN en la red existen miles de ofertas de servicios de VPS las cuales se deberían analizar/comparar y seleccionar la que mejor se ajuste a la necesidad. Por mi parte, luego de analizar y comparar varios servicios VPS me decidí a probar  Clouding.io  una muy buena alternativa que tiene excelente relación costo/beneficio, ya que puedes tener un buen servidor VPS con capacidades aceptables a un muy bajo precio, e ir escalando a medida que la demanda de recursos lo exija.

¿Por que Clouding.io?

Básicamente decidí probar esta opción por algunas razones importantes:

  • Te dan un saldo de prueba (5 Euros) para que puedas usar el servicio y ver si efectivamente cumple tus necesidades. Algunos servicios no permiten probarlos antes de adquirirlos y es una molesta sorpresa ver que lo que dicen en  su presentación no va muy acorde con la realidad.
  • Economía. Puedes tener un server totalmente funcional desde 3 Euros, un precio bastante competitivo para servidores con disco SSD y otras características.
  • 2 TB de transferencias incluidas en el precio.
  • Flexibilidad: Puedes aumentar tus recursos y escalar cada uno que lo requieras.
  • Rapidez: Entre el proceso de registro (Registrate) y el despliegue del server no pasaron mas de 5 minutos.
  • Soporte de calidad, si tienes algún problema con el despliegue de tu server podrán ayudarte cuanto antes, incluso si tienes algún problema con el despliegue de tu aplicación también podrían asesorarte.

Ahora que tenemos claro donde crear nuestro servidor VPS, mostraremos como es el proceso inicial para la creacion del server y posteriormente instalaremos y configuraremos OPENVPN para  nuestra VPN.

Creación Servidor VPS

Partiremos del hecho que ya te registraste en https://clouding.io/ y estas en el panel de control, el primer paso es darle  un nombre a nuestro servidor y seleccionar el sistema operativo.

Ahora procederemos a seleccionar los recursos del servidor: (HD SSD, Memoria, CPU) con respecto esto, deberíamos siempre validar los requerimientos de la aplicación que vamos a instalar  (en este caso OpenVPN) para determinar con cuantos recursos deberíamos crear nuestro servidor.  En nuestro Caso, OpenVPN  habla de consumo de recursos con mas de 100 usuarios conectados por lo cual como sera nuestro servidor de VPN personal, seleccionaremos la configuración mínima posible.

Por ultimo, validamos el precio  que nos da (el cual es muy economico) y damos crear.

Y eso es todo, en menos de un minuto tendremos un Servidor Debian 9 listo para usar e instalar lo que necesitemos. el acceso puede ser descargando la llave por default o con el password de root.

Instalando y configurando OpenVPN Server

Existen muchísimas formas de instalar y configurar  OpenVPN, muchos preferirán la vía de  instalar y configurar todo manualmente ya que te da un control total de la instalación. Clouding.io nos da otra opción, la cual es usar una imagen de pfsense para conigurar nuestro servidor OpenVPN,  pero en esta ocasión lo haremos de otra forma, haciendo uso de un script automático publicado en Github (Thanks to Angristan) el cual se encarga de todo. Para empezar, necesitaríamos conocer  la dirección publica de nuestro servidor VPS, esta dirección IP claramente se puede ver en el panel de control de tu cuenta en clouding.io o si lo deseas desde el mismo servir la podrías obtener de esta manera:

curl ifconfig.co

El siguiente paso sera descargar el script que nos ayudara a configurar todo por nosotros.

curl -O https://raw.githubusercontent.com/Angristan/openvpn-install/master/openvpn-install.sh

Damos permisos de ejecuccion:

chmod +x openvpn-install.sh

Y hacemos la magia:
./openvpn-install.sh

El installer empezará hacer algunas preguntas necesarias para  su configuración, La primera es nuestra IP publica, el por default la obtendrá (de la misma manera como lo hicimos nosotros) y te mostrara una por default, deberás comprobar que es la misma que obtuviste en el paso anterior, si es así continuar.

Luego nos preguntara si deseamos activar el soporte IPV6,  a lo cual responderemos n.

Lo siguiente es el puerto en el que va a trabajar OPENVPN, allí pueden elegir lo que deseen, el default o uno personalizado, por mi parte escogeré uno personalizado (por seguridad):

La próxima pregunta es el protocolo, este aspecto es importante ya que muchos firewalls bloquean todo el trafico TCP, por lo cual si seleccionamos el protocolo TCP es posible que en algunas redes remotas no podamos conectarnos a nuestro servidor ya que podríamos estar detras de un FW, por esta razon lo recomendable es UDP.

Ahora nos preguntara por el servidor DNS que deseamos usar, podemos dejar los actuales o seleccionar uno de  su preferencia.

La siguiente pregunta hace referencia a si deseamos usar compresion,  en este caso respondemos No.

Ahora llegamos al tema de la seguridad y el cifrado, nos preguntara si deseamos personalizar la configuración de los cifrados a usar, por defecto el script tiene una configuración de cifrados segura, asi que podemos darle n. o dale si   necesitas alguna configuración personalizada.

Y eso es todo, se acaba el cuestionario, damos cualquier tecla para continuar y el script empezara hacer la magia, instalando todos los paquetes  y haciendo las configuraciones necesarias.

Nota: Aquí es importante hacer un paréntesis para recordar la importancia de revisar el código de cualquier script antes de ejecutarlo y mas si es necesario correrlo con root. En Internet, si bien, hay personas buenas que comparten sus scripts para que otras personas los usen, hay personas malintencionadas que podrían compartir scripts maliciosos que hacen otras cosas nada que ver con su objetivo principal.

Retomando nuestro tema principal, luego de que el script instale todo lo necesario nos preguntara el nombre del usuario que se conectara y si deseamos proteger la llave privada con password.

Y listo, ya tendremos todo configurado para un usuario, en este caso user01. Lo siguiente seria descargar la configuración del cliente, para esto hacemos uso de scp.

scp -i default.pem root@IP-PUBLICA-SERVER:/root/user01.ovpn .

Configurando OpenVPN Cliente en linux.

Como todos saben, OpenVPN tiene cliente para diversos sistemas operativos, desde Windows, Mac, android, y por supuesto Linux, para este caso veremos como configurar el cliente de Debian 9,  Inicialmente procedemos con su instalación.

sudo apt-get install openvpn

Teniendo el cliente instalado, le  pasamos la configuracion que bajamos recientemente.

sudo cp user01.ovpn /etc/openvpn/client/client.conf

Y listo, tenemos nuestro server y cliente configurado, es hora de validar y probar que todo haya quedado correctamente, para esto podemos conectarnos on demanda de la siguiente manera, y testear la conexión.

sudo openvpn --client --config /etc/openvpn/client/client.conf

Nota: En este punto es posible que no se logre establecer la conexión, esto es por que debemos agregar la regla de fw en nuestro servidor VPS para abrir el puerto que seleccionamos al momento de la configuración. Para el caso de clouding.io es muy sencillo, solo debemos ir a nuestro panel, sección de fw,  y agregar una nueva regla

Eso es todo, tenemos nuestro servicio de VPN privado. ya que probaste la conexión inicial, cada que quieras conectarte lo podrás hacer por medio de systemd.

sudo systemctl start openvpn-client@client

sudo systemctl stop openvpn-client@client

Ahora para validar que todo este funcionando correctamente, puedes conectarte a tu servidor  VPN y validar tu dirección IP con la que sales a Internet. y debería mostrar la dirección IP de tu servidor VPS.

 

Como ven en muy poco tiempo,   poco esfuerzo y dinero, tienes tu propio servidor de VPN, el cual puedes usar para conectarte a Internet a través de redes inseguras, saltarte filtros y bloqueos de redes internas,  entre muchas otras cosas útiles para las cuales funcionan las VPNS. cabe resaltar que el script podrás ejecutarlo cada vez que desees crear un nuevo usuario, eliminar un usuario o por el contrario desinstalar OpenVPN, solo basta con ejecutar de nuevo el script, y este nos mostrara el menú.

En conclusión, existen miles de alternativas a la hora de contratar un servicio VPN, sin embargo si eres de los que te gusta montar tus propias cosas para personalizarlas a tu gusto, esta es una muy buena opción, ademas de económica y sencilla, el tema es encontrar un buen proveedor de servidores VPS que tenga muy buenos servidores a precios accesibles. En lo que llevo probando clouding.io me ha parecido una excelente alternativa que te brinda muchas opciones de personalización, potentes servidores, muy buena disponibilidad y sobre todo un soporte rápido y ágil para todas las necesidades.

Comparte!

Añadir un comentario

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