单网卡多网段案例
概述
本章介绍服务器借助内部三层交换机的 VLAN 划分功能,将一张网卡等效为两张物理网卡的方法。
读者对象
本案例面向以下人员:
- 网络管理员:规划 VLAN ID、网段与网关,并在上游设备放行对应 VLAN。
- 需要为业务划分网段的开发与测试人员:理解「一张网卡两个接口」的实现方式与限制。
应用场景
BMC 只有一张网卡,却要同时接入两个网段。两类业务在带宽与实时性上的差异,要求它们分别承载:
| 业务 | 流量方向 | 流量特征 | 主要关注点 | 所属网段 |
|---|---|---|---|---|
| 视频流输入 | 摄像头 / NVR / 流媒体服务器 → 服务器 | 带宽大、持续 | 丢包、抖动 | 192.168.20.0/24 |
| 结果输出 | 服务器 → 结果服务器 / 客户端 | 流量小、突发 | 稳定、可追溯 | 192.168.30.0/24 |
若混在同一网段,两类业务会相互干扰,也无法分别限速、统计和定位问题;而 BMC 上没有第二张网卡可用,靠增加硬件来划分网段并不可行。
可行的办法是复用现有的网络:两个网段均由上游设备提供,从内部三层交换机的其他端口接入——可上联两台交换机,也可用一条 Trunk 承载两个 VLAN。内部三层交换机只做二层转发,把两个网段分别送入对应的 VLAN;网关留在上游,无需额外增加路由器。
方案原理
一张网卡之所以能承载两个网段,靠的是二层隔离加两个子接口,全程不涉及本机三层转发:
| 层次 | 手段 | 作用 |
|---|---|---|
| 二层 | 交换机各端口按 VLAN 划入不同广播域 | 两个网段在交换机内部二层互不可见 |
| 二层 | nic0_5G 所连端口设为 Trunk,放行两个 VLAN | 一张网卡同时收发两个网段的报文 |
| 二层 | nic0_5G 上创建两个 VLAN 设备(子接口) | 系统看到两个独立接口,各配一个网段地址 |
| 三层 | 网关指向上游设备,本机不配 VLAN 接口、不做路由 | 出网与跨网段访问交给上游网络 |
等价关系:
| 传统多网卡方案(两个网段) | 本方案(一张网卡两个网段) | 为什么可以等价 |
|---|---|---|
| 网卡一 + 网线一 + 上游端口 A ← 网段 A | vlan20(VLAN Link = nic0_5G)+ VLAN 20 Tag | 报文 Tag 区分广播域,二层互不可见 |
| 网卡二 + 网线二 + 上游端口 B ← 网段 B | vlan30(VLAN Link = nic0_5G)+ VLAN 30 Tag | 同上,等价于第二个物理网络 |
| 两个网段各有一个上游网关 | 两个 VLAN 设备各填一个上游网关地址 | 网关仍在上游,本机只是把流量按 VLAN 分开送出去 |
整体拓扑如下:
图:左侧两个网段分别从交换机的入口端口 A、B 进入 VLAN 20 / VLAN 30;中间交换机只做二层并汇合到 Trunk;右侧 nic0_5G 上一个 Trunk 口拆成 vlan20、vlan30 两个接口,网关仍指向上游。
操作步骤
交换机与 BMC 两侧的 VLAN ID 必须一致,建议先配交换机、再配 BMC,避免出现「VLAN 已建但链路不通」的中间状态。
步骤 1:内部三层交换机侧
进入 aBMC 管理页面,选择 设备管理 → 交换机管理设置,按下表完成 VLAN 与端口配置。
| 配置对象 | 取值 | 作用 |
|---|---|---|
| VLAN | 创建 VLAN 20、VLAN 30 | 划分两个广播域 |
连接 nic0_5G 的端口 | Trunk,放行 VLAN 20、VLAN 30 | 让一张网卡同时承载两个网段 |
| 网段一入口端口 | Access,VLAN 20 | 把视频输入网段送进 VLAN 20 |
| 网段二入口端口 | Access,VLAN 30(同上) | 把结果输出网段送进 VLAN 30 |
步骤 2:BMC 侧创建 VLAN 设备
进入 BMC 的 System → Network → VLAN Manage,在 nic0_5G 上新增两个 VLAN 设备,每个网段一个,参数如下:
| VLAN 设备 | VLAN ID | VLAN Link | IPv4 地址 | 网关 | 网关优先级 |
|---|---|---|---|---|---|
vlan20 | 20 | nic0_5G | 192.168.20.10/24 | 192.168.20.1 | 100 |
vlan30 | 30 | nic0_5G | 192.168.30.10/24 | 192.168.30.1 | 200 |
网关填写上游设备在该网段的地址。VLAN ID 与 VLAN Link 创建后不可更改,填错需删除重建;字段说明、页面截图与增删改限制见 《aBMC Web 使用手册》 的「管理 BMC VLAN」一节。
步骤 3:验证连通性
在 BMC 命令行分别 ping 两个网段的网关,确认每个 VLAN 设备都能到达所属网段:
ping -c 4 192.168.20.1 # vlan20 的网关
ping -c 4 192.168.30.1 # vlan30 的网关| 接口 | 网关 | 预期结果 |
|---|---|---|
vlan20 | 192.168.20.1 | 有回应,丢包率 0% |
vlan30 | 192.168.30.1 | 有回应,丢包率 0% |

