
新发布Aug 6, 2026
easywall v2.4.1
Linux 上 nftables 防火墙的 Web 界面,使用 Go 编写。除非您确认,否则应用更改会在 120 秒后自动撤销——您不会将自己锁在外面。支持 Debian 与 Docker 安装。
easywall
你的防火墙。你的规则。没有意外。
通过一个不会将你锁在门外的 Web 界面管理 nftables:每次应用都会自行恢复,除非你确认它。
设计思路
编辑规则不会改变任何东西。应用规则则改变一切——持续 120 秒。如果新规则切断了你的连接,你将无法点击确认,而不确认正是让旧规则恢复的原因。
架构
两个进程。暴露在网络上的那个进程不持有值得窃取的权限。
这是对原始 easywall 的完全重写——基于 Python、Flask、通过 subprocess 调用 iptables——该原项目在 2022 年因一个 CVE 而归档。两个根本原因都已消除:特权位于不同的进程中,应用路径构建 Go 结构体而不是命令行。工作原理 →
安装
# 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
然后打开 https://localhost:12227。首次访问会设置账户并暂存首批规则。
功能概览
| 端口 | TCP 和 UDP,支持单个或范围,带每规则 SSH 暴力破解路由 |
| 黑名单与白名单 | IPv4、IPv6 和 CIDR,在任何端口规则之前评估 |
| 防护模块 | 共十二个,默认启用五个——洪水、扫描、bogon、分片、广播/组播/任播 |
| 端口转发 | NAT 重定向,支持协议选择 |
| 自定义规则 | 原始 nftables,在应用之前进行语法检查 |
| 导出 / 导入 | 整个规则集以 JSON 形式导出/导入 |
| 审计日志 | 记录了什么发生了变化以及何时变化,每行一个 JSON 对象 |
| 与 Docker 共存 | 独占 table inet easywall,不触碰其他任何东西 |
| 英语与德语 | 可在界面中切换,包括登录前 |
| 浅色与深色 | 跟随操作系统,可手动切换;两者都经过对比度检查 |
技术栈
| Go 1.26,单一二进制 | go-chi/chi · html/template |
通过 google/nftables 使用 nftables | 直接使用 netlink,无 nft 子进程 |
| Argon2id | golang.org/x/crypto,每个密码 16 字节盐 |
| CSRF | net/http.CrossOriginProtection,Go 1.25 原生支持 |
| 设计系统 | DESIGN.md + Tailwind v4 — 无第三方 UI 库 |
| 字体 | Inter + JetBrains Mono,自托管,约 145 KB — 可在离线环境使用 |
| CI | govulncheck、gosec、CodeQL、-race,以及针对真实内核的集成测试套件 |
路线图
正确性优先:一个默默少做了事的防火墙,比一个做得少但会说明的防火墙更糟。
| 2.6 | 断言实际效果而非规则数量的集成测试 |
| 2.7 | 身份体系 — 在套接字协议中引入用户,然后是登录事件,再是多账户,最后是 2FA |
| 2.8 | 带令牌认证的 REST API,ACME 作为可选项,可选择加入受信任的反向代理 |
| 2.9 | 可选择的安装数量统计 |
为什么每项功能会按此顺序推出,以及该统计会发送什么内容:路线图 →
获取帮助
| 有疑问,或某些行为不符合预期 | Discord |
| 遇到 bug,或想要某个功能 | GitHub issues |
| 安全漏洞 | 安全公告 — 不是通过 Discord,也不是公开 issue |
贡献
环境搭建、提交约定和审查清单:CONTRIBUTING.md。任何视觉相关的内容都先经过 DESIGN.md。
安全问题:不要以公开 issue 提交 — 请使用 GitHub Security Advisories。
许可证
GPL-3.0 — 参见 LICENSE。