Raspberry Pi pfSense con una máquina virtual: Guía completa para construir un firewall virtual

Raspberry Pi pfSense Using a VM: Complete Guide to Building a Virtual Firewall

pfSense Es una distribución gratuita de software de firewall y router de código abierto basada en FreeBSD. Está diseñada para proporcionar seguridad de red y funciones de enrutamiento de nivel empresarial, lo que la convierte en una opción popular para redes domésticas, pequeñas y grandes empresas.

Características principales
• Capacidades de firewall y enrutador: implementa inspección de paquetes con estado (SPI) y NAT.
• Compatibilidad con VPN: admite OpenVPN, IPsec y WireGuard para acceso remoto seguro.
• Modelado de tráfico (QoS): prioriza el uso del ancho de banda para aplicaciones críticas.
• Detección y prevención de intrusiones: se integra con Snort y Suricata para monitoreo de seguridad.
• Administración de DNS y DHCP: actúa como solucionador de DNS y servidor DHCP.
• Alta disponibilidad y equilibrio de carga: garantiza la redundancia y distribuye el tráfico de red de manera eficiente.
• Portal cautivo y autenticación: útil para redes públicas y gestión de Wi-Fi para invitados.

IMPORTANTE: pfSense no es compatible oficialmente con arquitecturas basadas en ARM, lo que significa que necesitará confiar en la virtualización (por ejemplo, QEMU) para que funcione.

¿Por qué utilizar pfSense en una Raspberry Pi?

Personalización y flexibilidad

✔ La naturaleza de código abierto de pfSense permite scripts, paquetes e integraciones personalizados.
✔ Raspberry Pi también admite otras herramientas de red como Pi-hole, WireGuard y OpenVPN junto con pfSense.
✔ Se puede configurar para seguridad de IoT, protección de red doméstica o VPN de pequeñas oficinas.

Enrutamiento y firewall livianos para redes pequeñas
✔ Se puede utilizar para seguridad de red básica, filtrado de DNS y modelado de tráfico.
✔ Funciona bien en entornos de poco tráfico, como automatización del hogar y seguridad del hogar inteligente.
✔ Admite configuraciones VPN para conectar dispositivos remotos de forma segura.

Firewall de respaldo y conmutación por error de red
✔ Puede actuar como un firewall secundario o de respaldo en caso de que el principal falle.
✔ Útil para situaciones de emergencia o despliegue rápido en redes de prueba.
✔ Funciona bien en escenarios de redes de borde donde se necesitan soluciones livianas.

Limitaciones a considerar
× Restricciones de rendimiento: el procesador ARM y la RAM limitada de Raspberry Pi pueden tener problemas con redes de alto rendimiento.
× Puertos de red limitados: se requiere un adaptador USB a Ethernet para configuraciones de interfaz dual.
× Sobrecarga de virtualización: ejecutar pfSense en QEMU u otra máquina virtual utilizará recursos del sistema adicionales.
× No apto para uso empresarial: ideal para aplicaciones de pequeña escala, no grandes.

Escenarios del mundo real

Firewall y seguridad de red doméstica
Desea proteger su red doméstica contra amenazas cibernéticas, administrar el uso del ancho de banda y bloquear el tráfico no deseado.

Red para pequeñas empresas y oficinas remotas
Una oficina pequeña o un trabajador remoto necesita un firewall seguro y rentable para proteger datos confidenciales y permitir el acceso remoto.

Formación en aprendizaje y ciberseguridad
Laboratorios Un estudiante de ciberseguridad o un profesional de TI quiere un entorno del mundo real para probar las reglas de firewall, las configuraciones de VPN y la seguridad de la red.

IoT y red doméstica inteligente
Protección Un usuario tiene varios dispositivos IoT (cerraduras inteligentes, cámaras, termostatos) y desea aislarlos de su red principal por razones de seguridad.

Portal cautivo de bajo costo para Wi-Fi de invitados
Una pequeña empresa (cafetería, Airbnb, espacio de coworking) quiere ofrecer Wi-Fi seguro para invitados con una página de inicio de sesión y control de ancho de banda.

Redes perimetrales para áreas remotas
Una pequeña oficina o una red comunitaria en un área rural necesita capacidades de red básicas sin acceso a hardware costoso.

Desafíos de ejecutar pfSense en Raspberry Pi

Dado que pfSense no puede ejecutarse de forma nativa, necesita una máquina virtual (VM) que utilice QEMU, VirtualBox o herramientas similares.

La emulación QEMU consume muchos recursos, lo que reduce la potencia de la CPU disponible para las tareas de red.

La virtualización de pfSense sobre el sistema operativo Raspberry Pi introduce complejidad adicional en la configuración y el mantenimiento.

Requisitos

Hardware:
 • Raspberry Pi 5 (8 GB/16 GB de RAM) ( IMPORTANTE : mejor rendimiento).
 Almacenamiento: Tarjeta microSD de 16 GB/32 GB (clase 10 o superior).
 Red: Al menos un adaptador USB a Ethernet adicional.
