
pfSense es una distribución de firewall y router open source basada en FreeBSD que ofrece gran flexibilidad para la gestión y seguridad de redes. La configuración a nivel de interfaz gráfica es común, pero el acceso a la línea de comandos (CLI) a través del menú principal del sistema permite realizar operaciones de diagnóstico, configuración avanzada y recuperación del sistema cuando la GUI no está disponible o accesible. Este tipo de configuración es esencial para solucionar problemas, realizar ajustes rápidos o recuperar contraseñas.
Campos principales
El menú CLI principal que se utiliza mediante la consola serie o acceso directo en pfSense presenta múltiples opciones, cada una con funciones específicas:
- 0) Logout (SSH only): Cierra la sesión de la terminal SSH, útil para finalizar accesos remotos.
- 1) Assign Interfaces: Permite al usuario asignar o reasignar interfaces de red, clave para la configuración y corrección de enlaces físicos o virtuales en el firewall.
- 2) Set interface(s) IP address: Configura manualmente direcciones IP en las interfaces, importante para arreglar problemas de conectividad directa.
- 3) Reset webConfigurator password: Opción crítica para restaurar el acceso administrativo cuando se pierde la contraseña del entorno web de pfSense.
- 4) Reset to factory defaults: Restaura la configuración a la fábrica, limpiando personalizaciones y reglas.
- 5) Reboot system: Reinicia el dispositivo, necesario tras cambios o para liberar recursos en caso de fallos.
- 6) Halt system: Apaga de forma segura el sistema operativo, usada para mantenimiento hardware sin riesgo de corrupción.
- 7) Ping host: Utilidad para verificar la conectividad externa desde la consola, diagnóstico básico de red.
- 8) Shell: Acceso completo a la línea de comandos FreeBSD, para comandos avanzados y manipulación directa del sistema.
- 9) pfTop: Monitor en tiempo real de las reglas de firewall y tráfico de paquetes, similar a top pero orientado a pf.
- 10) Filter Logs: Visualización de logs filtrados del firewall para análisis de eventos y detección de intrusiones.
- 11) Restart webConfigurator: Reinicia el servicio web sin afectar al sistema completo, útil para resolver errores web sin reinicio total.
- 12) PHP shell + pfSense tools: Ejecuta comandos administrativos y scripts específicos de pfSense mediante PHP, para tareas de automatización y recuperación.
- 13) Update from console: Realiza la actualización del firmware desde la consola en caso de que la GUI no funcione.
- 14) Disable Secure Shell (sshd): Desactiva temporalmente el servicio SSH, útil para mitigar ataques y mantenimiento seguro.
- 15) Restore recent configuration: Restaura una configuración reciente guardada, permite volver a un estado funcional tras errores.
- 16) Restart PHP-FPM: Reinicia el servicio PHP-FPM, usado para mejorar rendimiento del webConfigurator, ayuda a resolver problemas de respuesta web.
Compatibilidad de versiones y modelos
Este menú CLI es estándar en todas las versiones modernas de pfSense, especialmente desde la rama 2.4.x en adelante, extendiéndose hasta las versiones actuales bajo FreeBSD 12 o 13. El menú está diseñado para sistemas que utilicen hardware estándar o appliances dedicados pfSense, incluyendo Netgate y otras plataformas compatibles con FreeBSD.
No existen grandes limitaciones a nivel de hardware dentro de los appliances típicos, sin embargo, en instalaciones virtualizadas o con hardware menos común podrían surgir limitaciones en el reconocimiento de interfaces al usar la opción de asignación. Además, algunos comandos como «Update from console» requieren conectividad activa y estable al repositorio pfSense.
Escenarios de uso y recomendaciones
El menú CLI de pfSense es especialmente útil cuando la interfaz web no está accesible por problemas de contraseña, congestión de recursos o fallos críticos del sistema. En entornos donde se pierde la contraseña, es posible resetear la clave sin reinstalar todo el sistema, lo que ahorra tiempo y evita interrupciones prolongadas.
En situaciones de emergencia o mantenimiento, reasignar interfaces o cambiar IP vía consola garantiza restaurar conexión para evitar desconexiones no deseadas en redes productivas. Además, analizar logs o reiniciar servicios desde el CLI evita reinicios completos que pueden afectar disponibilidad.
El uso consciente y controlado del menú, en especial opciones como el reset a valores de fábrica, permite mantener alineamientos operativos estrictos. Sin embargo, el mal uso puede provocar pérdida de configuración o exponer temporalmente el sistema durante estos procesos, por lo que se recomienda documentar y validar todas las acciones realizadas.
Comandos de CLI útiles para diagnóstico
Dentro del shell (opción 8), pfSense permite ejecutar comandos FreeBSD y herramientas específicas. Algunos comandos frecuentes para diagnóstico incluyen:
ifconfig -a: Muestra todas las interfaces de red y sus configuraciones actuales.ping [IP/host]: Diagnóstico de conectividad básica hacia hosts externos o internos.tcpdump -i [interface]: Captura paquetes que pasan por una interfaz específica, esencial para análisis forense de tráfico.pfctl -sr: Lista las reglas de filtro y firewall activas.pfctl -vvsr: Presenta un reporte describiendo los contadores, estados y reglas incluso más detallado.top: Muestra procesos en ejecución para identificar consumos elevados de CPU o memoria.cat /var/log/filter.log: Lectura directa de logs de firewall para detección rápida de eventos.pkg info: Verifica paquetes instalados y versiones, útil para auditoría del entorno.
Buenas prácticas de configuración
Utilizar el menú CLI de pfSense debe hacerse con cuidadosa planificación para evitar pérdida de configuraciones críticas. Se recomienda realizar respaldos frecuentes mediante la GUI o línea de comandos antes de realizar cambios importantes.
Las opciones de restablecimiento y restauración deben emplearse solo cuando haya certeza de los efectos secundarios y preferiblemente en ventanas de mantenimiento. Controlar el acceso al dispositivo es fundamental para evitar que usuarios no autorizados accedan al menú de consola y ejecuten comandos críticos.
Finalmente, aprovechar herramientas de diagnóstico disponibles en el shell ayuda a entender el estado real del firewall, facilitando intervenciones rápidas y efectivas para mantener la red protegida y disponible con pfSense.