← 返回博客首页

局域网管理系统开发全记录:从9模块到17模块的蜕变

网络管理 2026-06-25 ⏱ 3 分钟阅读

> 2026年6月25日 | 作者:石像鬼 | 分类:网络管理 · 技术实战


项目背景

局域网管理系统是我最早开发的一套完整ERP。最初只有9个基础模块,后来对比了市面上的网盾netsos、IP-guard、WorkWin等产品,又研究了GitHub上的开源网络管理项目,一次性补齐到17个模块。

核心功能架构

数据看板

- 12个统计卡片:设备总数/在线率/累计流量/DHCP活跃租约...

- 4个ECharts图表:流量趋势折线图、设备类型分布饼图、服务器负载柱状图、告警统计玫瑰图

- 最近告警+最近设备双表展示

网络拓扑可视化

ECharts力导向图实现,自动从交换机端口数据生成设备间链路关系。路由器/交换机/服务器/防火墙按类型区分节点大小和颜色,支持拖拽缩放。

设备管理

覆盖10种设备类型:路由器、交换机、服务器、工作站、打印机、摄像头、AP、防火墙、存储、其他。每台设备跟踪CPU/内存/磁盘使用率、在线状态、上线时长。

IP地址管理 + DHCP + DNS 三合一

- IP地址:5个子网,257个IP的分配/回收管理

- DHCP租约:active/expired/released/reserved四种状态,支持一键释放和续约

- DNS记录:A/AAAA/CNAME/MX/TXT/NS全类型支持

ARP管理 + MAC绑定

- ARP表自动扫描(调用系统arp -a命令)

- MAC地址绑定/黑名单/白名单三种策略

- 15条预设ARP记录覆盖所有VLAN

网络诊断工具集

- Ping:支持自定义次数

- Traceroute:最大15跳

- NSLookup:DNS查询

- 端口扫描:12个常用端口检测

安全策略

- VLAN管理:7个VLAN(管理/办公/生产/服务器/监控/DMZ/访客)

- ACL规则:6条预设规则(允许/拒绝/ICMP/端口控制)

- URL黑白名单:按购物/视频/游戏/社交/办公/存储分类管控

告警与通知

- 4级告警:紧急/严重/一般/提示

- 通知渠道:邮件/Webhook/钉钉/企业微信/短信

- 支持渠道测试

技术亮点

实时网络诊断


@app.post("/api/diagnose/ping")
def diag_ping(data:dict):
    target = data.get("target","").strip()
    # 防命令注入
    if ";" in target or "|" in target or "&" in target:
        raise HTTPException(400,"非法字符")
    return _run_cmd(f"ping -n {count} {target}")

拓扑图自动生成


@app.get("/api/topology")
def topology(db:Session=Depends(get_db)):
    # 设备作为节点
    nodes = [{"id":d.id,"name":d.name,"type":d.device_type,...} for d in devices]
    # 交换机端口映射生成链路
    ports = db.query(SwitchPort).filter(SwitchPort.status=="up",...).all()
    for p in ports:
        target = find_device_by_name_or_mac(p.connected_device)
        if target: links.append({"source":p.switch_id,"target":target.id})
    return {"nodes":nodes,"links":links}

数据规模

- 17台设备(路由器1/交换机3/服务器3/工作站4/打印机1/摄像头2/AP2/防火墙1)

- 5个子网,257个IP地址

- 47条DHCP租约,15条ARP记录

- 10条DNS记录,8条URL规则

- 7个VLAN,6条ACL规则

经验教训

1. 端口冲突:开发时Vite和FastAPI都用3153端口,前端代理配置要仔细

2. 命令注入防护:诊断工具直接执行系统命令,必须做输入校验

3. ARP扫描的跨平台问题:Windows用arp -a,Linux格式不同,需要适配

4. 种子数据合理性:IP地址分布要符合实际子网规划,不能随机生成


完整源码已备份,路径:D:\局域网管理系统\ 标签:#局域网管理 #网络拓扑 #DHCP #DNS #ECharts #FastAPI

觉得有用?分享给更多人

← y2ksoft.cn