Skip to content

网络基础设施管理

网络基础设施管理是 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 数
/24255.255.255.0254
/25255.255.255.128126
/26255.255.255.19262
/27255.255.255.22430
/28255.255.255.24014
/29255.255.255.2486
/30255.255.255.2522

IP 地址自动生成

创建子网时,系统会自动生成该子网范围内的所有 IP 地址:

  1. 解析 CIDR 获取网络地址和广播地址
  2. 生成可用 IP 地址范围内的所有地址
  3. 为每个 IP 地址创建数据库记录
  4. 初始状态为"未分配"

数据关系

网络区域 (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删除子网

最佳实践

网络规划建议

  1. 合理规划网络区域:按物理位置或功能划分网络区域
  2. 预留扩展空间:子网规划时预留足够的 IP 地址
  3. 网关统一管理:网关集中管理,便于监控和维护
  4. 文档化配置:记录网络配置,便于后续管理

子网设计原则

  • 按部门划分:为不同部门分配独立的子网
  • 按功能划分:办公网、服务器网、设备网分离
  • 预留 VLAN:为未来扩展预留 VLAN 空间
  • 考虑广播域:控制子网大小,避免广播风暴

基于 MIT 许可发布