Descubre cómo configurar un servicio de VPN de acceso remoto que permita superar el límite de usuarios que nos imponen las conexiones desde redes privadas y hágalo a través de pasos simples y guiados.
Tal como ya sabes, la seguridad es una de las principales preocupaciones de las empresas, incrementarla es muchas veces la prioridad. Una VPN (Virtual Private Network) crea un túnel cifrado a través de internet, de manera que se puede acceder a servicios y documentos desde cualquier lugar y de forma segura.
Por desgracia, el protocolo L2TP, solo nos permite teneruna sesión concurrente en caso de conectarnos desde una red privada. Por esta razón, cuando se trabaja a través de NAT, sólo se puede hacer uso de una conexión de tipo L2TP, ya que esta comunicación bloquea el puerto, provocando que un posible segundo usuario sea rechazado. Este tutorial plantea una alternativa: Wireguard, un servidor de sesiones VPN que nos permita establecer diversas conexiones.
El presente tutorial describe el proceso de instalación de WireGuard para permitir la conexión simultanea de varios clientes de una misma red privada hacia un servidor, evitando así la exposición a Internet de los usuarios al trabajar y por tanto incrementando la seguridad.
Configurar cliente VPN para evitar el límite de usuarios de una red privada
Pre-requisitos o pre-configuración.
Para completar de forma satisfactoria este tutorial y poder establecer una conexión VPN de acceso remoto entre el servidor y los equipos cliente se necesitará:
- Por un lado, estar dado de alta en la Plataforma Jotelulu con una organización y estar registrado en la misma tras hacer Log-in.
- Por otro lado, haber dado de alta una suscripción de Servidores o Escritorio Remoto para poder habilitar la VPN en su red.
- Por último, un equipo en el que se instale WireGuard.
Paso 1. Instalación de servidor WireGuard en GNU/Linux
Para la instalación de WireGuard en un servidor GNU/Linux, tendremos que explorar distintas opciones, en función de la versión de GNU/Linux que se utilice, ya que el proceso difiere de una CentOS a una Ubuntu u otra distribución. Para ver los procesos de instalación en distintos sistemas, os dejamos el acceso a la web de WireGuard en la sección de instalación.
En este caso, se va a instalar sobre CentOS, para lo que, una vez se accede con usuario root (administrador del sistema), se deben lanzar los siguientes comandos:
# yum install yum-utils epel-release
# yum-config-manager –setopt=centosplus.includepkgs=kernel-plus –enablerepo=centosplus –save
# sed -e ‘s/^DEFAULTKERNEL=kernel$/DEFAULTKERNEL=kernel-plus/’ -i /etc/sysconfig/kernel
# yum install kernel-plus wireguard-tools
# reboot
En Ubuntu sería con el siguiente comando, más algunos otros que habría que añadir para instalar requisitos y dependencias, etc.
# sudo apt install wireguard
Paso 2. Instalación del cliente de WireGuard
WireGuard se puede utilizar desde distintos sistemas operativos como GNU/Linux, MAC o Windows. Vamos a explicar la instalación de este último por ser el más ampliamente usado, pero iremos publicando nuevos tutoriales para otros sistemas operativos.
Lo primero que se tendrá que hacer es ir a la web de WireGuard para descargar el instalable de la aplicación, que tal como se podrá ver es realmente ligero, ya que pesa poco más de 85KB.
Una vez descargado, y enel equipo cliente (desde el que conectaremos a la VPN) se tiene que ejecutar con permisos de administrador.
La instalación es realmente rápida, aunque en función de las características del equipo en el que se instale puede ser algo más lento. De todas maneras, no debería tardar más de un par de minutos en finalizar, y a lo largo del proceso, solo podremos ver un par de barras de progreso avanzando con gran celeridad.
Una vez finalizada la instalación, se mostrará directamente la ventana de configuración de WireGuard.
NOTA: En caso de tener problemas con la instalación, se puede lanzar la instalación desde el MSI que se puede encontrar aquí.
Paso 3. Configuración de WireGuard
En este momento, se parte de la aplicación de WireGuard instalada en el Windows del cliente, pero con esta instalación no se puede realizar ninguna conexión aun y deben de configurarse.
Para configurar una conexión, partiremos de la consola anterior, y haremos clic en “Add Tunnel > Add empty tunnel…” (1) .
Cuando se genera un nuevo túnel vacío, WireGuard genera de manera automática, una clave pública (2) , que se muestran por defecto en la pantalla en la que se está trabajando.
La estructura de configuración que se crea está incompleta, y se tendrá que completar.
Para ello se deben añadir otros campos como la dirección, el servidor de DNS, las IP permitidas y el punto de conexión, conformando un fichero con una estructura como la siguiente:
[Interface]
PrivateKey = iuurt328rtf98sdpcg98eawtf982wgfwpeefgt98g (Clave privada)
Address = 194.128.1.23/32
DNS = 192.168.1.1
[Peer]
PublicKey = iuurt328rtf98sdpcg98eawtf982wgfwpeefgt98g (Clave pública)
AllowedIPs = 0.0.0.0/0
Endpoint = 12.15.12.15:12345
Cada uno de estos campos, tiene un propósito fundamental, que pasamos a desvelar a continuación.
- PrivateKey: Es la clave privada que proporciona el cliente.
- Dirección: Nuestra dirección IP interna.
- DNS: La dirección IP del servidor DNS de la red.
- PublicKey: Es la clave pública del servidor de WireGuard.
- IP permitidas: Son las direcciones IP se enrutarán a través de la VPN. Si se usa la opción «0.0.0.0./0», todo el tráfico se enruta a través de la VPN.
- Endpoind : La dirección IP externa (Publicada en internet) y el puerto de escucha del servidor de WireGuard.
Paso 4. Configuración del nuevo cliente en el servidor de WireGuard
Para que se pueda permitir el tráfico entre el cliente y el servidor, se debe añadir el cliente en la sección [Peer] del archivo de configuración del servidor de WireGuard.
Se deberá añadir una configuración similar la siguiente, que dependerá de la configuración de la red:
# wg set wg0 peer <CLAVE_PUBLICA_WINDOWS>= allowed-ips <DIRECCION_IP>
Donde:
- <CLAVE_PUBLICA_WINDOWS>: es la clave pública que proporciona el cliente de Windows al servidor WireGuard.
- <DIRECCION_IP>: Especifica que IP pueden usar el túnel. Por lo que se deberá introducir la IP interna.
Paso 5. Configuración del firewall de Jotelulu
Otro punto que hay que tener en cuenta es la configuración del firewall del servidor de Jotelulu donde está el WireGuard.
Recordemos que en el Paso 1 decíamos que el puerto de escucha “51820” es el puerto UDP que se usa en el servicio WireGuard y que debíamos abrirlo en el firewall de Jotelulu para que funcionara correctamente.
Para hacer la configuración, se deberá acceder a la suscripción de servidores, y una vez ahí se debe hacer clic en “Nueva regla” (3).
En la nueva ventana configuramos las opciones del puerto usado por WireGuard:
- Seleccionamos la red a través de la que conecta (4).
- Determinamos el origen de las conexiones (5), pudiendo filtrar para no dejar todas las IP abiertas.
- Seleccionamos el protocolo UDP (6).
- Ponemos la IP pública (7) a través de la que se conectara.
- Ponemos el puerto público (8) a través del que conecta, que deberá ser el 51820.
Seleccionamos la IP y el puerto privados (9).
Una vez configurado todo continuaremos con la configuración y guardamos los cambios.
Paso 6. Comprobar la conexión
Lo último que se tendrá que hacer para dar por finalizado el proceso de instalación, es lanzar la conexión de VPN y comprobar si se está navegando a través de la IP remota.
Para comprobar esto mismo, se podrá usar una de las clásicas páginas web que comprueban nuestra dirección IP, páginas como Cuál es mi IP.
Conclusiones y posibles próximos pasos:
Muchas organizaciones buscan la forma de blindar sus conexiones. Evitar la exposición a Internet y por tanto cualquier intento de acceso indebido desde la red es generalmente una buena práctica.
En este tutorial describe el proceso para crear una VPN con WireGuard para permitir el acceso remoto desde cualquier ubicación de forma segura, permitiendo abrir además varios accesos desde una misma red.
Esperamos haberte ayudado en la configuración. Si aun así te quedaran dudas o quisieras comentar algún aspecto técnico puedesescribirnos a plataforma@jotelulu.com o contactar con el número de teléfono 91 133 37 10, estaremos encantados de ayudarte.
¡Un saludo y buena suerte!