V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Fifto
V2EX  ›  Linux

一个基于 nftables 管理服务器防火墙的 Web 图形面板

  •  
  •   Fifto · 16 天前 · 1413 次点击

    GNftato Panel - 多服务器防火墙规则管理面板

    基于 Nftato.sh 脚本开发的可视化多服务器防火墙规则管理面板,支持通过 SSH 远程连接管理多台服务器的 nftables 规则。

    不建议使用关键词封禁功能( iptables 实现),效率很低,会导致某些应用连接超时

    项目地址->github 仓库

    功能特色

    • 多服务器管理:集中管理多台服务器的防火墙规则
    • 出网控制:封禁/解封 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 管理功能,它们服务于不同的目的:

    1. 放行 IP (入网方向功能 - 第 17 项)

      • 作用于基本防火墙层面,控制哪些 IP 可以访问服务器
      • 如果服务器防火墙默认策略是拒绝(DROP),只有被放行的 IP 才能建立连接
      • 未被放行的 IP 会被基本防火墙直接拒绝访问
      • 命令实现: nft add rule inet filter input ip saddr $IP accept
    2. IP 黑白名单 (DDoS 防御功能 - 第 24 项)

      • 作用于 DDoS 防御层面,位于基本防火墙之后
      • 白名单 IP: 可以绕过 DDoS 防御检测,不受连接频率和数量限制
      • 黑名单 IP: 被直接拒绝,不论连接次数和频率
      • IP 必须先通过基本防火墙(被放行或防火墙默认允许),才会到达 DDoS 防御层

    使用建议:

    • 如果服务器设置为默认拒绝所有连接,需要先使用"放行 IP"功能
    • 如果已开启 DDoS 防御,对于需要频繁访问的可信 IP ,建议添加到白名单
    • 如果只需简单的访问控制,使用"放行 IP"即可
    • 如果需要防御 DDoS 攻击同时允许特定 IP 不受限制,应使用白名单功能

    其他功能说明

    xuemian
        1
    xuemian  
       15 天前
    不错,支持一下。我最近也在尝试开发开源 EDR
    privil
        2
    privil  
       15 天前   ❤️ 4
    ……你这是用 AI 快速开发的?隔了几个小时你就从 iptables 到 nftables 了,发出来找小白鼠趟雷是吗?
    Fifto
        3
    Fifto  
    OP
       15 天前 via iPhone   ❤️ 1
    @privil 觉得是雷你可以不看,为什么不能用 ai ,自己菜就多练。你凭什么认为别人发出来之前没有测试?(无语
    hello333
        4
    hello333  
       15 天前   ❤️ 1
    @Fifto +1
    ExplodingFKL
        5
    ExplodingFKL  
       15 天前
    不错的项目,挺适合批量管理大量服务器的

    初步看了一眼,好像没有任何测试用例覆盖 ....
    Fifto
        6
    Fifto  
    OP
       13 天前 via iPhone
    @ExplodingFKL 实在没精力考虑太多,抱歉,等以后有时间再完善。现在只想把功能能正常跑就好了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1249 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 23:29 · PVG 07:29 · LAX 16:29 · JFK 19:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.