Configuración Avanzada de VPN en OPNsense: WireGuard

La protección de redes y datos en entornos corporativos y personales es fundamental, y una VPN (Red Privada Virtual) es una de las herramientas más eficientes para asegurar la comunicación. En este artículo, profundizaremos en la configuración avanzada de una VPN en OPNsense usando WireGuard, un protocolo moderno y rápido que está ganando popularidad por su simplicidad y eficiencia.

¿Qué es OPNsense?

OPNsense es una distribución de código abierto basada en FreeBSD que ofrece características avanzadas de firewall y enrutamiento, así como herramientas de seguridad de red. Al ser una plataforma flexible y rica en funciones, se ha convertido en una opción favorita para la administración de redes, permitiendo configuraciones complejas, como VPNs avanzadas, con una interfaz web fácil de usar.

¿Por qué elegir WireGuard?

WireGuard es un protocolo de VPN diseñado con el objetivo de ser rápido, seguro y fácil de implementar. A diferencia de otros protocolos como OpenVPN o IPSec, WireGuard tiene un código más reducido y eficiente, lo que minimiza el riesgo de vulnerabilidades y ofrece mejores velocidades.

Ventajas de WireGuard

  • Simplicidad: Menos de 4,000 líneas de código, comparado con las decenas de miles en OpenVPN o IPSec.
  • Rendimiento: WireGuard ofrece velocidades superiores gracias a su eficiente criptografía y optimización del kernel.
  • Seguridad: Utiliza algoritmos modernos como ChaCha20 para encriptación y Poly1305 para autenticación, garantizando alta seguridad con un menor impacto en el rendimiento.
  • Facilidad de configuración: Menos parámetros y menos complejidad en la creación y gestión de túneles.

Requisitos previos

Antes de comenzar con la configuración de WireGuard en OPNsense, asegúrate de tener lo siguiente:

  1. Acceso al portal de administración de OPNsense.
  2. WireGuard preinstalado. En las versiones recientes de OPNsense, WireGuard ya viene preinstalado, por lo que no es necesario agregarlo como un plugin separado.
  3. Conexión a internet funcional y dirección IP pública estática (opcional, pero recomendable).
  4. Clientes WireGuard que vayan a conectarse (puede ser desde un dispositivo móvil, PC o servidor).

Configuración de WireGuard en OPNsense

1. Activar WireGuard y configurar la instancia

El primer paso es activar WireGuard en OPNsense:

  • Navega a VPN > WireGuard > Instances
  • Crea una nueva y activa la casilla de Enable WireGuard para habilitar el servicio.
  • Configura el Puerto Local que usará WireGuard (por ejemplo, el puerto 51820 es el predeterminado).
  • Asigna un nombre descriptivo (por ejemplo, «WireGuard_Server»).
  • Genera las claves privadas y públicas para el servidor WireGuard.
  • En el campo Listen Port, especifica el puerto que WireGuard usará (por ejemplo, 51820).
  • En el campo Tunnel Address, define la dirección IP que el servidor utilizará en el túnel VPN (por ejemplo, 10.10.10.1/24).

2. Configuración de los clientes (Peers)

Una vez que la instancia del servidor está configurada con su clave y puerto, ahora puedes crear los pares que se conectarán al servidor.

  • En VPN > WireGuard > Peers Generator, añade un nuevo endpoint.
  • Asigna una IP dentro del rango de la red local (por ejemplo, 10.10.10.2/32).
  • Una vez finalizado puedes escanear el QR con el móvil con la APP de Wireguard y se te configurará automáticamente el cliente. No olvides hacer click en «Store and generate next» una vez escaneado, no antes, porque si no comenzará directamente la configuración de un nuevo peer y los datos no serán exactamente los mismos.

3. Configuración de reglas de Firewall

Ahora que WireGuard está configurado, necesitas ajustar las reglas de firewall para permitir el tráfico de los clientes conectados a la VPN.

  • Ve a Firewall > Rules > WireGuard.
  • Añade una regla que permita el tráfico entrante desde cualquier cliente de WireGuard hacia la red interna o hacía todos los destinos que tu quieras.
  • Configura también la regla en la interfaz WAN para permitir el tráfico entrante en el puerto que configuraste para WireGuard (por ejemplo, el 51820).

4. Configuración del Cliente WireGuard

En el cliente (puede ser un dispositivo móvil, una laptop u otro servidor):

  • Instala la aplicación o el software de WireGuard ya sea en Windows, Linux, Android…
  • Crea una nueva conexión e ingresa la Clave pública del servidor y la Clave privada del cliente.
  • Define el Endpoint (dirección IP o dominio del servidor OPNsense y puerto de WireGuard).
  • Establece el rango de direcciones IP permitidas (por ejemplo, 0.0.0.0/0 para enviar todo el tráfico a través de la VPN).
  • Guarda y activa la conexión.

Aunque en realidad puedes copiar el texto que se te genera en el «Peer Generator» y pegarlo en el cliente de Windows por ejemplo:

NOTA: Como comentábamos anteriormente, para utilizar en la APP del móvil lo mas cómodo es escanear el QR.

5. Verificación y pruebas

Finalmente, asegúrate de que la conexión esté funcionando correctamente. Con el cliente configurado, activa la conexión VPN y realiza pruebas de conectividad. Verifica que puedas acceder a los recursos internos de la red y que el tráfico esté siendo enrutado a través de la VPN.

En este caso una vez establecida la conexión VPN probamos a lanzarle un ping a un servidor Proxmox:

Configuraciones adicionales

DNS a través de WireGuard

Para mejorar la experiencia de los clientes conectados a la VPN, puedes configurar OPNsense para que el tráfico DNS también sea enviado a través de la VPN. Para ello:

  • Configura un servidor DNS local en OPNsense.
  • Añade la dirección IP del servidor DNS (por ejemplo, 10.10.10.1) en la configuración de los pares de WireGuard.

Conclusión

La integración de WireGuard en OPNsense proporciona una solución de VPN eficiente, segura y fácil de implementar. Con un menor impacto en el rendimiento y una configuración más simple en comparación con protocolos más antiguos, WireGuard se presenta como una opción sólida para proteger el tráfico en redes personales o corporativas. Al seguir los pasos mencionados, tendrás una VPN funcional, lista para proteger la comunicación en tu red.

Si buscas optimizar aún más la seguridad de tu infraestructura o necesitas personalizar tu configuración de VPN en OPNsense, no dudes en explorar las opciones avanzadas y ajustarlas según los requerimientos de tu red.

Scroll al inicio
WordPress Appliance - Powered by TurnKey Linux