Skip to content

bg4vrg/NetMaster-Network-Automation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NetMaster 网络自动化运维平台

当前版本:v2.54.8

NetMaster 是面向专网、内网和离线环境的交换机自动化运维平台。系统以 Flask、SQLite、Netmiko、SNMP 和本地 Tabler 静态资源为核心,不依赖 CDN、远程 API 或互联网服务,适合部署在公安网、政务网、生产专网等隔离网络中。

适用场景

  • 多厂商接入交换机资产维护、批量导入和配置备份。
  • 终端 IP/MAC 准入绑定、解绑、漫游和批量部署。
  • 日常巡检、告警归并、端口画像和配置差异比对。
  • 离线导入多个平台导出的表格,分析未报备入网、IP-MAC 不符、未纳入 9200、疑似废弃下线等终端合规问题。

核心能力

设备与配置

  • 管理 H3C、Huawei、Ruijie 等交换机资产,密码本地加密保存。
  • 支持资产模板导入、资产导出、旧版资产库导入和网页数据包备份。
  • 支持自动备份、手动保存配置、配置差异比对和按设备选择最近两次备份。
  • 支持 ACL 策略组查询和维护,默认适配 MAC ACL 4000。

终端准入

  • 支持端口 IP+MAC 绑定、解绑、端口描述维护和关键端口保护。
  • 选择交换机后优先通过 SNMP 快速加载端口状态,配置类复核和下发仍走 SSH。
  • 支持模式查询、单口查询、下发前实时复核,降低误操作风险。
  • 支持 Excel 批量部署,按交换机和端口聚合同组记录后统一下发。
  • 支持终端漫游,包含定位、旧端口解绑、新端口部署、冲突保护和试运行模式。
  • 终端列表采用后端分页和前端滚动懒加载,支持搜索、筛选和 CSV 导出。

告警与看板

  • 首页展示设备总数、备份状态、绑定变化、网络告警和最近绑定变更。
  • 告警中心按每台交换机最新日志聚合风险,支持 Top 10 优先处理、完整设备列表懒加载、确认、忽略、重新打开和备注。
  • 告警卡片横向展示设备、统计、高频端口、处理建议和操作按钮,减少页面留白。
  • 任务中心、审计日志和健康状态支持按需读取,避免打开页面时一次性加载全部历史记录。

准入合规分析

准入合规分析完全基于离线导入文件,不连接交换机,不新增 SNMP/SSH 负载。

支持导入三类数据:

  • IP 地址管理平台导出的 CSV/XLSX:作为实际网络侧发现记录。
  • 9200 平台导出的 CSV/XLSX:作为安全合规记录,判定条件为“保护状态=保护”或“客户端核心版本号包含 9200”。
  • 人工台账 CSV/XLSX:作为人工审批白名单,推荐固定列包含 rule设备ip设备mac使用/责任人安装位置设备用途设备类型

分析时核心比对只使用 IP、MAC 和 9200 状态字段;责任人、位置、用途、设备类型等信息仅作为定位、说明和导出辅助字段。

当前可识别:

  • 无有效 IP。
  • 同 IP 多 MAC。
  • 同 MAC 多 IP。
  • 未报备入网。
  • IP-MAC 不符。
  • 未纳入 9200。
  • 疑似私改 IP。
  • 私自分配地址。
  • 疑似废弃下线。
  • 伪装合规。

分析结果支持历史保存、滚动懒加载、类型筛选、全文搜索、表头排序、CSV 导出、判定依据展示和离线 OUI 厂商识别。

离线部署

推荐使用项目随发布上传的 Conda 环境包:

sygaSwitchAdmin_base.tar.gz

在新服务器上解压环境后执行:

conda unpack

然后进入源码目录启动:

conda activate sygaSwitchAdmin_base
cd D:\miniconda3\app\sygaSwitchAdmin
python run_server.py

默认访问地址:

http://127.0.0.1:8080

如果 8080 被占用,可在 run_server.py 中调整端口后再启动。

首次初始化默认管理员:

admin / admin888

正式使用前请立即修改密码。

使用 requirements 安装

如果不使用离线 Conda 包,也可以在 Python 3.11 环境中安装依赖:

pip install -r requirements.txt
python run_server.py

requirements.txt 已整理为可迁移格式,不包含仅当前机器可用的 file:///C:/miniconda3/conda-bld/... 本地构建路径。

老服务器升级

升级时建议只覆盖源码,不要删除旧目录后重新解压。

推荐流程:

  1. 停止老服务器上的 NetMaster。
  2. 备份老服务器源码目录。
  3. 特别保留以下数据文件和目录:
    • net_assets.db
    • net_assets.key
    • backups/
    • 其他手工导出的业务数据
  4. 解压新版 sygaSwitchAdmin_source_v版本号_日期.zip
  5. 覆盖同名程序文件。
  6. 不要覆盖或删除老服务器已有的 net_assets.dbnet_assets.key
  7. 重新启动 python run_server.py

源码包默认不携带数据库、密钥、日志、历史缓存和设备资产数据。只要保留原有 net_assets.dbnet_assets.key,设备资产、用户、审计日志和业务数据不会因覆盖源码而丢失。

数据文件说明

核心运行数据:

  • net_assets.db:SQLite 数据库,保存资产、用户、审计、任务、终端绑定和分析历史。
  • net_assets.key:本地加密密钥,必须与数据库成对保存。
  • backups/:交换机配置备份目录。
  • data_packages/:网页导出的完整数据包目录。

重要提醒:

net_assets.db 和 net_assets.key 必须成对备份。
迁移或恢复时不要只复制其中一个文件。

定时任务

系统内置以下定时任务,均可在网页设置中调整:

  • 自动备份交换机配置。
  • 自动终端更新。
  • 自动导出数据包。
  • 自动采集交换机日志并生成告警分析。

如果开启“定时备份成功后自动保存设备配置”,备份成功后会继续向设备下发保存配置命令。该开关位于系统设置页面。

发布包说明

GitHub 发布源码仅保留程序文件、静态资源、模板、脚本、依赖清单、许可证和本 README.md

不会上传:

  • 数据库和密钥。
  • 日志文件。
  • 交换机备份配置。
  • 历史截图。
  • 本地开发记录。
  • 临时缓存。
  • 源码压缩包。

安全提醒

NetMaster 会直接登录并修改交换机配置。批量部署、终端漫游、保存配置等操作应先在测试端口验证,再用于生产环境。生产网升级前务必通过网页数据备份功能导出完整数据包。

About

NetMaster: Visualized switch automation tool supporting H3C/VRP, batch deployment via Excel, auto-backup, and audit logs. | NetMaster 全网自动化协同配置中心:支持 H3C/华为双引擎,提供 Excel 批量割接、高危指令拦截、幽灵灾备与全量操作审计。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors