¿Cansado de ver anuncios en todos tus dispositivos? ¿Preocupado por malware, trackers y amenazas que acechan en internet? pfBlockerNG convierte tu firewall pfSense en un guardian de red nivel empresarial que bloquea amenazas antes de que lleguen a cualquier dispositivo de tu casa u oficina.
En esta guía completa aprenderás a instalar, configurar y dominar pfBlockerNG paso a paso. Desde el bloqueo básico de anuncios hasta técnicas avanzadas de GeoIP blocking, listas personalizadas y troubleshooting. Todo con ejemplos reales y valores específicos que puedes copiar y pegar.
¿Qué es pfBlockerNG y por qué lo necesitas?
pfBlockerNG es un paquete para pfSense que actúa como tu primera línea de defensa contra amenazas online. A diferencia de los ad-blockers de navegador que solo protegen un dispositivo, pfBlockerNG protege toda tu red desde el firewall.
Capacidades principales:
- DNSBL (DNS-based Blacklist): Bloquea dominios maliciosos, trackers y publicidad a nivel DNS
- IP Blocking: Bloquea rangos de IPs asociados con malware, botnets y ataques
- GeoIP Blocking: Bloquea países completos (útil para bloquear tráfico de zonas con alta actividad de ataques)
- Listas personalizadas: Crea tus propias reglas de bloqueo/permitir
- Logs detallados: Monitoriza qué se está bloqueando y por qué
Ventajas sobre otros métodos:
- ✅ Protección a nivel de red (todos los dispositivos protegidos automáticamente)
- ✅ No requiere instalar nada en cada dispositivo
- ✅ Funciona con Smart TVs, IoT, tablets, móviles
- ✅ Bloquea amenazas antes de que descarguen datos
- ✅ Gratis y open source
1. Instalación de pfBlockerNG
Requisitos previos:
- pfSense instalado y funcionando (cualquier versión moderna)
- Acceso a la interfaz web de administración
- Mínimo 2GB RAM recomendado (pfBlockerNG consume memoria para las listas)
- Conexión a internet para descargar listas
Pasos de instalación:
- Accede a tu interfaz web de pfSense (normalmente
https://192.168.1.1
o similar) - Ve a System → Package Manager → Available Packages
- Busca «pfblockerng» en el cuadro de búsqueda
- Selecciona «pfBlockerNG-devel» (versión recomendada por sus mejoras constantes y mejor soporte)
- Haz clic en + Install y confirma en la siguiente pantalla
- Espera 2-5 minutos mientras se descarga e instala el paquete
Nota importante: Usa pfBlockerNG-devel en lugar de pfBlockerNG (legacy), ya que la versión devel tiene mejor rendimiento, más características y recibe actualizaciones activas.
2. Configuración Inicial con el Wizard
Una vez instalado, pfBlockerNG te guiará con un wizard de configuración. Aquí te explico cada paso con valores recomendados:
- Ve a Firewall → pfBlockerNG (aparecerá en el menú después de instalar)
- Si es la primera vez, verás el Setup Wizard. Haz clic en Next
Configuración de Interfaces
- Inbound Firewall Interface: Selecciona tu interfaz WAN (por donde entra el tráfico de internet)
- Outbound Firewall Interface: Selecciona LAN (o todas tus interfaces internas si tienes varias)
- Floating Rules: Déjalo en disabled por ahora (para configuración básica)
Configuración de DNSBL (Blocker de dominios)
Esta es la parte más importante. Aquí configuras cómo pfBlockerNG bloqueará dominios maliciosos:
- DNSBL Virtual IP: Asigna una IP que NO esté en uso en tu red. Ejemplo:
10.10.10.1
(asegúrate de que no existe ningún dispositivo con esa IP) - DNSBL Listening Port: Deja el puerto por defecto
8081
- DNSBL SSL Listening Port: Deja
8443
- Enable IPv6: Activa si tu red usa IPv6
- DNSBL Whitelist: Activa para poder hacer excepciones después
Haz clic en Finish. pfBlockerNG descargará automáticamente listas básicas de bloqueo y comenzará a funcionar.
3. Configuración de DNS Resolver (Unbound)
Para que pfBlockerNG funcione correctamente, necesitas configurar el DNS Resolver de pfSense:
- Ve a Services → DNS Resolver
- Asegúrate de que Enable esté marcado
- En Network Interfaces, selecciona solo tus interfaces LAN (no WAN)
- En Outgoing Network Interfaces, selecciona WAN
- Activa Query Logging para debug (opcional, pero útil al principio)
- En Advanced Settings, asegúrate de tener:
Harden DNSSEC data: ✓
- Guarda y aplica cambios
Importante: Asegúrate de que tus clientes DHCP usen pfSense como servidor DNS (debería estar configurado por defecto en Services → DHCP Server).
4. Configuración Avanzada de DNSBL
Ahora vamos a configurar DNSBL en detalle para máxima efectividad:
- Ve a Firewall → pfBlockerNG → DNSBL
- En la pestaña DNSBL, configura:
- Enable DNSBL: ✓ (activado)
- DNSBL Mode: Selecciona Unbound python mode (usa menos memoria y es más rápido)
- DNSBL Blocking: ✓ (activado)
- Wildcard Blocking TLD: ✓ (bloquea subdominios automáticamente)
- HSTS Mode: ✓ (fuerza HTTPS en la página de bloqueo)
- CNAME Validation: ✓ (bloquea dominios que redirigen a otros bloqueados)
- DNS Reply Logging: ✓ (útil para troubleshooting)
Haz clic en Save DNSBL Settings.
Añadir Listas de Bloqueo de Dominios
Ahora añadimos listas de dominios a bloquear. pfBlockerNG usa feeds públicos actualizados constantemente:
- En la misma página, ve a la pestaña DNSBL Feeds
- Haz clic en + Add para añadir una lista
- Configura cada feed con:
Ejemplo de configuración para EasyList (bloqueo de ads):
- Name:
EasyList_Ads
- State: ON
- Action: Unbound
- Logging: Enable
- Update Frequency: Once a day
- Source: Selecciona EasyList de la lista predefinida
Listas recomendadas para añadir:
- EasyList – Bloqueo general de publicidad
- EasyPrivacy – Bloqueo de trackers
- Steven Black – Lista completa (ads + malware + trackers)
- Cameleon – Ads y analytics
- Malware Domain List – Dominios maliciosos conocidos
Cada una añádela como un feed separado siguiendo la configuración del ejemplo anterior.
Una vez añadidas todas las listas, haz clic en Save y luego en Update (botón arriba) para descargar todas las listas.
5. Bloqueo de IPs (IPv4/IPv6)
Además de bloquear dominios, pfBlockerNG puede bloquear rangos de IPs asociadas con amenazas:
- Ve a Firewall → pfBlockerNG → IP
- Selecciona la pestaña IPv4
- Haz clic en + Add para crear una lista nueva
Configuración recomendada para bloquear IPs maliciosas:
- Name:
Firehol_Level1
- State: ON
- Action: Deny Both (bloquea tráfico entrante y saliente)
- Update Frequency: Once a day
- Source: Añade la URL:
https://iplists.firehol.org/files/firehol_level1.netset
Otras listas recomendadas:
- Spamhaus DROP:
https://www.spamhaus.org/drop/drop.txt
- EmergingThreats:
https://rules.emergingthreats.net/fwrules/emerging-Block-IPs.txt
- Talos IP Blacklist:
https://www.talosintelligence.com/documents/ip-blacklist
Guarda y haz clic en Update para descargar todas las listas de IPs.
6. GeoIP Blocking (Bloquear países enteros)
Si tu negocio o uso personal no requiere conexiones desde ciertos países, GeoIP Blocking es extremadamente efectivo:
- Regístrate en MaxMind (gratis) para obtener una clave de GeoLite2: https://www.maxmind.com/en/geolite2/signup
- Copia tu License Key
- En pfSense, ve a Firewall → pfBlockerNG → Settings
- Pega tu clave MaxMind en MaxMind License Key
- Guarda
Ahora configura el bloqueo:
- Ve a Firewall → pfBlockerNG → IP → GeoIP
- Haz clic en + Add
- Selecciona los países que quieres bloquear (ej: CN, RU, KP para China, Rusia, Corea del Norte)
- Action: Deny Inbound (bloquea conexiones entrantes desde esos países)
- Guarda y actualiza
Consejo: No bloquees países de donde esperas tráfico legítimo (ej: si usas servicios cloud de esos países).
7. Listas de Permisos (Whitelist)
Inevitablemente, algún servicio legítimo será bloqueado. Aquí es donde usas la whitelist:
Whitelist de Dominios:
- Ve a Firewall → pfBlockerNG → DNSBL
- En la pestaña DNSBL Whitelist, añade dominios que NO quieres bloquear nunca
- Ejemplo:
microsoft.com
,apple.com
,netflix.com
- Guarda
Whitelist de IPs:
- Ve a Firewall → Aliases
- Crea un alias llamado
pfB_Whitelist
- Añade las IPs o rangos que nunca deben ser bloqueados
- Guarda
8. Monitorización y Logs
Para ver qué está bloqueando pfBlockerNG:
- Ve a Firewall → pfBlockerNG → Reports
- Aquí verás:
- DNSBL: Dominios bloqueados por consultas DNS
- IP Block: IPs bloqueadas por reglas de firewall
- GeoIP: Conexiones bloqueadas por país
Cómo interpretar los logs:
- Si ves muchos bloqueos de un dominio legítimo → añádelo a whitelist
- Si ves intentos repetidos desde una IP → está funcionando correctamente
- Revisa logs regularmente las primeras semanas para afinar las reglas
9. Troubleshooting: Problemas Comunes
Problema 1: «No puedo acceder a [sitio web]»
Causa: El dominio está en una lista de bloqueo.
Solución:
- Ve a Firewall → pfBlockerNG → Reports → DNSBL
- Busca el dominio en los logs
- Haz clic en el icono + al lado del dominio para añadirlo a whitelist automáticamente
- Alternativamente, añádelo manualmente en DNSBL Whitelist
Problema 2: «pfBlockerNG no está bloqueando nada»
Diagnóstico:
- Verifica que DNS Resolver esté activo: Status → Services
- Confirma que los clientes usan pfSense como DNS:
nslookup google.com
debe mostrar la IP de pfSense - Verifica que las listas se descargaron: Firewall → pfBlockerNG → Update (no debe haber errores en rojo)
- Revisa logs: Status → System Logs → System (busca errores de pfBlockerNG)
Problema 3: «Error de memoria / Tabla llena»
Causa: Las listas de IPs son muy grandes para la memoria asignada.
Solución:
- Ve a System → Advanced → Firewall & NAT
- Aumenta Firewall Maximum Table Entries a
4000000
(4 millones) - Guarda y reinicia el firewall
Problema 4: «Conexiones intermitentes / lentitud»
Causa: DNS está sobrecargado o hay demasiadas reglas.
Solución:
- Reduce el número de listas activas (empieza con 3-5 esenciales)
- Usa Unbound python mode en lugar de otros modos (más eficiente)
- Aumenta RAM si es posible (pfBlockerNG beneficia de más memoria)
- Deshabilita DNS Reply Logging si ya no lo necesitas
10. Optimización y Mantenimiento
Automatización de actualizaciones:
- Ve a Firewall → pfBlockerNG → Update
- Configura Cron Update para actualizar listas automáticamente (recomendado: diariamente a las 3am)
- Activa Update Notification para recibir alertas si falla
Service Watchdog (auto-restart en caso de fallo):
- Ve a Services → Service Watchdog
- Añade pfBlockerNG a la lista de servicios monitorizados
- Guarda
Backup de configuración:
Antes de cambios importantes, siempre haz backup:
- Diagnostics → Backup & Restore
- Descarga el archivo
config.xml
- Guárdalo en un lugar seguro
11. Casos de Uso Reales
Escenario 1: Hogar con niños
- Activa listas de bloqueo de contenido adulto
- Bloquea trackers y ads para proteger privacidad
- Usa whitelist para sitios educativos específicos
Escenario 2: Oficina pequeña
- Bloquea países de donde no esperas tráfico (reduce ataques)
- Usa listas de malware e IPs maliciosas
- Monitoriza logs para detectar comportamiento sospechoso de dispositivos internos
Escenario 3: Homelab / servidor casero
- GeoIP blocking agresivo (solo tu país + servicios cloud específicos)
- Listas de IPs de ataques SSH/RDP
- Combina con fail2ban para bloqueo dinámico
12. Integración con Otros Servicios
pfBlockerNG + Suricata/Snort:
Para protección máxima, combina pfBlockerNG (bloqueo preventivo) con Suricata (detección de intrusiones):
- pfBlockerNG bloquea amenazas conocidas antes de que lleguen
- Suricata detecta comportamientos sospechosos que pasan el primer filtro
Notificaciones con n8n:
Puedes integrar pfBlockerNG con n8n para recibir alertas en Telegram/Discord cuando se bloqueen amenazas importantes. Consulta nuestra Guía Completa de n8n para configurar workflows de monitorización.
Preguntas Frecuentes (FAQ)
¿pfBlockerNG ralentiza mi conexión a internet?
No notablemente. El bloqueo DNS añade menos de 1-2ms de latencia. Si tienes suficiente RAM (2GB+) y usas Unbound python mode, el impacto es imperceptible.
¿Puedo usar pfBlockerNG y Pi-hole al mismo tiempo?
No es recomendable. Ambos hacen lo mismo (bloqueo DNS) y tendrías dos puntos de fallo. Elige uno: pfBlockerNG si ya tienes pfSense, Pi-hole si quieres algo standalone más simple.
¿Cómo desbloqueo un sitio rápidamente?
Desde cualquier dispositivo de tu red, ve a http://10.10.10.1:8081
(o tu VIP configurada). Verás la página de bloqueo con opciones para añadir a whitelist temporalmente.
¿Las listas de bloqueo se actualizan automáticamente?
Sí, si configuraste la frecuencia de actualización en cada feed (recomendado: una vez al día). Puedes forzar actualización manual en Firewall → pfBlockerNG → Update.
¿Qué pasa si bloqueo algo importante por error?
pfSense guarda backups automáticos de configuración. Ve a Diagnostics → Backup & Restore → Config History y restaura una versión anterior. Alternativamente, simplemente deshabilita la lista problemática y guarda.
¿Cuánta RAM necesita pfBlockerNG?
Mínimo 1GB, recomendado 2GB+. Con 4GB puedes usar todas las listas sin problemas. El consumo depende del número de entradas en tus listas (millones de dominios/IPs).
¿Funciona con dispositivos móviles fuera de casa?
Sí, si configuras una VPN (WireGuard o OpenVPN) para conectarte a tu red desde fuera. Así tus dispositivos móviles usarán el DNS de pfSense y estarán protegidos. Consulta nuestra guía de WireGuard con pfSense.
¿Puedo ver estadísticas de cuánto está bloqueando?
Sí, en Firewall → pfBlockerNG → Reports verás gráficos y tablas con:
- Top dominios bloqueados
- Top IPs bloqueadas
- Bloqueos por país
- Evolución temporal de bloqueos
Conclusión
pfBlockerNG transforma tu pfSense en una fortaleza digital que bloquea amenazas antes de que lleguen a tu red. Con esta guía has aprendido desde la instalación básica hasta configuraciones avanzadas de GeoIP blocking, troubleshooting y optimización.
Próximos pasos recomendados:
- Monitoriza logs durante la primera semana para ajustar whitelists
- Activa Service Watchdog para auto-restart en caso de fallo
- Considera combinar con Suricata para protección IDS/IPS completa
- Configura VPN para proteger dispositivos móviles fuera de casa
Artículos relacionados que te pueden interesar:
- VPN fácil y rápida con WireGuard y pfSense
- Guía Básica de pfSense: Desde el Hardware hasta la Configuración Inicial
- Automatización con n8n: 20 Workflows Listos para Usar
- Home Assistant: Automatiza tu Casa desde Cero
¿Te ha resultado útil esta guía? ¡Compártela y ayuda a otros a proteger sus redes! Si tienes dudas o quieres compartir tu experiencia con pfBlockerNG, déjanos un comentario.