Antes de empezar con este tutorial me gustaría explicar algunos conceptos:

VPN (Virtual Private Network): Es una red virtual que nos permite interconectar dos o más dispositivos que se encuentran físicamente en diferentes locaciones. Una de las principales características de esta es que la comunicación entre ambos extremos va cifrada, por lo tanto, en caso de ser interceptada, no será posible conocer su contenido.

VPS (Virtual Private Server): Es un servidor (a grandes rasgos una computadora con acceso a internet y encendida los 365 días del año), el cual haciendo uso de software permite fraccionar sus recursos (procesador, memoria RAM, almacenamiento), de esta manera podemos crear varias máquinas virtuales que funcionan de manera independiente, por consiguiente, el costo final de rentar una sola máquina virtual es solo una fracción de lo que costaría un servidor dedicado. El adquirir un VPS es una excelente idea cuando deseamos realizar pruebas, experimentos o el despliegue de aplicaciones que no necesitan demasiados recursos a un costo bajo.

En este caso usaremos la plataforma de Digital Ocean, la cual nos permite rentar equipos por hora, siempre y cuando la VPS (en Digital Ocean son llamados Droplets) no esté más 672 horas al mes desplegada (no importa si esta encendida o no, con el siempre hecho de existir nos cobran, por lo que una vez que hemos dejado de usarla es mejor destruirla), en caso de superar esta cantidad de horas nos cobraran el precio mensual. En caso de que te interese esa plataforma, puedes usar este link con el cual te regalaran 10 dólares para iniciar.

Una vez que hemos iniciado sesión en Digital Ocean procedemos a crear un Droplet, para ello damos clic en “Create Droplet”

El siguiente paso consiste en elegir el Droplet que se ajuste a nuestras necesidades, para la creación de un servidor VPN para conectar de 1 a 3 dispositivos, es suficiente con el Droplet más básico, el cual solo cuesta 0.007 dólares cada hora.

Uno de los pasos cruciales para nuestro servidor VPN es la ubicación de este, debido a que entre más cerca este de nuestra ubicación, mejor será la navegabilidad. Por eso recomiendo hacer algunas pruebas de velocidad y ping, para ello podemos realizarlas desde el siguiente link. En mi caso el mejor servidor ha sido el servidor 2 ubicado en San Francisco.

En este caso, no será necesario realizar más modificaciones a la configuración por defecto, por lo que nos dirigimos a la parte inferior y damos clic en “Create”.

 Una vez que se ha creado nuestra Droplet el siguiente paso es obtener la dirección IP de la misma.

El siguiente paso consiste en conectarnos al Droplet haciendo uso de la tecnología SSH, en mi caso el programa que uso en Windows se llama Putty y lo puedes descargar desde este link. Seleccionamos como tipo de conexión SSH, ingresamos la dirección IP y el número de puerto.

Al conectarnos por primera vez a nuestro servidor, nos pedirá que guardemos en el registro de Putty la huella del servidor. Damos clic en aceptar.

Cuando nos conectemos, nos preguntara el nombre de usuario con el que iniciaremos sesión, ingresaremos root, y la contraseña la encontraremos en el correo electrónico que nos han mandado desde Digital Ocean. La primera vez que nos conectemos, nos pedirá que ingresemos la actual contraseña (la que nos han mandado en el correo electrónico) y a continuación ingresaremos la que será la nueva contraseña, además de ingresarla por segunda ocasión para confirmarla.

Para poder crear nuestro servidor VPN, usaremos el siguiente comando, el cual instalara OpenVPN con ayuda de un asistente.

wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh

A continuación nos preguntara la que será la dirección IP desde la que se conectaran los clientes a nuestro servidor, en este caso dejar la que está por defecto. Dar enter.

En el tipo de protocolo usado para OpenVPN, dejamos por defecto UDP. En el caso del puerto por el cual se hará la conexión por defecto es el 1194, pero lo podemos cambiar. En caso de que tengamos problemas para conectarnos, podríamos usar el puerto 443 que es el correspondiente a las conexiones HTTPS, que en raras ocasiones se encuentra bloqueado.

