Cómo configurar pfSense como un cortafuegos transparente

Introducción

Para quien lo desconoce, pfSense es un excelente cortafuegos, proveniente de una bifurcación del proyecto llamado m0n0wall, basado a su vez en FreeBSD. Es un cortafuegos muy robusto y funcional, con unos requerimientos de hardware bastante bajos, lo cual permite utilizar por ejemplo una PC con sólo un microprocesador x86 a 200 MHz y 128 MB de memoria para gestionar un enlace de hasta 8 mbps.1)

En este pequeño tutorial intentaremos explicar cómo configurar pfSense 2.0.1 como un cortafuegos transparente, haciendo un puente entre dos interfaces de red. Naturalmente, se asume que se dispone de una PC con al menos dos interfaces de red (para los efectos del tutorial, utilizaremos WAN, LAN y OPT1), en la cual se ha instalado pfSense 2.0.1.

Preparativos

Lo primero es acceder a la interfaz web, que por defecto está en la dirección https://192.168.1.1

Una vez en la interfaz de configuración, es necesario accdeder a FirewallNAT, en la pestaña Outbound marcamos la opción que dice “Manual Outbound NAT rule generation (Advanced Outbound NAT (AON)” y hacemos clic en el botón “Save”, después de lo cual debemos eliminar las reglas que se generan, y aplicar los cambios.

A continuación, nos dirigimos a SystemAdvancedSystem Tunables para modificar los siguientes parámetros, de modo que queden así:

Parámetro Valor Descripción
net.link.bridge.pfil_bridge 1 Permite filtrar los paquetes que pasan por el puente (si el valor se deja en cero, se permite todo el tráfico).
net.link.bridge.pfil_member 0 Evita tener que declarar reglas en las interfaces que componen el puente.

Configuración

Una vez terminados los preparativos, se puede proceder a crear el puente. Para esto vamos a Interfaces → (assign) y una vez en dicha pantalla, seleccionamos la pestaña Bridges, que debería estar vacía.

Para crear un nuevo puente, hacemos clic sobre el botón que tiene un símbolo de suma. Debería salir una pantalla con un listado de interfaces; manteniendo presionanda la tecla Ctrl, hacemos clic en las dos interfaces que queremos colocar en el puente, en este caso, WAN y OPT1. Como descripción, podemos poner lo que deseemos, como por ejemplo la propia palabra “Puente”.

A continuación, seleccionamos la pestaña Interface assignments y añadimos la nueva interfaz, que por defecto debería tomar el nombre OPT2 (u OPT1, si sólo teníamos WAN y LAN).

Una vez hecho esto y guardados los cambios, vamos a Interfaces → OPT2, marcamos la casilla que permite habilitarla y opcionalmente cambiamos el nombre de la interfaz (por ejemplo a BR0 si queremos que se parezca un poco a la nomenclatura de Linux). Usualmente se asigna una dirección IP al puente, de modo que como tipo de interfaz seleccionamos Static, escribimos la dirección, seleccionamos la máscara de subred (32) y agregamos la dirección de la puerta de enlace (Gateway), que usualmente será la direción IP del enrutador. Finalmente guardamos y aplicamos los cambios.

Al asignarle al puente una dirección IP, conviene limpiar las direcciones que tenían asignadas las interfaces que lo componen, lo cual podemos hacer accediendo a cada una en el menú Interfaces y seleccionando como tipo de interfaz “None”.

Finalmente, será necesario crear las reglas para el puente, para lo cual se debe acceder a FirewallRules. De lo contrario, no se moverá tráfico alguno por él.

Notas

(Se aceptan mejoras a este tutorial)

Atribuciones

  • Autor: Hugo Florentino
1) Según los requerimientos que han publicado sus desarrolladores.
Conectarse