• Fuente de alimentación: Raspberry Pi oficial 5 V/3 A (USB-C) adaptador de corriente.

Software:

• Sistema operativo Raspberry Pi de 64 bits (basado en Debian).
 Imagen ISO de pfSense: Obtenga lo último pfSense Edición comunitaria (CE) ISO del sitio web oficial: 🔗 https://www.pfsense.org/download/ . Elija la arquitectura x86_64 (ya que usamos virtualización).
• Administrador de máquinas virtuales: Unidad Monetaria del Mercado de Valores (Ligero y mejor para el sistema operativo Raspberry Pi)

Guía paso a paso

1. Prepare la Raspberry Pi: Instalar y configurar Raspberry Pi OS, habilitar SSH
• Instalar el sistema operativo Raspberry Pi: https://www.sunfounder.com/blogs/news/raspberry-pi-operative-system-complete-guide-to-versions-features-and-setup
• Habilitar SSH: https://www.sunfounder.com/blogs/news/mastering-remote-control-unlocking-the-power-of-ssh-with-raspberry-pi
2. Configurar la máquina virtual: Abra una terminal y ejecute:
sudo apt update && sudo apt upgrade -y
sudo apt install qemu-system-x86 qemu-utils bridge-utils -y

Necesitamos crear una disco duro virtual para instalar pfSense.
qemu-img create -f qcow2 pfsense.qcow2 8G

Foto 2.png__PID:d6521971-159f-4017-96d0-72e5afc21f12

3. Inicie la máquina virtual con pfSense ISO
Ejecute el siguiente comando para iniciar el instalador de pfSense en QEMU:
sistema qemu-x86_64 \
-m 2048 \
-smp 2 \
-hda pfsense.qcow2 \
-cdrom pfSense-*.iso \
-boot d \
-net nic -net usuario \
-net nic,modelo=virtio -net tap,sinombre=tap0,script=no,downscript=no \ -vga std

Explicación de los parámetros:
-m 2048 → Asigna 2 GB de RAM a pfSense (se ajusta según la memoria disponible).
-smp 2 → Asigna 2 núcleos de CPU para un mejor rendimiento.
-hda pfsense.qcow2 → Utiliza el disco virtual de 8 GB creado anteriormente.
-cdrom pfSense-*.iso → Carga el ISO de pfSense para la instalación.
-boot d → Arranca desde el CD-ROM (para la instalación).
-net nic -net user → Crea una red virtual básica.
-net nic,modelo=virtio
-net tap,ifname=tap0,script=no,downscript=no → Crea un puente de red virtual.

Foto 3.png__PID:9a794727-dfb9-4cd6-9e81-57a124f96ecc

4. Instalar pfSense : guía paso a paso con capturas de pantalla

Foto 4.png__PID:b676e77c-4ea1-4259-bf7f-a5821494e70b

Utilice la configuración predeterminada y seleccione el disco donde instalará pfSense.

Foto 5.png__PID:8cd7945d-db26-4099-bbf8-6f3c0e96b19cFoto 6.png__PID:bc787dbc-5e8e-4050-8d5d-3228d27d7283

5. Ejecute la máquina virtual nuevamente en la terminal.
qemu-system-x86_64 -m 2048 -smp 2 -hda pfsense.qcow2 -boot d -net nic -net usuario -net nic,modelo=virtio -net tap,ifname=tap0,script=no,downscript=no - vga std
6. Una vez que la máquina virtual esté en ejecución: Abra un navegador web en otro dispositivo. Ingrese http://192.168.1.1 (IP LAN predeterminada de pfSense).
Iniciar sesión usando:
1. Nombre de usuario : admin
2. Contraseña: pfsense

Foto 7.png__PID:f853ed53-1827-480c-ac1f-476855384af0

Configuraciones avanzadas

✔ Túnel dividido (enrutamiento selectivo del tráfico)
Permite que solo cierto tráfico pase por la VPN, mientras que el resto usa la conexión a internet normal. Reduce el uso del ancho de banda y mejora la velocidad de las aplicaciones sin VPN.
 VPN WireGuard multiusuario (varios pares)
Permite que varios usuarios (familia, equipo, teletrabajadores) se conecten a la VPN simultáneamente. Ideal para empresas, acceso compartido o múltiples dispositivos.
 DNS dinámico (DDNS) para cambiar direcciones IP públicas
Permite que los clientes VPN se conecten incluso si tu ISP cambia frecuentemente tu IP pública. Imprescindible si no tienes una IP pública estática.
✔ VPN de sitio a sitio (conecta dos redes)
Conecta dos redes diferentes mediante WireGuard VPN (p. ej., casa y oficina). Accede de forma segura a recursos de red remotos (archivos compartidos, impresoras, servidores).
 Ejecución de múltiples VPN