En el caso del servidor de direcciones DNS, lo que mejor me ha funcionado ha sido usar los que están por defecto. Aunque también las proporcionadas por Google son una excelente opción.

A continuación, ingresamos el que será el nombre del certificado de conexión, recomiendo darle un nombre representativo con respecto al dispositivo desde el que se realizará la conexión.

Para continuar damos enter y esperamos a que se genere el certificado de conexión.

Cuando lleguemos a este instante, sabremos que se ha concluido el proceso de generación del certificado, es importante mencionar que cada certificado solo sirve para conectar un dispositivo a la vez, por lo que, si necesitamos conectar más de un dispositivo al mismo tiempo, tenemos que generar más certificados, por lo que lo único que tienes que hacer es volver a ejecutar el comando anteriormente descrito.

 El siguiente paso es descargar el certificado de conexión, pero es necesario que usemos un método seguro para ello, porque cualquier persona que tenga acceso a él, podrá conectarse a nuestra VPN. Para esta tarea usaremos WinSCP, el cual podrá descargar desde el siguiente link. Para poder conectarnos lo único que necesitamos ingresar en la dirección IP de nuestro servidor, el puerto (que por defecto es el 22) y la nueva contraseña que hemos ingresado cuando nos hemos conectado por primera vez a nuestro servidor.

Nuevamente aceptamos la huella del servidor. Damos clic en aceptar.

Una vez que se ha establecido la conexión, seleccionamos el certificado de conexión, el formato de este tipo de ficheros es ovpn. Para poder descargarlos, seleccionamos el fichero y presionamos F5.

Indicamos en donde descargaremos el fichero y damos clic en aceptar.

 

Uso de OpenVPN en Windows

Para poder usar nuestro servidor VPN en Windows, necesitamos instalar el cliente de OpenVPN para Windows, el cual podemos descargar desde el siguiente link. Además debemos copiar el certificado de conexión en la siguiente ubicación C:\Program Files\OpenVPN\config

Una vez realizados estos pasos, procedemos a ejecutar el cliente de conexión de OpenVPN.

OpenVPN solamente muestra un icono en el área de notificaciones, por lo que tenemos que dar clic con el botón derecho sobre el icono del mismo.

En caso de solo tener un certificado de conexión, nos aparecerá el siguiente menú, en donde debemos de dar clic en “Connect”. Cuando queramos desconectarnos del servidor OpenVPN, realizar el mismo procedimiento, solo que debemos de seleccionar la opción de “Disconnect”.

Una vez establecida la conexión, se nos mostrara un mensaje similar a este.

Si a partir de este momento nos conectamos a alguna página como whatismyipaddress.com, podremos ver cómo es que ahora nuestra dirección IP, es la misma que la del servidor VPS. En mi caso un servidor ubicado en San Francisco.

 

Pruebas de Velocidad y Ping

Máxima velocidad de nuestro Droplet

Máxima Velocidad de conexión con Telmex sin VPN

Máxima Velocidad de conexión con Telmex a traves del VPN

Máxima Velocidad de conexión con Axtel sin VPN

Máxima Velocidad de conexión con Axtel con VPN

Máxima Velocidad de Conexión con Axtel sin VPN al mismo servidor Ubicado en California

 

Conclusiones

En primer lugar, tenemos que mencionar que el usar una conexión VPN nos ofrece seguridad extra, debido a que nuestra información se manda encriptada, esto es especialmente útil si estamos haciendo uso de una conexión insegura a internet como lo es desde un Aeropuerto, Terminal de Autobuses, Hotel, Plaza Comercial, Parque, entre otros. Por desgracia esto tiene una contraparte negativa, en donde no lograremos alcanzar la máxima velocidad ofrecida por el proveedor de internet, además de aumentar el ping. Por lo tanto, el uso de un VPN solo debe de ser reservado para conectarse desde redes inseguras para proteger nuestra información o para evitar algunos bloqueos como los que podemos encontrar en redes de universidades o laborales.