GNftato Panel - 多服务器防火墙规则管理面板
基于 Nftato.sh 脚本开发的可视化多服务器防火墙规则管理面板,支持通过 SSH 远程连接管理多台服务器的 nftables 规则。
不建议使用关键词封禁功能( iptables 实现),效率很低,会导致某些应用连接超时
功能特色
- 多服务器管理:集中管理多台服务器的防火墙规则
- 出网控制:封禁/解封 BT 、PT 、SPAM 、自定义端口和关键词
- 入网控制:管理入网端口和 IP 白名单
- SSH 远程控制:通过 SSH 安全连接到远程服务器执行命令
- 可视化操作:直观的界面操作替代复杂的命令行管理
- 状态监控:实时查看各服务器的连接状态和规则列表
- 登录认证:用户身份验证,保护管理界面安全
- DDOS 防御:借鉴 Goedge 防御规则实现的脚本防御(基础防御)
需要注意,使用同类用到 nftables 命令的工具会使规则冲突。清除规则则可以夺回控制权。脚本首次运行默认只放行 ssh 端口,且 ssh 端口无法取消放行。
技术栈
- 后端:Node.js 、Express 、SSH2 、本地 JSON 存储、JWT 认证
- 前端:Vue.js 2.x 、Element UI 、Axios 、Vuex 状态管理
- 通信:RESTful API
- 认证:基于 JWT 的用户认证系统
系统要求
- Node.js 12.x 以上
- 远程服务器需支持 SSH 连接
功能说明
放行 IP 与 IP 黑白名单的区别
系统提供两种 IP 管理功能,它们服务于不同的目的:
-
放行 IP (入网方向功能 - 第 17 项)
- 作用于基本防火墙层面,控制哪些 IP 可以访问服务器
- 如果服务器防火墙默认策略是拒绝(DROP),只有被放行的 IP 才能建立连接
- 未被放行的 IP 会被基本防火墙直接拒绝访问
- 命令实现:
nft add rule inet filter input ip saddr $IP accept
-
IP 黑白名单 (DDoS 防御功能 - 第 24 项)
- 作用于 DDoS 防御层面,位于基本防火墙之后
- 白名单 IP: 可以绕过 DDoS 防御检测,不受连接频率和数量限制
- 黑名单 IP: 被直接拒绝,不论连接次数和频率
- IP 必须先通过基本防火墙(被放行或防火墙默认允许),才会到达 DDoS 防御层
使用建议:
- 如果服务器设置为默认拒绝所有连接,需要先使用"放行 IP"功能
- 如果已开启 DDoS 防御,对于需要频繁访问的可信 IP ,建议添加到白名单
- 如果只需简单的访问控制,使用"放行 IP"即可
- 如果需要防御 DDoS 攻击同时允许特定 IP 不受限制,应使用白名单功能
其他功能说明