Permite conectarse simultáneamente a varios proveedores de VPN (por ejemplo, uno para el trabajo y otro para uso personal). Resulta útil para separar el tráfico entre diferentes servicios de VPN.
✔ Segmentación de VLAN (VPN segura desde IoT y redes de invitados)
Quizás no quieras que los usuarios de VPN accedan a todos los dispositivos de tu red doméstica. Las VLAN te permiten segregar el tráfico.

Configuración de VPN (WireGuard)

1. Vaya a : Sistema > Administrador de paquetes > Paquetes disponibles.
2. Busque "WireGuard" y luego Haga clic en Instalar.
3. Después de la instalación, vaya a VPN>WireGuard.

Foto 8.png__PID:a99e5579-103c-4edc-b648-75081a244d29

2.1 Crear un túnel WireGuard (servidor VPN)
1. Vaya a : VPN > WireGuard > Túneles.
2. Hacer clic + Añadir Túnel.
3. Configure los siguientes ajustes:
o Activado ✅ (Comprobado)
o Descripción : WireGuard VPN Servidor
 
o Puerto de escucha: 51820 (puerto WireGuard predeterminado)
o Teclas de interfaz: Haga clic en Generar (crea un par de claves privada/pública).
o Dirección del túnel: 192.168.1.23/24 (subred VPN para clientes).
4. Guardar y aplicar cambios.

Foto 9.png__PID:230aff7a-d7f2-4e57-a1c2-98ed38b962d0

2.2 Asignar WireGuard como una interfaz de red
 1. Ir a Interfaces > Asignaciones.
2. Agregue la nueva interfaz WireGuard (wg0).
3. Cámbiele el nombre a WG_VPN y luego Guardar y aplicar cambios.

Foto 10.png__PID:2c242485-681a-4ce1-bfb0-2ee32afc9e18

Configurar un cliente VPN (Peer)
3.1 Agregar un par (cliente remoto)

1. Vaya a : VPN > WireGuard > Pares.
2. Hacer clic + Agregar par.
3. Configure los siguientes ajustes:
o Habilitado ✅
o Descripción : Cliente1 (Portátil, Teléfono, etc.)
o Clave pública : (déjela en blanco por ahora, la generaremos en el cliente más tarde)
o IP permitidas : 192.168.1.100/32 (Asigna una IP estática a este cliente).
o Mantener vivo: 25 (Evita desconexiones de NAT).
4. Guardar y aplicar cambios.

Foto 12.png__PID:197317e5-c709-40d9-b3b5-ed215db5b091

IMPORTANTE: Necesitamos permitir el tráfico VPN a través del firewall de pfSense.

Optimizar el rendimiento de pfSense en Raspberry Pi

Limite el registro para reducir el desgaste de la tarjeta SD
En pfSense, vaya a: Sistema > Avanzado > Varios → Habilitar "Disco RAM para registros"

Reducir el uso de la CPU
Modifique el comando QEMU para reducir la carga: tasket -c 1 qemu-system-x86_64

Limitaciones potenciales
• Cuellos de botella en el rendimiento
• Requisitos de experiencia técnica
• Alternativas a considerar

Conclusión sobre: ​​¿Vale la pena pfSense en Raspberry Pi?

✔ Laboratorios en casa y entornos de aprendizaje.
✔ Configuración básica de firewall y VPN.
✔ Enrutador ligero para redes pequeñas.
incógnita Redes de alta velocidad (>500 Mbps): la red virtualizada de Raspberry Pi limita el rendimiento.
incógnita Uso empresarial: rendimiento limitado en comparación con el hardware pfSense dedicado.

Además, te recomendamos que visites nuestras publicaciones sobre firewalls con Raspberry Pi
 https://www.sunfounder.com/blogs/news/complete-guide-to-setting-up-a-raspberry-pi-as-a-firewall-how-to-configure-ipfire-on-your-lan
 https://www.sunfounder.com/blogs/news/how-to-configure-the-firewall-in-raspberry-pi

Conclusión

Configurar pfSense en una Raspberry Pi mediante una máquina virtual es una excelente manera de explorar funciones avanzadas de seguridad de red con un presupuesto limitado. Si bien no ofrece el rendimiento de un hardware dedicado, es una solución viable para laboratorios domésticos, redes pequeñas y entornos de aprendizaje. A lo largo de esta guía, hemos cubierto los pasos esenciales para la instalación, la optimización del rendimiento y las configuraciones avanzadas como WireGuard VPN. Si bien existen limitaciones como la sobrecarga de virtualización y las limitaciones de hardware, esta configuración ofrece una entrada flexible y asequible a la seguridad de red. Para entornos más exigentes, considerar un dispositivo pfSense dedicado puede ser una mejor opción. En cualquier caso, este proyecto es una valiosa experiencia para cualquiera que busque mejorar sus habilidades de red y experimentar con soluciones de código abierto de vanguardia.

Si está interesado en ampliar aún más sus conocimientos sobre firewalls, consulte nuestras otras guías sobre configuraciones de firewall con Raspberry Pi.

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.

BEST SELLERS

Dyson Inc. Anker Technologies LEGO Brand Retail Fanttik Brand Retail Breo Brand Retail