PFSense es una distribución personalizada de FreeBSD adaptado para su uso como Firewall y Enrutador. Cuenta con una interfaz web sencilla para su configuración y gracias a que se trata de un sistemas operativo de código abierto, podemos implementarlo fácilmente en nuestro Virtual Data Center de SoaX.
A continuación veremos una guía de despliegue e implementación de una instancia PFSense.
Para utilizar PFSense tendremos que realizar unas configuraciones previas antes de poder realizar el despliegue de la instancia. A continuación podrá ver como realizar las configuraciones paso a paso de forma detallada.
Antes de desplegar el router, el primer paso será crear una subred LAN. Para ello, existen dos opciones:
Desde la cinta de objetos ubicada en el lateral izquierdo del espacio de trabajo, arrastrar el objeto "Red" hacia el área de trabajo.
Acceder al menú Conectividad --> Redes y crear la subred desde el mismo formulario al crear una red nueva.

Por defecto 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 pulsar el botón crear, 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. Nuestro espacio de trabajo se verá tal que así:

Actualmente las versión disponible en SoaX es la 2.6.0 , esto es importante a la hora de consultar la documentación de pfSense, o si desea subir una versión superior de la imagen.
En caso de necesitar la última versión o alguna versión específica, tendrá que importar la imagen manualmente.
Aquí te dejamos información sobre como subir una imagen a Soax y cambiarle el formato en caso de ser necesario. Para Soax es recomendable subir las imagenes el formato qcow2.
Procederemos a desplegar una instancia y seleccionaremos la imagen FW_pfSense-C2-2.6.0:

Por defecto los valores que vienen preconfigurados en el asistente son suficientes para que el router funcione correctamente.
En el apartado de "Conectividad" asociaremos la instancia a la red externa y a la red LAN creada previamente:

Una vez desplegado nuestro router pfSense, debemos comprobar que nuestro router pfSense tenga los dos puertos asociados, uno para cada red, como en el ejemplo.

Ahora desplegaremos una máquina virtual para poder hacer pruebas de conectividad.
En este caso usaremos Windows Server 2019 para simplificar el proceso, aunque también podríamos utilizar una distribución Linux.
Para ello desplegamos una instancia sobre la subred creada arrastrando el componente "Instancia" directamente sobre la subred. Automáticamente se nos abrirá el asistente de configuración de nueva instancia.
Como vamos a desplegar esta máquina para un entorno de prueba, no le asignaremos demasiados recursos.
Una vez desplegada la instancia, nuestra infraestructura quedará similar a la que se presenta en la siguiente imagen:

Tendremos que cambiar la IP de la puerta de enlace para que coincida con la IP privada del router pfSense. Podremos hacer esto desde el Drag & Drop haciendo clic en la subred y haciendo click en Actualizar o desde el menú lateral Conectividad --> Subredes y hacemos click en
para la subred deseada.

Los siguientes parámetros insertados son un ejemplo de uso para guíar la configuración. Para el correcto funcionamiento de su pfSense tendrá que insertar los datos que correspondan a su arquitectura.
A continuación, configuraremos las interfaces de red del router pfSense de tal forma que podamos establecer una conexión con las redes Externa o WAN y LAN.
Así habilitaremos el acceso al configurador web para realizar ajustes tal y como lo haríamos con un router convencional.
Para ello, nos dirigiremos al espacio de trabajo y haremos click derecho sobre el router pfSense. En el menú desplegable, haremos click en "Consola del servidor". Acto seguido aparecerá una ventana emergente con la vista de la terminal del router pfSense.


