Fix DHCP client unable to get IP and config not persisting
- Fixed verifyAssignment being too strict for new clients - Fixed parseRequestedIP string conversion bug - Fixed response sent to 0.0.0.0 instead of broadcast address - Added SO_BROADCAST support for UDP socket - Fixed session persistence after page refresh (localStorage) - Added in-memory session store for auth middleware - Added config reloader so DHCP server picks up web UI changes dynamically
Este commit está contenido en:
@@ -0,0 +1,137 @@
|
||||
# DHCP 客户端列表功能
|
||||
|
||||
## 📋 功能说明
|
||||
|
||||
新增 DHCP 客户端列表页面,方便查看哪些客户端获取到了 IP 地址。
|
||||
|
||||
## ✨ 功能特性
|
||||
|
||||
### 1. 客户端列表
|
||||
- ✅ MAC 地址显示
|
||||
- ✅ IP 地址显示
|
||||
- ✅ 主机名显示
|
||||
- ✅ 租约剩余时间
|
||||
- ✅ 过期时间显示
|
||||
- ✅ 在线/过期状态
|
||||
|
||||
### 2. IP 地址池统计
|
||||
- ✅ 地址池范围显示
|
||||
- ✅ 已分配 IP 数量
|
||||
- ✅ 可用 IP 数量
|
||||
- ✅ 使用率百分比
|
||||
- ✅ 可视化进度条
|
||||
- 绿色:使用率 < 70%
|
||||
- 橙色:使用率 70%-90%
|
||||
- 红色:使用率 > 90%
|
||||
|
||||
### 3. 自动刷新
|
||||
- ✅ 支持自动刷新功能
|
||||
- ✅ 默认关闭,可手动开启
|
||||
- ✅ 刷新间隔:10 秒
|
||||
|
||||
### 4. 仪表盘联动
|
||||
- ✅ 点击"活跃租约"卡片跳转到客户端列表
|
||||
|
||||
## 🎯 使用方法
|
||||
|
||||
### 查看客户端列表
|
||||
|
||||
1. 登录 Web 界面
|
||||
2. 点击导航栏"DHCP 客户端"
|
||||
3. 查看当前所有获取 IP 的客户端
|
||||
|
||||
### 自动刷新
|
||||
|
||||
1. 点击"⏸️ 自动刷新: 关"按钮
|
||||
2. 变为"▶️ 自动刷新: 开"
|
||||
3. 每 10 秒自动刷新列表
|
||||
|
||||
### 查看地址池使用情况
|
||||
|
||||
- 在客户端列表页面底部查看
|
||||
- 进度条显示使用率
|
||||
- 颜色标识使用状态
|
||||
|
||||
## 📊 页面结构
|
||||
|
||||
```
|
||||
DHCP 客户端列表
|
||||
├── 已分配 IP 的客户端
|
||||
│ ├── MAC 地址
|
||||
│ ├── IP 地址
|
||||
│ ├── 主机名
|
||||
│ ├── 租约剩余
|
||||
│ ├── 过期时间
|
||||
│ └── 状态(在线/已过期)
|
||||
└── IP 地址池使用情况
|
||||
├── 地址池范围
|
||||
├── 已分配数量
|
||||
├── 可用数量
|
||||
├── 使用率
|
||||
└── 可视化进度条
|
||||
```
|
||||
|
||||
## 🔧 技术实现
|
||||
|
||||
### 前端
|
||||
- 新增客户端列表页面
|
||||
- 自动刷新功能
|
||||
- 地址池统计计算
|
||||
- 状态颜色标识
|
||||
|
||||
### 后端
|
||||
- 使用现有 `/api/dhcp/leases` 接口
|
||||
- 使用现有 `/api/dhcp/config` 接口
|
||||
- 无需额外 API 开发
|
||||
|
||||
### 样式
|
||||
- 新增池统计样式
|
||||
- 新增进度条样式
|
||||
- 新增状态颜色样式
|
||||
|
||||
## 📱 响应式设计
|
||||
|
||||
- 支持桌面端
|
||||
- 支持平板
|
||||
- 支持手机端
|
||||
|
||||
## 🎨 界面预览
|
||||
|
||||
### 客户端列表
|
||||
```
|
||||
┌─────────────────────────────────────────────────────┐
|
||||
│ DHCP 客户端列表 │
|
||||
├─────────────────────────────────────────────────────┤
|
||||
│ [🔄 刷新] [⏸️ 自动刷新: 关] │
|
||||
├─────────────────────────────────────────────────────┤
|
||||
│ MAC 地址 │ IP 地址 │ 主机名 │ 租约剩余 │ 状态│
|
||||
├───────────────┼──────────────┼────────┼──────────┼─────┤
|
||||
│ 00:11:22:33 │ 192.168.1.100│ PC-01 │ 23 小时 │ 在线 │
|
||||
│ 44:55:66:77 │ 192.168.1.101│ Phone │ 12 小时 │ 在线 │
|
||||
│ 88:99:AA:BB │ 192.168.1.102│ Laptop │ 已过期 │ 过期 │
|
||||
└─────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 地址池统计
|
||||
```
|
||||
┌─────────────────────────────────────────────────────┐
|
||||
│ IP 地址池使用情况 │
|
||||
├─────────────────────────────────────────────────────┤
|
||||
│ 地址池范围:192.168.1.100 - 192.168.1.200 │
|
||||
│ 已分配:2 可用:98 使用率:2% │
|
||||
├─────────────────────────────────────────────────────┤
|
||||
│ ████████████████████████████████████████████████ 2% │
|
||||
└─────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## 🔄 更新日志
|
||||
|
||||
### v0.2.2 (2026-04-23)
|
||||
- ✅ 新增 DHCP 客户端列表页面
|
||||
- ✅ 新增 IP 地址池统计
|
||||
- ✅ 新增自动刷新功能
|
||||
- ✅ 新增仪表盘联动
|
||||
|
||||
---
|
||||
|
||||
**最后更新**: 2026-04-23
|
||||
Referencia en una nueva incidencia
Block a user