ServerBox 如何配置和管理服务器防火墙规则
支持的防火墙后端
ServerBox 的防火墙管理功能(v1.0.1765 引入)支持两种常见的 Linux 防火墙工具:
| 后端 | 发行版 | 说明 |
|---|---|---|
| ufw | Ubuntu / Debian 系列 | 简单易用,最推荐新手 |
| firewalld | CentOS / RHEL / Fedora 系列 | 功能更强,支持区域和服务 |
服务器上用哪个,ServerBox 会自动检测并适配——它通过 SSH 执行 ufw status 或 firewall-cmd --list-all 来读取规则。
防火墙面板展示
面板列出所有活跃的防火墙规则:
- ufw:显示规则号、方向(incoming/outgoing)、来源、目标、动作(allow/deny/reject)
- firewalld:显示当前区域、开放端口、服务、富规则
添加新规则
ufw 风格
- 防火墙面板 → 添加规则
- 填写:端口号 / 协议(TCP/UDP/全部)/ 来源 IP(可选,默认任何)/ 动作(允许/拒绝)
- 应用后 ServerBox 执行
ufw allow 22/tcp from 192.168.1.0/24之类的命令
firewalld 风格
- 选择目标区域(public / internal / trusted 等)
- 添加服务(http、https、ssh...)或添加自定义端口
- 选择是永久生效还是当前会话
重要安全检查
ServerBox 在修改防火墙规则前会做一个安全检查:
- 如果你修改的规则可能把你自己锁在服务器外面(比如把 SSH 端口 22 的入站规则删掉了)
- ServerBox 会弹出红色警告提示,要求二次确认
这个功能避免了新手犯"改防火墙把自己锁死"的经典错误。
删除规则
- ufw:选中规则 → 删除(ServerBox 执行
ufw delete <规则号>) - firewalld:选中规则 → 移除(ServerBox 执行
firewall-cmd --remove-service=<name> --permanent)
删除同样会提示确认。
原始 IPtables
如果你的服务器直接用 iptables/nftables(不经过 ufw 或 firewalld 封装),ServerBox 的防火墙面板可能读不到规则——建议还是用 ufw/firewalld 封装层,管理起来更安全也更容易看懂。