网络基础设施管理
网络基础设施管理是 IPAM 的核心功能模块,提供对网络资源的全面管理能力,包括网络区域、网关和子网的管理。
网络区域管理
网络区域用于逻辑分组网络资源,支持多区域网络架构。
功能特性
- 创建网络区域:定义区域名称、编码和描述
- 编辑网络区域:修改区域信息
- 删除网络区域:删除不再使用的区域
- 查看区域详情:查看区域下的网关和子网
数据模型
go
type NetworkArea struct {
ID int // 网络区域ID
Name string // 区域名称
Code string // 区域编码(唯一)
Description string // 区域描述
CreatedAt time.Time // 创建时间
UpdatedAt time.Time // 更新时间
}使用场景
- 多数据中心:为不同的数据中心创建独立的网络区域
- 网络分区:按功能划分网络区域(办公网、生产网、测试网)
- 多租户环境:为不同租户分配独立的网络区域
网关管理
网关是网络的核心组件,IPAM 支持独立管理网关资源,并可被多个子网共享使用。
功能特性
- 创建网关:定义网关IP地址、MAC地址和所属网络区域
- 编辑网关:修改网关信息
- 删除网关:删除不再使用的网关
- 在线状态监控:实时监控网关的在线状态
- 多子网共享:一个网关可被多个子网共享使用
数据模型
go
type Gateway struct {
ID int // 网关ID
IPAddress string // 网关IP地址
MacAddress string // 网关MAC地址
NetworkAreaID int // 所属网络区域ID
IsOnline bool // 在线状态
LastSeen time.Time // 最后在线时间
CreatedAt time.Time // 创建时间
UpdatedAt time.Time // 更新时间
}网关在线监控
系统自动监控网关的在线状态:
- 实时监控:定期 ping 网关检测在线状态
- 状态记录:记录网关的最后在线时间
- 状态变更:网关状态变化时自动更新
子网管理
子网是 IP 地址管理的基本单位,支持 CIDR 表示法。
功能特性
- 创建子网:定义子网 CIDR、网关、VLAN 等信息
- 编辑子网:修改子网配置
- 删除子网:删除不再使用的子网
- IP地址生成:根据子网范围自动生成 IP 地址池
- 子网统计:查看子网内 IP 地址的使用情况
数据模型
go
type Subnet struct {
ID int // 子网ID
Name string // 子网名称
CIDR string // CIDR表示法(如:192.168.1.0/24)
GatewayID int // 关联网关ID
NetworkAreaID int // 所属网络区域ID
VlanID string // VLAN ID
Description string // 子网描述
TotalIPs int // IP地址总数
AllocatedIPs int // 已分配IP数
CreatedAt time.Time // 创建时间
UpdatedAt time.Time // 更新时间
}CIDR 支持
子网使用 CIDR(无类别域间路由)表示法:
| CIDR | 子网掩码 | 可用 IP 数 |
|---|---|---|
| /24 | 255.255.255.0 | 254 |
| /25 | 255.255.255.128 | 126 |
| /26 | 255.255.255.192 | 62 |
| /27 | 255.255.255.224 | 30 |
| /28 | 255.255.255.240 | 14 |
| /29 | 255.255.255.248 | 6 |
| /30 | 255.255.255.252 | 2 |
IP 地址自动生成
创建子网时,系统会自动生成该子网范围内的所有 IP 地址:
- 解析 CIDR 获取网络地址和广播地址
- 生成可用 IP 地址范围内的所有地址
- 为每个 IP 地址创建数据库记录
- 初始状态为"未分配"
数据关系
网络区域 (NetworkArea)
└── 网关 (Gateway)
└── 子网 (Subnet)
└── IP地址 (IPAddress)API 接口
网络区域接口
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/network-areas | 获取网络区域列表 |
| POST | /api/network-areas | 创建网络区域 |
| PUT | /api/network-areas/:id | 更新网络区域 |
| DELETE | /api/network-areas/:id | 删除网络区域 |
网关接口
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/gateways | 获取网关列表 |
| POST | /api/gateways | 创建网关 |
| PUT | /api/gateways/:id | 更新网关 |
| DELETE | /api/gateways/:id | 删除网关 |
子网接口
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/subnets | 获取子网列表 |
| POST | /api/subnets | 创建子网 |
| PUT | /api/subnets/:id | 更新子网 |
| DELETE | /api/subnets/:id | 删除子网 |
最佳实践
网络规划建议
- 合理规划网络区域:按物理位置或功能划分网络区域
- 预留扩展空间:子网规划时预留足够的 IP 地址
- 网关统一管理:网关集中管理,便于监控和维护
- 文档化配置:记录网络配置,便于后续管理
子网设计原则
- 按部门划分:为不同部门分配独立的子网
- 按功能划分:办公网、服务器网、设备网分离
- 预留 VLAN:为未来扩展预留 VLAN 空间
- 考虑广播域:控制子网大小,避免广播风暴