Puesto que es la primera vez que iniciamos nuestro pfSense, se iniciará por defecto el asistente de configuración de interfaces. A continuación, responderemos a las preguntas que nos formula el asistente de la siguiente manera:
| Pregunta | Respuesta |
|---|---|
| Should VLANs be set up now [y/n]? | y |
| Enter the parent interface name for the new VLAN (or nothing if finished): | Intro |
| Enter the WAN interface name or ‘a’ for auto-detection (vtnet0 vtnet1 or a): | vtnet0 |
| Enter the LAN interface name or ‘a’ for auto-detection NOTE: this enables full Firewalling/NAT mode. (vtnet0 vtnet1 or a): | vtnet1 |
| Do you want to proceed [y/n]? | y |
A la hora de asignar las interfaces comprobar las MAC de la interfaz tanto de la red WAN como de la LAN
Si no puede agregar el nombre de la interfaz LAN reincie el pfSense para que detecte la interfaz si está conectada
Una vez configuradas las interfaces de red vamos a asignarles las IP correspondientes. Para ello en el menú del pfSense seleccionaremos la opción 2: "Set interface(s) IP address". A continuación responderemos a las preguntas que nos formula el asistente de la siguiente manera:
| Pregunta | Respuesta |
|---|---|
| Enter the number of the interface you wish to configure: | 1 |
| Configure IPv4 address WAN interface via DHCP? (y/n) | y |
| Configure IPv4 address WAN interface via DHCP6? (y/n) | n |
| Enter the WAN IPv6 address. Press ENTER for none: | Intro |
Una vez configurada la IP de la red WAN con DHCP para que automáticamente detecte la IP pública que nos ha proporcionado Soax, vamos a hacer lo mismo para la red LAN. Para ello volveremos a presionar 2 e Intro y responderemos a las preguntas que nos formula el asistente de la siguiente manera:
| Pregunta | Respuesta |
|---|---|
| Enter the number of the interface you wish to configure: | 2 |
| Enter the new LAN IPv4 address. Press ENTER for none: | IP Puerto LAN pfSense |
| Enter the new LAN IPv4 subnet bit count (1 to 32): | 24 |
| For a WAN, enter the new LAN IPv4 upstream gateway address. For a LAN, press ENTER for none: | Intro |
| Enter the new LAN IPv6 address. Press ENTER for none: | Intro |
| Do you want to enable the DHCP server on LAN (y/n) | y |
| Enter the start address of the IPv4 client address range: | p.ej: 192.168.0.20 |
| Enter the end address of the IPv4 client address range: | p.ej: 192.168.0.100 |
Podemos consultar la IP del router a la LAN poniendo el ratón encima del puerto
Debemos asegurarnos de que la IP asignada a la máquina de Windows esté dentro del rango configurado.
Una vez realizado estos pasos, estaríamos listos para poder acceder al configurador web del router pfSense.
A partir de ahora, podremos acceder al configurador web del router pfSense mediante la máquina virtual Windows que habíamos desplegado anteriormente y que está conectada en la red LAN. Para poder acceder, ingresamos en el navegador la dirección IP del puerto que une el pfSense con la red LAN. Estos son los datos de acceso:
A partir de ahora, podremos acceder al configurador web del router pfSense mediante la máquina virtual Windows que está conectada a la red LAN. Desde el Drag & Drop, click derecho en la instancia y "Consola del servidor". Acto seguido, ingresamos en el navegador la dirección IP del puerto que une el router pfSense con la red LAN.
Las credenciales son las siguientes:
adminpfsenseEn el caso de que aparezca este error al intentar acceder a nuestro router:
Lo único que tendremos que hacer es acceder de nuevo a la terminal del pfSense y seleccionaremos la opción 12 escribiendo el número y pulsando Intro.
Acto seguido escribiremos el siguiente comando:
pfSsh.php playback disablereferercheckPulsaremos Intro y esperaremos a que se apliquen los cambios.
Por último, nos dirigiremos a la parte superior derecha de la consola y haremos click en el botón de "Send CtrlAltDel" para reiniciar la máquina.
Una vez dentro, aparecerá un asistente de configuración inicial. Realizaremos los ajustes de la siguiente manera:

Bajamos un poco y realizamos lo siguiente:

Bajamos y hacemos click en el botón de "Save".
El siguiente será revisar las configuraciones de las interfaces WAN y LAN desde el apartado de "Interfaces" situado en la parte superior.

El resto de configuraciones las dejamos por defecto.
Guardamos los cambios con el botón "Save".
Por último configuraremos la interfaz LAN.

Y guardamos los cambios con el botón "Save"
En la página principal nos saldrá un panel como el siguiente donde nos sale un breve resumen de los cambios que hemos realizado.

Aplicamos los cambios y ya habríamos finalizado la configuración inicial del router pfSense.
Nos dirigiremos al apartado "Firewall" situado en la barra superior y en el menú desplegable haremos click en "Rules".
En esta página podremos configurar las reglas tanto de entrada como de salida para permitir que tipos de conexiones se van a poder establecer en la red WAN y la red LAN.
Si hacemos click en "Add", estableceremos una nueva regla. Esta nueva regla puede ser de Permiso, Rechazo o Bloqueo. Podremos indicar en que red (WAN/LAN) se va a aplicar y también el tipo o protocolo de conexión, IP de procedencia / destino y puertos asociados.
Para permitir a nuestro router pfSense que tenga acceso a internet tendremos que crear una regla que permita el tráfico TCP y UDP en la red WAN.




Guardamos los cambios. Se creará una regla nueva que aparecerá de esta forma:

Podremos crear cuantas reglas necesitemos ya que estas son acumulativas.
IMPORTANTE - Una vez hayamos creado todas las reglas que necesitemos, en esta página tendremos que presionar el botón de "Apply Changes" para que las nuevas reglas se pongan en funcionamiento.
Para asegurar el correcto funcionamiento del VRouter hemos identificado que debemos de realizar ciertas acciones para asegurar la compatibilidad de pfSense y SoaX.
Estos cambios no son indispensables, sin embargo, son altamente recomendables par el correcto funcionamiento del VRouter.
Tendremos que desactivar una función en el apartado System/Advanced/Networking

Bajaremos hasta la sección de Network Interfaces y marcamos la opción "Disable hardware checksum offloading".


Después de seleccionarla bajaremos a la parte inferior de la pantalla y guardaremos la configuración.
Existen dos opciones a la hora de configurar el firewall:
Una vez el firewall perimetral filtra el tráfico, dentro de la red LAN se puede permitir todo el tráfico entrante y saliente deshabilitando la seguridad de un puerto de la red LAN.
Para los siguientes puertos desactivaremos la seguridad del puerto:

Puede consultar la información de como desactivar la seguridad de los puertos aqui:
Ya hemos implementado y configurado la instancia de pfSense. Puede consultar la documentación oficial de Netgate| pfSense Documentation