防火墙
Web.Casa 提供基于 firewalld 的防火墙管理界面,可以直接在面板中配置区域、端口规则、服务规则和富规则,无需使用命令行。
防火墙插件通过 Web.Casa 界面管理服务器的 firewalld 配置。如果系统未安装 firewalld,面板提供一键安装选项。
警告:Docker 端口绕过 — Docker 自行管理 iptables 规则,可能绕过 firewalld。通过 Docker 容器暴露的端口(
-p参数)无论 firewalld 规则如何设置都可以被访问。如需对容器端口实施严格的防火墙控制,请使用 Docker 网络配置或设置 Docker 守护进程的--iptables=false选项。
Firewalld 将规则组织到**区域(Zone)**中。防火墙仪表盘显示:
- 活跃区域 — 当前绑定了接口或源地址的区域
- 非活跃区域 — 可用但未启用的区域
每个区域拥有独立的规则集、接口和源地址。常用区域包括 public、trusted、internal 和 drop。
添加端口规则以允许或阻止特定端口的流量:
| 字段 | 选项 |
|---|---|
| 端口 | 单个端口(如 8080)或范围(如 3000-3100) |
| 协议 | TCP 或 UDP |
| 区域 | 规则所属的目标区域 |
添加端口规则
Section titled “添加端口规则”- 选择目标区域
- 点击添加端口
- 输入端口号或范围
- 选择协议(TCP/UDP)
- 保存规则
使用服务名称(而非端口号)允许已知服务的流量:
http、https、ssh、dns、smtp、ftp- 以及 firewalld 服务数据库中定义的其他服务
这比手动端口规则更清晰,且当服务默认端口变更时会自动适配。
富规则(Rich Rules)提供超越简单端口允许/拒绝的精细控制:
rule family="ipv4" source address="10.0.0.0/8" acceptrule family="ipv4" source address="192.168.1.0/24" port port="3306" protocol="tcp" acceptrule family="ipv4" source address="203.0.113.50" drop富规则支持:
- 源地址过滤 — 允许或拒绝特定 IP 或 CIDR 网段
- 端口 + 源地址组合 — 将端口访问限制为特定网络
- 协议匹配 — 按 TCP、UDP 或 ICMP 过滤
- Accept、Drop 或 Reject 动作
接口和源地址
Section titled “接口和源地址”为区域分配网络接口和源地址:
- 接口 — 将物理或虚拟网络接口(如
eth0、docker0)绑定到区域 - 源地址 — 将来自特定 IP 或 CIDR 的流量路由到区域进行处理
- 重载 firewalld 配置以应用更改,不中断活跃连接
- 所有规则持久化到永久配置
- 更改立即在运行时配置中生效
提示: 修改防火墙规则后,建议从外部机器测试连通性以验证规则是否按预期工作。可以使用网页终端运行
firewall-cmd --list-all进行快速验证。