Volver a actualizaciones
Nuevo releaseAug 6, 2026

easywall v2.4.1

Interfaz web para el cortafuegos nftables en Linux, escrita en Go. Los cambios aplicados se revierten automáticamente después de 120 segundos a menos que los confirmes — es imposible quedarse sin acceso. Instalación para Debian y Docker.

Compartir

easywall

Tu cortafuegos. Tus reglas. Sin sorpresas.

Tests Build Security Coverage

Latest release Go version GPL-3.0 Discord Support on Ko-fi

Demo en vivo · Documentación · Registro de cambios

nftables a través de una interfaz web que no puede dejarte fuera: cada aplicación se revierte automáticamente salvo que la confirmes.

El panel de easywall: estado del cortafuegos con estado de aceptación, cambios pendientes y última aplicación; mosaicos que cuentan puertos TCP, puertos UDP, lista negra, lista blanca, reglas personalizadas y reenvío; y una lista de actividad reciente.

La idea

Editar una regla no cambia nada. Aplicarla lo cambia todo — durante 120 segundos. Si las nuevas reglas cortan tu conexión, no puedes hacer clic en Confirmar, y no confirmar es lo que restaura las reglas anteriores.

Máquina de estados: editar lleva a Staged, aplicar lleva a Live, confirmar dentro de la ventana lleva a Confirmed, y dejar que la ventana expire lleva a Rolled back, desde donde las ediciones en etapas siguen disponibles.

Arquitectura

Dos procesos. El que está expuesto a la red no tiene ningún privilegio que valga la pena robar.

El navegador habla HTTPS con easywall-web, que se ejecuta sin privilegios; easywall-web habla JSON tipado a través de un socket Unix con easywall-core, que se ejecuta como root y habla netlink con la tabla inet easywall de nftables.

Una reescritura completa del easywall original — Python, Flask, iptables mediante subprocesos — que se archivó en 2022 después de una CVE. Ambas causas raíz han desaparecido: los privilegios viven en un proceso distinto, y la ruta de aplicación construye estructuras de Go en lugar de una línea de comandos. Cómo funciona →

Instalación

Árbol de decisión: solo mirar lleva al modo demo; Debian o Ubuntu lleva al paquete .deb; contenedores ya en ejecución lleva a Docker; de lo contrario, compilar desde el código fuente.
# Debian / Ubuntu — amd64 and arm64
ARCH=$(dpkg --print-architecture)
wget https://github.com/jp1337/easywall/releases/latest/download/easywall_$ARCH.deb
sudo dpkg -i easywall_$ARCH.deb && sudo apt-get install -f

# Docker
git clone https://github.com/jp1337/easywall.git && cd easywall && docker compose up -d

# From source — Go 1.26+, nftables
git clone https://github.com/jp1337/easywall.git && cd easywall
make build && sudo make install
sudo systemctl enable --now easywall-core easywall-web

Luego abre https://localhost:12227. La primera visita configura la cuenta y prepara las primeras reglas.

Qué obtienes

PuertosTCP y UDP, individuales o por rango, con enrutamiento de fuerza bruta SSH por regla
Lista negra y lista blancaIPv4, IPv6 y CIDR, evaluadas antes que cualquier regla de puertos
Módulos de protecciónDoce, cinco activados por defecto: inundaciones, escaneos, bogons, fragmentos, broadcast/multicast/anycast
Reenvío de puertosRedirecciones NAT con selección de protocolo
Reglas personalizadasnftables puro, con verificación de sintaxis antes de aplicarse
Exportar / importarTodo el conjunto de reglas como JSON
Registro de auditoríaQué cambió y cuándo, un objeto JSON por línea
Coexistencia con DockerPosee table inet easywall, no toca nada más
Inglés y alemánSe puede cambiar en la interfaz, incluso antes de iniciar sesión
Claro y oscuroSigue al sistema operativo, con un interruptor manual; ambos con contraste verificado

Construido con

Go 1.26, binario únicogo-chi/chi · html/template
nftables mediante google/nftablesnetlink directo, sin subproceso nft
Argon2idgolang.org/x/crypto, sal de 16 bytes por contraseña
CSRFnet/http.CrossOriginProtection, nativo de Go 1.25
Sistema de diseñoDESIGN.md + Tailwind v4 — sin biblioteca de interfaz de terceros
TipografíasInter + JetBrains Mono, autoalojadas, ~145 KB — funciona en redes aisladas
CIgovulncheck, gosec, CodeQL, -race, y una suite de integración contra un kernel real

Hoja de ruta

Lo primero es la corrección: un cortafuegos que silenciosamente hace menos de lo que dice es peor que uno que hace menos y lo dice.

2.6Pruebas de integración que verifican el significado, no la cantidad de reglas
2.7Identidad: un usuario en el protocolo de socket, luego eventos de inicio de sesión, luego múltiples cuentas, luego 2FA
2.8Una API REST con autenticación por token, ACME como opción, proxy inverso de confianza opt-in
2.9Un contador opt-in de instalaciones

Por qué cada una llega cuando llega, y qué enviaría el contador: Hoja de ruta →

Obtener ayuda

Una pregunta, o algo que no se comporta correctamenteDiscord
Un error, o una función que deseasGitHub issues
Una vulnerabilidad de seguridadAviso de seguridadno Discord, ni un issue público

Contribuciones

Configuración, convenciones de commits y la lista de verificación de revisión: CONTRIBUTING.md. Cualquier cosa visual pasa primero por DESIGN.md.

Problemas de seguridad: no como issue público — usa GitHub Security Advisories.

Licencia

GPL-3.0 — consulta LICENSE.

Categorías