ZFW es un firewall del host desarrollado por la comunidad para ZimaOS, no una función integrada de IceWhale. Se instala como una extensión del sistema a nivel del host, aparece como un mosaico en el panel y trata de resolver una carencia real de ZimaOS: los servicios nativos y los puertos publicados por Docker pueden ser accesibles desde la red local, salvo que otro firewall o un dispositivo de red ascendente los restrinja.
La publicación original comenzaba con ZFW v1.0.10, pero esa versión ya no es la referencia adecuada para una instalación actual. ZFW siguió cambiando rápidamente a medida que cambiaba el propio ZimaOS. La versión ascendente actual es la v1.0.25, y el proyecto ya ha corregido problemas de compatibilidad relacionados con el nf_tables backend, los cambios de tokens de sesión de ZimaOS 1.7.x, la exposición de Docker mediante IPv6 y el tráfico de Zima Net en tun0.
ZFW es software comunitario, no un firewall de IceWhale
Lintux desarrolló y mantiene ZFW de forma independiente. El hilo original contiene pruebas comunitarias sólidas, incluidos usuarios que confirmaron la persistencia de las reglas, los puertos bloqueados, el comportamiento de reversión y posteriores correcciones de compatibilidad, pero ningún anuncio de IceWhale convierte ZFW en un firewall oficial de ZimaOS.
Esta distinción importa porque ZFW manipula directamente la pila de red del host. Una regla incorrecta o incompatible puede bloquear SSH, la interfaz web, las aplicaciones de Docker o el acceso remoto.
ZFW separa los servicios del host de los puertos publicados por Docker
La arquitectura de ZFW reconoce que el tráfico de Docker es distinto del tráfico INPUT normal del host:
- los servicios nativos de ZimaOS o del host se controlan mediante reglas similares a INPUT;
- Los puertos publicados por Docker se filtran mediante
DOCKER-USER; - IPv6 tiene sus propias cadenas y comportamiento correspondientes.
Esto es más preciso que un tutorial de firewall que comprueba solo INPUT y supone que Docker sigue la misma ruta.
La aplicación segura es la función de seguridad más importante
El código fuente introdujo una reversión de emergencia de 120 segundos. Al aplicar un conjunto de reglas, el usuario debe confirmarlo antes de que expire el temporizador. Si las reglas bloquean accidentalmente al usuario, el firewall revierte los cambios automáticamente.
Esto es especialmente valioso en un NAS sin interfaz gráfica, porque un error del firewall podría convertirse en la necesidad de conectar un monitor y un teclado localmente para recuperar el acceso.
El hilo puso de manifiesto una brecha real de permiso predeterminado para el terminal de ZimaOS
Un usuario informó que ZFW bloqueaba el puerto TCP 7681, el puerto predeterminado del terminal ttyd. Lintux explicó que la lista blanca inicial incluía puertos como SSH, HTTP/HTTPS, SMB y varios servicios de ZimaOS, pero no el 7681.
Este es un recordatorio útil: antes de habilitar una política de denegación predeterminada, haz un inventario de los servicios de los que realmente dependes. Un firewall puede funcionar correctamente y aun así bloquear un servicio que el perfil predeterminado omitió.
ZimaOS 1.6.2 cambió el backend de iptables
Una de las actualizaciones más importantes del hilo original llegó después de que ZimaOS 1.6.2 cambiara la ruta efectiva de iptables de Docker a nf_tables backend. Las versiones antiguas de ZFW podían escribir las reglas en la tabla heredada no utilizada mientras el indicador siguiera mostrando un estado normal.
Las versiones posteriores añadieron detección del backend y validaciones adicionales de las reglas de Docker. Por eso las instrucciones antiguas de instalación de ZFW nunca deberían fijarse como un procedimiento permanente.
El hilo detectó y corrigió una condición real de apertura por error de Docker
Durante las pruebas de la v1.0.16, un usuario descubrió que DOCKER-USER podía terminar en un RETURN simple sin las reglas de denegación predeterminada esperadas. Lintux confirmó que se trataba de una ruta real e inesperada de apertura por error y cambió la lógica del inventario de puertos.
Más tarde, el mismo usuario reinstaló la v1.0.19, volvió a aplicar el firewall y comprobó que estaban presentes las reglas esperadas para cada puerto y la gestión de UDP.
IPv6 requirió varias rondas de correcciones en situaciones reales
El hilo original documenta casos en los que la protección IPv6 estaba activa, pero se informaba de forma incorrecta, y otros en los que los puertos IPv6 publicados por Docker se bloqueaban inesperadamente. No eran preocupaciones teóricas; los usuarios publicaron la salida de las cadenas en vivo y el mantenedor reprodujo y solucionó rutas específicas.
En una conexión doméstica compatible con IPv6, prueba el acceso desde una red IPv6 externa real en lugar de asumir que una prueba desde la LAN mediante IPv4 demuestra la misma política.
ZFW también tuvo que adaptarse al acceso remoto de Zima Net
Una versión posterior del repositorio oficial detectó que el tráfico de acceso remoto de Zima Net integrado en ZimaOS, en tun0 podría ser descartado por versiones antiguas de ZFW. ZFW v1.0.24 añadió la gestión de omisión necesaria en todas las cadenas pertinentes.
Esta es otra razón para actualizar ZimaOS y ZFW conjuntamente y verificar el acceso remoto después de actualizar el firewall.
Usa la versión actual de ZFW, no la v1.0.10
A fecha de septiembre de 2026, la versión más reciente de ZFW que figura en el repositorio oficial es la v1.0.25. Revisa las versiones actuales de ZFW y el historial de compatibilidad antes de instalar o actualizar.
Verifica el firewall activo, no solo el indicador verde del panel
Después de habilitar ZFW, prueba:
- SSH y la interfaz web desde la LAN;
- el terminal de ZimaOS;
- puertos importantes publicados por Docker;
- Tailscale/ZeroTier/Zima Net si se utilizan;
- IPv6 desde fuera de la LAN cuando corresponda;
- persistencia tras reinicios.
El historial del código fuente muestra por qué una interfaz de usuario con aspecto normal no debería ser la única prueba de que las reglas llegaron al backend activo.
Preguntas frecuentes sobre ZFW
¿Es ZFW un firewall oficial de IceWhale?
No. Es un módulo comunitario de firewall del host que se integra profundamente con ZimaOS.
¿Los usuarios actuales deberían instalar la v1.0.10 de la publicación original?
No. El proyecto ha recibido muchas correcciones de compatibilidad y seguridad desde esa versión.
¿Por qué ZFW usa DOCKER-USER?
El tráfico publicado por Docker puede eludir el filtrado INPUT habitual del host, por lo que ZFW utiliza la ruta de filtrado específica de Docker para los puertos de los contenedores.
