Homelab router @ pfSense 🢅13

pfSense🡭 es uno de los firewalls y router open sources más utilizado. Esta basado en FreeBSD🡭 .

El build lo armé en Abril del 2023 y desde ese entonces lo vengo usando en mi {{homelab}}.

Hardware

Me encontré con un mother “industrial” en {{Mercado Libre}} que venia con 2 puertos de red, perfecto para armar un router.

  • Motherboard BCM MX3350N link🡭
  • Intel(R) Celeron(R) CPU N3350 @ 1.10GHz 2 Cores
  • 128GB SSD Western Digital Green
  • 2GB DDR3 1600 Positivo BGH

Ademas de eso, el mother es alimentado por una fuente de 12v de notebook, así que otro golazo. Al ser un micro chico el disipador viene sin cooler, eso genera que sea completamente silencioso, manteniendo una temperatura de 51°C aprox.

Respecto a memoria y disco no tuve que comprar nada extra, con lo que venia lo deje andando. Ahí tengo un poco de espacio para seguir creciendo si es que quiero. El mother tiene 2 slots M.2 y 2 slots para memoria RAM DDR3. También tiene 3 salidas de video, 2 HDMI y 1 Display Port. 4 USB 3.0 y 2 NIC’s 100/1000.

router build 1

router build 1 (113.2 KB)

Lo que si compré fue un gabinete Mini ITX. Salió caro para lo que es, pero esta muy bueno y queda estéticamente bien (punto a favor por que el router queda a la vista)

router build 3

router build 3 (113.2 KB)

El gabinete tiene un soporte interno donde se le puede colocar un disco rígido externo en caso de que sea necesario. Tal vez si me las ingenio podrían entrar hasta 2 discos.

router build inside plate

router build inside plate (113.2 KB)

Como dije mas arriba pfSense corre sobre FreeBSD, la verdad que no tengo muchas quejas, sobre todo por que no lo estuve explotando a full todavía. La interfaz tal ves es lo que menos me gusta, pero por ahora no me encontré con problemas reales.

Actualmente en mi casa, donde esta mi {{homelab}} tengo una empresa de internet que no me permite tener una IP pública (fuck Claro), ni tampoco me permite modificar configuraciones del router que vienen por default. Eso es medio una cagada por que quedas dentro de los parámetros que ellos quieren, pero por suerte hay varias formas de sobrepasar estos problemas.

Alcance

Acá dejo un listado de las cosas a las que quiero llegar con este build:

  • poder asignar mi propio rango de IP’s
  • tener distintas VLAN’s para separar dispositivos
    • iot, luces y sensores
    • servicios locales internos
    • internet
  • poder tener un monitoreo especifico sobre mi red, poder ver sin problemas todo lo que sale y todo lo que entra
  • poder bloquear (a través de VLAN o de IP) a que servicio se puede acceder desde internet y a cual no
    • todo lo relacionado a {{IOT}} debería no tener acceso a internet
    • todo lo relacionado a {{IOT}} y sensores debería ser accesible mediante {{home-assistant}}
    • desde la VLAN de {{IOT}} no deberías poder ver ningún otro dispositivo de la red mas que {{home-assistant}}.

Actualmente el router esta funcionando después del modem de internet. Es decir que desde el router hacia dentro, la red es manejada completamente por el router, por el switch {{tplink-sg1024de}} y por el access point {{tplink-eap620-hd}}. Y desde el router hacia afuera, todo es manejado por el modem / router de Claro.

En este setup y por el momento, no tengo ningún servicio expuesto públicamente a internet. Pero para estar 100% conectado a mi red y utilizar los servicios que selfhosteo, uso {{tailscale}}. Como en pfSense se pueden instalar aplicaciones, se le puede instalar un cliente de Tailscale, en mi caso el router ademas de estar dentro de la red esta configurado como Exit Node, lo que me permite usarlo de DNS cuando estoy fuera de casa y poder seguir accediendo a todos mis servicios sin tener que andar cambiando las IP’s o URL’s.

router backplate

router backplate (113.2 KB)

Changelog

2024-01-18

Ahora el router corre 2 servicios extras, gracias a los addons de pfSense. Por un lado ntopng y por otro pfBlockerNG (firewall). La verdad que los addons te solucionan bastante la vida y funcionan bastante bien. Con el stack actual estoy en 45% de uso de procesador y un 40% de uso de memoria, constante.

2023-12-07

Con todo el quilombo que viene pasando con pfSense, con el tema de sus licencias y con la mala comunicación que tuvieron para hacer los cambios que hicieron, tengo ganas de cambiarlo y moverme definitivamente a OPNSense. La verdad es que hoy en día no estoy usando ninguna funcionalidad exclusiva, no hay algo que me ate.

2023-11-30

Estuve intentando hacer funcionar el tema de las VLAN's pero no tuve mucho éxito. La configuración esta bien hecha en pfSense, pero cuando los paquetes pasan por el AP y el Switch no llegan correctamente taggeados al router. Tengo que seguir investigando.

2023-09-12

Estuve configurando DNS Resolvers en pfSense. Esto lo estoy usando como la primera implementación de mi DNS local. Claramente no funciona como un DNS real, pero como primer paso me alcanza. Ahí lo que configure fue todas las URL's de mis servicios locales apuntando al server donde esta corriendo Caddy. A nivel de red ahora si entro a stats.localdomain.com me redirige correctamente al servicio. Es un paso mejorado a tener que andar editando el archivo /etc/hosts