OPNsense® es una plataforma de enrutamiento y cortafuegos basada en FreeBSD de código abierto, fácil de usar y de construir.
OPNsense incluye la mayoría de las funcionalidades que ofrecen los cortafuegos comerciales de alto coste, e incluso más en muchos casos. Ofrece un conjunto de características tan completo como el de las soluciones comerciales, con las ventajas añadidas del código abierto y verificable.
Antes de desplegar la instancia de OPNSense, lo primero que debemos crear será subred LAN. Para ello nos dirigiremos a la cinta de objetos situada a la izquierda del espacio de trabajo y arrastraremos el objeto "red" dentro de la caja "Nuevo" situado en la parte superior del espacio de trabajo.

Por defecto, en la sección de subred vienen preconfigurados unos valores de IP y DNS que son suficientes para que nuestro proyecto funcione, aunque se puede configurar en función de las necesidades o preferencias.
Antes de enviar el formulario, tenemos que asegurarnos que la casilla de "DHCP" está activada.
Una vez presionado el botón "Enviar", se desplegará nuestra red LAN en el espacio de trabajo y representada de color violeta.
El D&D quedará de la siguiente manera:

Actualmente la última versión disponible en el Catálogo de Aplicaciones es la 25.1, que es con la que se va a realizar el despliegue. Esto es importante a la hora de consultar la documentación.
Puede consultar en el catálogo de imágenes las versiones disponibles de OPNsense accediendo a Virtual Datacenter->Imágenes y si se desea filtrar el catálogo de imágenes por el nombre:

En caso de no conocer las posibles características de una instancia y cómo realizar su despliegue, puede consultar el siguiente enlace:
En primer lugar, debemos despleguar una instancia en Soax con la imagen de OPNSense que se quiera, asociando la instancia tanto a la red Externa como a la red LAN.
Una vez desplegado nuestro firewall OPNSense, comprobamos que tenga los dos puertos asociados, uno a cada red. La topología debe quedar así:

Para que las instancias que despleguemos en la red LAN puedan tener conexión a internet correctamente deberemos hacer las siguientes configuraciones en la red.
Primero tendremos que indicar que la puerta de enlace de la red es la IP del router OPNSense que acabamos de levantar.
Es posible que tengamos que modificar el pool de asignación de la subred para poder cambiar la puerta de enlace. Esto se debe a que la IP de la puerta de enlace tiene que estar fuera del pool de asignación.

Ademas tendremos que realizar dos acciones, eliminar cualquier grupo de seguridad configurado y editar el puerto y desactivar la opción "Puerto de seguridad".

Para poder configurar nuestro router, tendremos que acceder a la consola de la instancia. Para ello, pulsamos la opción "Consola del servidor" desde la opciones de la máquina virtual y una vez dentro de la consola introduciremos las credenciales por defecto asociadas a la imagen.
Puede consultar estas credenciales desde la documentación oficial: Credenciales OPNSense

Tras introducir las credenciales accederemos al menú de configuración de la instancia.
A nivel de seguridad, es esencial cambiar la contraseña por defecto para evitar que un atacante pueda acceder al vRouter.
Hay que tener en cuenta que estas credenciales son públicas en internet y, por lo tanto, accesibles para cualquier persona.
Es por eso por lo que la primera configuración a realizar es el cambio de contraseña de root (3).

Una vez modificadas las credenciales, configuraremos la interfaz de la red externa para poder acceder al panel web nativo de OPNSense.
Para ello, seleccionamos la primera opción ("1) Assign interfaces") para configurar únicamente la interfaz WAN.
Para asegurar que configuramos la interfaz correcta es recomendable comprobar la dirección MAC en los detalles del puerto.
| Pregunta | Respuesta |
|---|---|
| Do you want to configure LAGGs now? [y/N] | N |
| Do you want to configure VLANs now? [y/N] | N |
| Enter the WAN interface name or ‘a’ for auto-detection: | vtnet0 |
| Enter the LAN interface name or ‘a’ for auto-detection NOTE: this enables full Firewalling/NAT mode. | intro |
| Enter the Optional interface 1 name or 'a' for auto-detection: | intro |
| Do you want to proceed? [y/N] | y |
Una vez finalizado el proceso, podremos ver la IP configurada de nuestro puerto de la red externa asociada a la interfaz WAN.

Para acceder al panel web, tendremos que asociar al puerto de la red externa un grupo de seguridad que permita acceder al puerto 80 y al 443 a nuestra dirección IP. Se recominda crear un nuevo grupo de seguridad donde se configurarán estas dos reglas de entrada y posteriormente asociaremos el grupo de seguridad al puerto de la red externa del firewall.
Puede comprobar cuál es la IP asociada a su salida a internet aquí
Puede consultar como crear y gestionar un grupo de seguridad visitando la siguiente página:
Tras crear un grupo de seguridad, gestionamos las dos reglas mencionadas:
|
|
|
Al asociar el grupo de seguridad al puerto y por tánto permitido el tráfico, podremos acceder a través del navegador utilizando la IP pública de la interfaz WAN e introduciendo las crendenciales de root, las cuales habremos modificado previamente.

