instalar VPN con OpenVPN en un servidor VPS

¡Hola de nuevo Nómadas!

Esta vez os traemos un sencillo artículo sobre cómo instalar y configurar OpenVPN en nuestro servidor VPS.

¿Por qué necesitamos un servidor VPN? Por varios motivos, por ejemplo, para acceder a una serie de aplicaciones web que sólo queremos que accedan ciertos usuarios de una forma controlada y dandole mayor seguridad. ¿Por qué? porque de esta forma no exponemos la aplicación web a todo internet.

¡Empecemos!

¿Qué es una VPN?

Básicamente, y sin querer enrollarnos mucho, un túnel VPN es una conexión cifrada entre un cliente y un servidor vpn. Creando así una red privada virtual (Virtual Private Network) entre ambos extremos.

De esta forma, aunque la información se envíe por internet, va cifrado y podremos acceder a recursos dentro de dicha red. Por ejemplo, supongamos que tenemos un servidor NAS en casa, con nuestras fotos, videos, etc. Obviamente, no vamos a permitir que cualquier persona acceda a esta información, aunque exista un formulario de Login. ¿Cómo podriamos hacerlo? Instalando un servidor VPN en casa y, una vez conectados, podremos acceder al NAS. Es como si estuviéramos en casa. Interesante, ¿verdad? Es una forma segura de extender nuestra LAN para poder acceder a través de Internet.

esquema_vpn

Tal y como veis en la imagen anterior, estemos donde estemos, podremos acceder a los recursos dentro de nuestra red casera. En este caso, vamos a explicar cómo configurar nuestra VPN en un servidor VPS para acceder a ciertas aplicaciones WEB, como por ejemplo, un sistema ERP como Odoo que iremos explicando en entradas siguientes. ¡no os las perdáis!

Preparando el entorno

Una vez tenemos la teoría más o menos clara, vamos a proceder con la instalación y configuración del servidor VPN.

Te puede interesar  Instalar Gitea en Raspberry Pi 3 con Docker

Accedemos por ssh a nuestro servidor vps.

ssh servidorvps

¿Que por qué no hemos puesto usuario ni puerto en el comando? Eso es porque os habéis perdido nuestra entrada de cómo utilizar SSH like a boss.

Una vez dentro, vamos a actualizar todos los paquetes y a hacer una actualización del sistema (entendemos que no teneis nada que se pueda romper si hacéis alguna actualización. Si dudáis, comprobadlo primero).

Tal y como explicamos cuando bastionamos nuestro SSH del servidor VPS, hemos accedido con un usuario sin privilegios. Ahora, o bien ejecutamos los comandos con sudo o bien nos hacemos root con su.

sudo apt-get update

sudo apt-get upgrade

A continuación, descargamos el script openvpn-install de github ejecutando:

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

Paso 1) Confirmar IP pública de nuestro servidor VPS:

Paso 1 instalacion openvpn

Paso 2) Confirmar protocolo (dejamos por defecto UDP):

Paso 2 Protocolo

Paso 3) Confirmar puerto. Cambiamos el que viene por defecto por 443:

Paso 3 Puerto

¿Por qué han elegido 443? Os preguntaréis… Teniendo en cuenta que, en este servidor por ahora no vamos a utilizar HTTPS, no entrará en conflicto. De este modo, elegimos este puerto porque es habitual que NO esté filtrado en ningún firewall. Por lo tanto, si nos intentamos conectar desde una cafetería o desde la universidad o el trabajo, podremos hacerlo sin problemas. Es importante avisar que, según algunos firewall de nueva generación, como por ejemplo los de Palo Alto, son capaces de identificar el tráfico que va por 443 UDP y NO dejarán salir el paquete. Pero eso es otra historia que explicaremos en algún otro post…

¿Seguimos?

Paso 4) Elegimos los DNS de Google para enviar como configuración a los clientes.

Te puede interesar  Bastionado de Wordpress Paso a Paso

Paso 4 DNS

Paso 5) Nombre del certificado para el cliente. Elegid el nombre que queráis, por ejemplo, VPN_BOB:

Paso 5 Nombre Certificado

El siguiente paso, una vez confirméis los datos, el script comenzará a instalar y configurar OpenVPN y terminará indicandoos que ya tenéis el script en /root/VPN_BOB.ovpn

finalizacion script openvpn

Cambiamos el fichero de sitio, lo llevamos a nuestro home, por ejemplo, de Bob:

mv /root/VPN_BOB.ovpn /home/bob/VPN_BOB.ovpn

cd /home/bob/

chown bob.bob VPN_BOB.ovpn

¿Cuál es el siguiente paso? Ahora vamos a traernos el fichero .ovpn a nuestro equipo. En este caso, utilizamos OS X y vamos a utilizar el cliente de OpenVPN para este sistema operativo: Tunnelblick.

Descargamos el fichero con SCP:

scp <usuario>@<servidor>:VPN_BOB.ovpn .

Una vez lo tengamos, vamos a cargarlo en Tunnelblick para hacer la prueba de conexión. Simplemente, desde el Finder, buscamos el fichero y lo arrastramos hacia el icono de Tunnelblick en la barra de menú:

configuracion tunnelblick

Nos avisará si queremos instalar este certificado para nuestro usuario o para todos los presentes en el sistema. Le decimos que sólo para nosotros. Una vez importado, probamos la conexión y nos debería salir lo siguiente una vez establecido:

vpn conectado

¡Ya tenemos nuestro servidor VPN configurado en un VPS!

¡Hasta la siguiente entrada, nómadas!

instalar VPN con OpenVPN en un servidor VPS
Etiquetado en:                             

Deja un comentario

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