Antes de configurar la interfaz LAN, es necesario crear una regla en la interfaz WAN que permite el acceso a la interfaz web, ya que al configurar la interfaz interna OPNSense asocia el panel web a esta nueva interfaz y, por lo tanto, perderíamos acceso al panel.
Si no se crea esta regla se perderá el acceso a la interfaz web a través de la IP pública.
La regla se crea desde la pantalla "Firewall > Rules > WAN"

A continuación, pulsaremos en añadir y configuraremos una regla que permita el tráfico entrante desde nuestra IP de origen a la IP pública del OPNSense mediante HTTP y HTTPS

Tras este paso, es recomendable permitir todo el tráfico del puerto de la red externa del vRouter y realizar el filtrado del tráfico únicamente desde el OPNSense.
Una vez creada, podremos configurar la interfaz LAN. Para ello, simplemente accedemos a la pantalla "Interfaces > Assignments".

Desde allí podremos ver como detecta la interfaz que queda por configurar (vtnet1) y añadiendo LAN en el campo "Description" se agregará correctamente la interfaz.

Tras añadirla, podremos dirigirnos a la pantalla de configuración que veremos en el panel lateral.
Desde allí, habilitaremos la interfaz y seleccionaremos la configuración de la IP estática para posteriormente configurar la IP de la interfaz en Soax, en nuestro caso, la 192.168.1.1.
Además, configuraremos la MTU a 1450 para un mejor rendimiento.
Es necesario modificar la máscara de red al configurar la IP asociada a la interfaz, ya que con el valor por defecto (32) no funcionará correctamente.
La dirección IP definida para la interfaz se aplica únicamente a este entorno, por lo que este valor puede cambiar en función de la IP que tenga asociado el puerto en cada entorno en concreto.

Por último, tendremos que crear una regla que permita el tráfico, ya que, por defecto, todo el tráfico a través de esta interfaz sera rechazado.
Nos dirigimos a la pantalla "Firewall > Rules > LAN" para crear la regla.

Y crearemos una regla que permite el tráfico desde cualquier destino hacia cualquier destino.
Esta regla puede ajustarse para evitar posibles problemas de seguridad. Para este ejemplo concreto lo realizamos de esta manera por simplicidad.

Una vez añadida la regla, ya tendremos una configuración básica de nuestro router OPNSense.
OPNSense por defecto acumula los logs durante 31 días, esto hace que sea muy probable que se nos llene el disco dedicado para almacenar los logs. Para evitar esto podremos indicarle tanto los días que queramos que reserve los logs, como el máximo de tamaño que queremos que tengan los logs almacenados, si este tamaño se supera, ese archivo rotará.
Para modificar estos parámetros nos iremos a System-->Settings-->Logging y podremos modificar los valores a nuestro gusto.

Si el disco dedicado para los logs se llena, el OPNSense dejará de funcionar correctamente.
Para comprobar que la configuración se ha realizado correctamente, vamos a crear una máquina virtual con el sistema operativo Rocky para acceder y comprobar el acceso a internet.
Tendremos que desactivar el puerto de seguridad de la misma forma que en la configuración de la red LAN

Como queremos acceder a la instancia por SSH, tendremos que añadir una regla al grupo de seguridad asociado al puerto de la red externa en Soax que permita la conexión desde nuestra IP origen.
A continuación, en el panel web de OPNSense, nos dirigimos a "Firewall > NAT > Port Forward" y añadiremos una nueva regla. Esta regla redirige el siguiente tráfico:

Una vez creada, aplicaremos los cambios para configurar el reenvío de puertos.

Finalmente, podremos acceder a la instancia por SSH mediante la IP de la interfaz WAN en el puerto 30000. Al acceder, comprobaremos que efectivamente la IP es la 192.168.1.140 y mediante la herramiento curl comprobaremos que tenemos salida a internet por la IP de nuestra interfaz WAN.

Tras este pequeño proceso, habremos comprobado que nuestro router se ha configurado correctamente.
Puede ver dos ejemplos de casos prácticos de configuración de VPNs con OPNSense en los siguientes enlaces: VPN Site-to-Site OPNSense | VPN Cliente-Servidor OPNSense
Para cambiar el idioma de la consola de nuestro OPNsense tendremos que ejecutar los siguientes comandos:
echo 'keymap="es"' >> /etc/rc.conf
Para aplicar los cambios, debemos reiniciar el servicio.
/etc/rc.d/syscons onestart
Tras este proceso, comprobamos el servicio y ya podemos escribir en idioma español.
Si tienes problemas a la hora de introducir los comandos, usa ASCII (ejemplo: para comillas dobles pulsa Alt+34).
¿Qué es opnsense?
vpn opnsense
configurar opnsense