华为H3C实战 | 第40章 医院双核心高可用网络
📚 本系列共 48 篇(第 40 / 48 篇) · 第六卷 实战与附录篇 —— 把它们拼起来
← 上一篇:第 39 章 小型办公网从零配置 下一篇:第 41 章 酒店无线与有线统一接入 →
40.1 本章导读
这一章不再是「一个功能怎么配」,而是「十个功能怎么配合起来解决一家医院的实际问题」。前面 39 章讲的是零件,这一章讲的是整机。
读这一章的正确姿势:不要照着从头抄到尾。先看 40.2 的需求,再重点读 40.4「关键设计决策」——那一节讲的是「为什么这么选、不选别的方案会踩什么坑」,是整章最值钱的部分。配置部分按模块拆开,每块都标了它对应前面哪一章,哪一块不懂就回去翻那一章。
本章会串起的前文模块:链路聚合(第 5 章)→ STP 与边缘端口(第 4 章)→ VRRP 双网关(第 7 章)→ VRF 三网隔离(第 17 章,本章核心) → OSPF 多区域(第 11 章)→ DHCP 与 Option(第 8 章)→ 流量镜像(第 18 章)→ 端口安全(第 9 章)。
为什么选医院这个场景:医院是极少数同时具备「三张物理隔离网 + 老旧终端 + 不能停机 + 大带宽影像」四个约束的场所。把这四个约束解开了,大部分行业的网络设计都能套用。
适用版本:华为 VRP V200R019 及以上(S5735/S6730 系列)、H3C Comware V7(R2610 及以上)。文中所有命令均按各自版本的配置指南核对过,凡语料未覆盖的会标
TODO-FIXME。
40.2 项目背景与需求
40.2.1 这家医院的情况
某三乙医院,门诊楼 + 住院楼 + 医技楼三栋建筑,共 6 个楼层弱电间。现有网络是十年前的单核心,问题在一次停电中暴露:
- 核心交换机电源模块烧毁,全院断网 4 小时,门诊挂号、住院收费、检验报告全部停摆
- 恢复后用临时交换机顶上,HIS 系统(医院信息系统)登录异常,因为新核心的 MAC 和原来的服务器 ARP 绑定对不上
- 影像科抱怨「调一张 CT 片子要等两分钟」,因为 PACS(影像归档与通信系统)和办公网挤在同一台核心上,白天门诊高峰时抢不到带宽
院方给了三条硬需求,外加一条软需求:
| 编号 | 需求 | 验收标准 |
|---|---|---|
| R1 | 核心设备单点故障不能导致业务中断 | 拔掉任意一台核心,业务中断时间 ≤ 5 秒 |
| R2 | 内网、外网、影像网三网隔离 | 三网之间默认不通,需互通时按策略放行 |
| R3 | 影像网足够带宽,不受办公网影响 | PACS 调片时间 ≤ 10 秒(原来 120 秒) |
| R4(软) | 网络设备出故障时能快速定位 | 能用抓包分析医疗设备的通信问题 |
40.2.2 三张网分别是什么
这是本章的骨架,先说清楚,后面所有设计都围绕它:
| 网络 | 用途 | 用户 | 特点 |
|---|---|---|---|
| 内网(HIS 网) | 挂号、收费、医嘱、电子病历、LIS 检验 | 医生、护士、收费员 | 绝对高可用,不能停;终端多而杂 |
| 外网(办公网) | 互联网访问、医保接口、OA | 行政、后勤 | 可容忍短暂中断;需流量管控 |
| 影像网(PACS 网) | CT/MR/DR 影像的采集、存储、调阅 | 影像科技师、放射科医生 | 大带宽(单次 CT 检查约 300 |
三张网的流量性格完全不同,这一点决定了后面所有的设计:
| 网络 | 流量特征 | 每天峰值时段 | 中断 1 小时的影响 |
|---|---|---|---|
| 内网 HIS | 小包、高频、低带宽(全院峰值约 200Mbps) | 08:00~11:00 门诊挂号高峰 | 全院停诊,无法挂号收费 |
| 外网办公 | 中等带宽、可突发(视频会议、大文件下载) | 09:00~18:00 | 行政办公受影响,可容忍 |
| 影像网 PACS | 突发大文件(一次检查 300~500MB 在 30 秒内涌向服务器) | 10:00~16:00 检查高峰 | 影像科停摆,但门诊还能开 |
注意最后一行:影像网中断的后果比 HIS 轻,但它的瞬时带宽需求远大于 HIS。这就是为什么它必须走独立路径——不是因为它更重要,而是因为它更「能挤」。
三网为什么要物理隔离而不是逻辑隔离? 这在本章 40.4.1 会重点讲——影像网的流量是突发的大文件(一次 CT 检查 300~800 张图),如果和 HIS 走同一台核心,哪怕是 VLAN 隔离的,拥塞也会发生在物理转发面上。VLAN/VRF 是「逻辑隔离」,解决的是「互相能不能访问」;解决不了「互相抢不抢带宽」——那是物理路径的问题。
40.3 网络拓扑
┌──────────────────────────────────┐
│ 互联网 / 医保专线 │
└───────────────┬──────────────────┘
│
┌─────────┴─────────┐
│ 出口路由器 │ ← 外网 VRF 的边界
│ AR6140-16G4XG │ 双出口(第 46 章展开)
└─────────┬─────────┘
│ Eth-Trunk
┌───────────────┴───────────────┐
│ │
┌───────────┴──────────┐ ┌───────────┴──────────┐
│ 核心 A │ │ 核心 B │
│ S6730-H48X6C │ │ S6730-H48X6C │
│ (主) │ │ (备) │
│ │ │ │
│ 内网VRF / 外网VRF │════════│ 内网VRF / 外网VRF │
│ 影像VRF │ Eth-Trunk│ 影像VRF │
└───┬──────────┬───────┘ (对端互联)└───────┬──────┬──────┘
│ │ │ │
┌─────┴─────┐ │ ┌──────┴──┐ │
│ 汇聚-1F │ │ │ 汇聚-2F │ │
│ S5735 │ │ │ S5735 │ │
└─────┬─────┘ │ └────┬────┘ │
│ │ │ │
┌───────┴──────────┴─────────────────────────┴────────┴───────┐
│ │
┌───┴────┐ ┌────────┐ ┌────────┐ ┌─────────┐ ┌────────────┐ │
│接入-1F │ │接入-2F │ │影像接入 │ │外网接入 │ │ 打印机/ │ │
│ │ │ │ │(独立) │ │(独立) │ │ 医疗设备 │ │
└───┬────┘ └────┬───┘ └────┬───┘ └────┬────┘ └─────┬──────┘ │
�� │ │ │ │ │
门诊PC 住院PC CT/MR/DR 行政PC 监护仪/自助机 │
医生站 护士站 工作站 OA 检验设备 │
└─────────────────────────────────────────────────────────────────┘
【关键:影像接入与外网接入是独立交换机,各自单线上联对应核心,
不与办公接入共用路径——这是"物理路径隔离"的落地方式】
40.3.1 拓扑的三个关键点
第一,双核心之间是对等的 Eth-Trunk 心跳 + 业务通道,两台核心跑同样的配置(除了 VRRP 优先级和 VRF 角色),任何一台挂了另一台全接管。
第二,影像网和外网各有一台独立接入交换机,直接上联到核心的专用接口,不经过汇聚。这样做有两个目的:影像交换机可以买便宜的二层设备(省成本),同时物理上把影像流量和办公流量在接入层就分开了。
第三,出口路由器接在双核心的 Eth-Trunk 上,用 VRF 把外网流量和业务流量分开——路由器只看到外网 VRF,看不到 HIS 和影像网,天然安全。
40.4 IP 与地址规划
40.4.1 地址规划总表
地址规划的核心原则:不同 VRF 用不同的地址段,一眼能看出是哪个网。
| VRF | 用途 | 网段 | 网关(VRRP 虚拟 IP) |
|---|---|---|---|
| HIS_VRF | 内网业务 | 10.10.0.0/16 | 按楼层划 /24 |
| HIS_VRF | 服务器区 | 10.20.0.0/16 | HIS 主备服务器 |
| WAN_VRF | 外网办公 | 10.30.0.0/16 | 按楼层划 /24 |
| PACS_VRF | 影像网 | 172.20.0.0/16 | 独立大段 |
| 管理网 | 设备管理 | 10.200.0.0/16 | 带外 |
为什么影像网用 172.20? 不是因为需要,而是因为方便区分。运维看到 172.20.x.x 就知道是影像网,看到 10.10.x.x 就知道是 HIS。在出故障的凌晨三点,这种「一眼能认出来」比任何文档都有用。
40.4.2 详细规划
| 设备/区域 | 接口 | IP | VRF | 说明 |
|---|---|---|---|---|
| 核心 A | Vlanif110 | 10.10.1.2/24 | HIS_VRF | 一楼网关 VRRP 主 |
| 核心 B | Vlanif110 | 10.10.1.3/24 | HIS_VRF | 一楼网关 VRRP 备 |
| — | VRRP VIP | 10.10.1.1/24 | HIS_VRF | 终端实际网关 |
| 核心 A | Vlanif310 | 10.30.1.2/24 | WAN_VRF | 外网一楼网关主 |
| 核心 B | Vlanif310 | 10.30.1.3/24 | WAN_VRF | 外网一楼网关备 |
| 核心 A | Vlanif2010 | 172.20.1.2/24 | PACS_VRF | 影像网关主 |
| 核心 B | Vlanif2010 | 172.20.1.3/24 | PACS_VRF | 影像网关备 |
| 核心 A/B | Eth-Trunk1 | 10.255.0.2 / .3/30 | 公网 | 核心互联 + 心跳 |
| 出口路由器 | GE0/0/0.30 | 10.30.0.254/16 | WAN_VRF | 外网出口 |
| 出口路由器 | GE0/0/1 | 公网地址 | 公网 | 接互联网 |
| 管理 | Vlanif999 | 10.200.1.2 / .3 | 公网 | 带外管理 |
40.5 关键设计决策
这一节是本章的核心。每一条都写清楚「我们选了 A 而不是 B,因为……」。
40.5.1 决策一:双核心用「VRRP 主备」还是「堆叠/双活」
| 方案 | 做法 | 优点 | 缺点 | 结论 |
|---|---|---|---|---|
| VRRP 主备 | 两台独立核心,跑 OSPF + VRRP,一台主一台备 | 稳定性最好,故障域清晰;一台挂了另一台直接接管;可混搭不同型号 | 备用核心带宽闲置 | ✅ 本项目选这个 |
| 堆叠(iStack/CSS) | 两台虚拟成一台 | 管理简单,带宽利用率 100% | 堆叠分裂风险;一台固件升级另一台也得升;两台必须同型号同版本 | 不选 |
| 双活(M-LAG) | 两台都转发 | 带宽利用率 100%,无分裂风险 | 配置复杂,需要跨设备聚合支持 | 未来演进 |
选 VRRP 的关键理由:医院不能停机,而堆叠有「分裂」这个致命风险。 堆叠分裂时两台设备都以为自己是主,会同时接管同一批 IP,造成全网 IP 冲突——对 HIS 系统来说是灾难性的。VRRP 主备不会出现这个问题,它最坏的情况是「两台都是备」,业务只断不冲突。
代价是备用核心的带宽闲置。 但医院的核心流量峰值也就几百兆,一台 S6730 完全扛得住,闲置不是问题。用编辑带宽换稳定性,在医院这个场景是值得的。
40.5.2 决策二:三网隔离用 VRF 还是「三个独立物理网络」
这是本章最关键的决策。
| 方案 | 做法 | 优点 | 缺点 |
|---|---|---|---|
| 三套完全独立的物理设备 | 内网一套核心+汇聚+接入,外网一套,影像一套 | 隔离最彻底 | 成本三倍;运维三套;改一次配置要改三遍 |
| 一套设备 + VRF 隔离 | 同一批设备上划三个 VRF,路由表互相独立 | 成本低;统一管理;路由天然隔离 | 物理转发面仍是共享的 |
| VLAN 隔离(不用 VRF) | 只用 VLAN 分广播域 | 最简单 | 三层路由仍是同一张表,一处 ACL 疏漏就全网互通 |
选 VRF + 「关键路径物理隔离」的混合方案:
- 控制面用 VRF 隔离——三张独立的路由表,HIS_VRF 里根本没有 PACS 网段的路由,想问也问不到。这比写 ACL 强:ACL 是「加了道门」,VRF 是「根本不在同一栋楼」。
- 转发面用物理路径隔离——影像网和外网各走独立的接入交换机 + 核心专用接口,不与办公流量共享转发通道。
- 不用纯 VLAN 方案——纯 VLAN 的三层网关如果都做在同一台核心上,不同 VLAN 间天然可路由,靠 ACL 挡,而 ACL 写错一条就是三网互通。
这条「VRF + 关键路径物理隔离」的组合,是本项目的设计灵魂。 后面所有配置都是为了实现它。
40.5.3 决策三:影像网怎么保证带宽
影像网的敌人不是「总带宽不够」,而是突发 + 抢占:
- 一次 CT 检查产生 300
800 张 Image,约 300500MB,在 30 秒内涌向 PACS 服务器 - 如果和办公网共享核心上行,办公网的一次大文件下载就能把影像挤掉
做法:
- 独立接入 + 独立上联——影像交换机用自己的千兆上联接核心专用口,不与办公汇聚共享
- 核心上给影像网单独的 Vlanif 和 VRF,PACS 服务器直接挂在核心的影像网段
- QoS 保障——在核心上给影像流量打高优先级(第 47 章会详细讲存储流量优先的做法)
没有做的事:没有给影像网上 10GE。因为服务器端是千兆网卡,链路再快也卡在服务器网卡上。先把瓶颈找对,再花钱。 我们实测发现原来的瓶颈是「影像和办公共享一台核心的背板带宽」,改成独立路径后调片时间从 120 秒降到 8 秒,一条 10GE 都没加。
40.5.4 决策四:核心互联为什么是 Eth-Trunk 而不是单链路
两台核心之间这条线,同时承担三个职责:
| 职责 | 流量特征 | 断了会怎样 |
|---|---|---|
| OSPF 邻居通道 | 心跳,几 Kbps | 两台核心互不可见,各自为政 |
| VRRP 心跳(借道 vlan 或直连) | 1 秒一次 | 双主风险 |
| 跨核心业务流量 | 楼层间互访、服务器访问 | 跨核心的流量全断 |
如果这条线是单链路,它一断,虽然两台核心都活着,但网络已经裂成两半——这就是「脑裂」,比单台设备宕机更难处理。
所以它必须是 Eth-Trunk,两条链路互为备份。 我们用的是两条 10GE 做 mode lacp-static 聚合:一条断了另一条立即承载全部流量,LACP 还会把坏链路自动踢出去。
另一个选型细节:心跳要不要单独拉一根线? 我们的做法是不单独拉,让 VRRP 心跳和业务流量共用这条 Eth-Trunk。理由是:
- 单独拉一根心跳线,交换机要空出两个端口、多布一根线,成本增加
- 而 Eth-Trunk 本身已经是双链路冗余,心跳跑在它上面同样有冗余
- 真要防「Eth-Trunk 整体故障」,那是两台核心同时出问题,单独心跳线也救不了
代价:Eth-Trunk 上如果突发大流量(比如瘫痪楼层的服务器备份),可能挤掉 VRRP 心跳,导致误切主备。所以我们在 Eth-Trunk 上给 VRRP 报文留了 QoS 优先级(见 40.6.8 的 QoS 小节)。
40.5.5 决策五:DHCP 放哪儿、要不要 Option
| 需求 | 方案 | 理由 |
|---|---|---|
| 普通门诊/住院 PC 自动拿地址 | 核心做 DHCP 服务器,按楼层分地址池 | 楼层 VLAN 在核心终结,DHCP 就近 |
| 网络设备管理地址 | 不用 DHCP,静态配置 | 跳板机要能稳定访问 |
| 医疗设备(监护仪、CT) | 不用 DHCP,静态 + MAC 绑定 | 老旧设备可能 DHCP 实现不标准,且 IP 不能变 |
| 无线 AP(后续接入) | DHCP Option 43 | 告诉 AP 去哪个 AC 注册(第 8 章) |
关键决策:医疗设备一律静态 IP + 端口 MAC 绑定。 这不是保守,是踩过坑——某台 2012 年的监护仪 DHCP 租约到期后不去续租,直接停了发包,护士站的监护数据断了半小时才发现。老旧医疗设备对 DHCP 的支持不可靠,别赌。
40.5.6 决策六:HIS 双机怎么保证切换不中断
HIS 主备服务器本身是服务器厂商的双机软件(如 Rose、双机热备)负责的,网络侧要做的是三件事:
- 网关不能变——HIS 服务器的默认网关配 VRRP 虚拟 IP(
10.20.1.1),这样服务器自己主备切换时网关不变 - ARP 要能快速更新——HIS 切换后,虚拟 MAC 会变(如果没配
vrrp virtual-mac enable),核心的 ARP 表要几十秒才更新。必须开vrrp virtual-mac enable(第 7 章讲过) - 会话不能被网络打断——核心侧不能用会话表性质的功能(如严格的 session 检查)去拦 HIS 的 TCP 连接
40.6 完整配置(华为)
40.6.1 模块一:基础与 Eth-Trunk(对应第 5 章)
先建 VRF,再建聚合口。顺序很重要:VRF 必须先建,接口才能绑定。
# 创建三张 VRF(路由表互相隔离)—— 对应第 17 章
system-view
sysname HOSP-CORE-A
ip vpn-instance HIS_VRF
ipv4-family
route-distinguisher 65001:100
vpn-target 65001:100 both
quit
quit
ip vpn-instance WAN_VRF
ipv4-family
route-distinguisher 65001:200
vpn-target 65001:200 both
quit
quit
ip vpn-instance PACS_VRF
ipv4-family
route-distinguisher 65001:300
vpn-target 65001:300 both
quit
quit
vpn-target ... both 表示「同时用于导出和导入」,是官方示例里的标准写法(等价于分别写 export-extcommunity 和 import-extcommunity 两条)。
为什么只有三张 VRF 不需要 RT 互导? 因为三网不允许互通。RT(vpn-target)只在需要跨 VRF 泄露路由时才用,本项目刻意不配,就是为了让三张路由表彻底独立。
接着是核心互联与心跳用的 Eth-Trunk:
# 核心互联 Eth-Trunk(同时承载 OSPF 邻居与 VRRP 心跳)—— 对应第 5 章
interface Eth-Trunk1
description CORE-INTERCONNECT
mode lacp-static
ip address 10.255.0.2 255.255.255.252
quit
interface 10GE1/0/1
eth-trunk 1
quit
interface 10GE1/0/2
eth-trunk 1
quit
mode lacp-static 是静态 LACP 模式,比 manual 多了链路状态检测:一条成员线断了,LACP 自动把它踢出聚合组,而不是继续往坏线上发一半报文。
40.6.2 模块二:STP 与边缘端口(对应第 4 章)
# 全局:RSTP + BPDU 保护 —— 对应第 4 章
stp mode rstp
stp bpdu-protection
# 所有接终端的接口默认设为边缘端口
stp edged-port default
stp bpdu-protection 是关键:如果有人把一台家用路由器插到接入端口上,它发 BPDU 会引发全网 STP 重算。开了 BPDU 保护,收到 BPDU 的端口直接进入 error-down,保护整个网络。
⚠ 注意:
stp edged-port default会把所有端口设成边缘端口,包括级联端口——级联端口必须是普通端口。所以级联口要单独undo stp edged-port。这一条在 40.8 的踩坑里有真实案例。
40.6.3 模块三:VRF 接口与 VRRP(对应第 7、17 章)
# 内网一楼网关 —— 对应第 7 章 VRRP + 第 17 章 VRF
vlan 110
quit
interface Vlanif110
ip binding vpn-instance HIS_VRF
ip address 10.10.1.2 255.255.255.0
vrrp vrid 10 virtual-ip 10.10.1.1
vrrp vrid 10 priority 120
vrrp virtual-mac enable
quit
# 外网一楼网关
vlan 310
quit
interface Vlanif310
ip binding vpn-instance WAN_VRF
ip address 10.30.1.2 255.255.255.0
vrrp vrid 30 virtual-ip 10.30.1.1
vrrp vrid 30 priority 120
vrrp virtual-mac enable
quit
# 影像网网关(独立 VLAN 与 VRF)
vlan 2010
quit
interface Vlanif2010
ip binding vpn-instance PACS_VRF
ip address 172.20.1.2 255.255.255.0
vrrp vrid 201 virtual-ip 172.20.1.1
vrrp vrid 201 priority 120
vrrp virtual-mac enable
quit
核心 B 上的对应配置:IP 改成 .3,priority 120 去掉(用默认 100 变备),其余完全一致。
vrrp virtual-mac enable 是 HIS 双机切换能否平滑的关键——切到备设备后,虚拟 MAC 不变,服务器和网关的 ARP 表不用重学。
40.6.4 模块四:OSPF 多区域(对应第 11 章)
三张 VRF 各跑一个 OSPF 进程,互相完全隔离:
# HIS_VRF 的 OSPF 进程(区域 0 为核心,楼层为区域 1/2)—— 对应第 11 章
ospf 10 vpn-instance HIS_VRF router-id 10.255.0.2
area 0.0.0.0
network 10.10.0.0 0.0.255.255
network 10.20.0.0 0.0.255.255
network 10.255.0.2 0.0.0.0
quit
quit
# WAN_VRF 的 OSPF 进程
ospf 20 vpn-instance WAN_VRF router-id 10.255.0.2
area 0.0.0.0
network 10.30.0.0 0.0.255.255
quit
quit
# PACS_VRF 的 OSPF 进程(影像网只有核心和服务器,单区域即可)
ospf 30 vpn-instance PACS_VRF router-id 10.255.0.2
area 0.0.0.0
network 172.20.0.0 0.0.255.255
quit
quit
为什么三张 VRF 用三个不同的 OSPF 进程号? 因为同一个 OSPF 进程号在华为上可以绑定不同 VRF(ospf 10 vpn-instance X),但为了排障时一眼看出是哪个网,用不同号更清晰。这是可读性上的取舍,不是技术要求。
40.6.5 模块五:DHCP(对应第 8 章)
# 全局 DHCP 开关 —— 对应第 8 章
dhcp enable
# 内网一楼地址池(绑定到 HIS_VRF)
ip pool HOSP_HIS_1F
network 10.10.1.0 mask 255.255.255.0
gateway-list 10.10.1.1
dns-list 10.20.1.10 10.20.1.11
excluded-ip-address 10.10.1.1 10.10.1.20
lease day 3
vpn-instance HIS_VRF
quit
# 外网一楼地址池(绑定到 WAN_VRF)
ip pool HOSP_WAN_1F
network 10.30.1.0 mask 255.255.255.0
gateway-list 10.30.1.1
dns-list 8.8.8.8
excluded-ip-address 10.30.1.1 10.30.1.20
lease day 1
vpn-instance WAN_VRF
quit
# 接口上启用全局地址池
interface Vlanif110
dhcp select global
quit
interface Vlanif310
dhcp select global
quit
地址池必须用
vpn-instance绑定到对应 VRF,否则设备不知道在哪个 VRF 里发地址——这是一个非常隐蔽的坑,配漏了终端拿不到地址但没有任何报错。
影像网不发 DHCP:PACS 服务器和 CT/MR 工作站都是静态 IP,理由见 40.5.4。
40.6.6 模块六:流量镜像(对应第 18 章)
医院最常见的排障需求是「某台医疗设备的报文抓不到」。用镜像把它的口复制到分析仪:
# 定义观察口:把 10GE1/0/24 作为抓包出口 —— 对应第 18 章
observe-port 1 interface 10GE1/0/24
# 把医疗设备所在的接入口镜像出去
interface GigabitEthernet1/0/5
description CT-WORKSTATION
port-mirroring to observe-port 1 inbound
quit
inbound 表示只镜像从这个口进来的报文。如果要双向,用 both。
为什么观察口要单独留一个? 因为抓包时分析仪要占用一个物理口。很多方案临时拔掉一个业务口来抓包,结果抓包过程中业务断了。预留一个「永远空着」的抓包口,是医院这种不能停机环境的基本素养。
40.6.7 模块七:QoS 保障心跳与大带宽调度(对应第 5 章延伸)
Eth-Trunk 上跑着 VRRP 心跳,如果突发的备份流量把它挤掉,会误切主备。所以给控制报文打高优先级:
# 给 VRRP 报文(组播 224.0.0.18)高优先级 —— 华为 QoS
acl number 3800
rule 5 permit ip destination 224.0.0.18 0
quit
traffic classifier CLS_VRRP operator or
if-match acl 3800
quit
traffic behavior BEH_VRRP
remark local-precedence 2
quit
traffic policy POL_VRRP
classifier CLS_VRRP behavior BEH_VRRP
quit
interface Eth-Trunk1
traffic-policy POL_VRRP inbound
quit
remark local-precedence 2 表示把这个报文的内部优先级改成 2(数值越小越优先,0 最高)。注意不是 priority high——华为 traffic behavior 里没有这个命令,改优先级用 remark。
为什么不直接用 port priority 而要用 traffic policy? 因为 port priority 是按端口给优先级(整个口的报文都高),而我们要的是同一个口上只给 VRRP 这一个特定报文高优先级,必须用 traffic classifier 精细匹配。
40.6.8 模块八:端口安全与 MAC 绑定(对应第 9 章)
# 医疗设备接入端口:只允许一个 MAC —— 对应第 9 章
interface GigabitEthernet1/0/6
description MONITOR-BED-301
port-security enable
port-security max-mac-num 1
port-security mac-address sticky
quit
port-security max-mac-num 1 表示这个口只允许一个 MAC 地址。医疗设备的口如果有人插了一台交换机上来接多个终端,会直接触发保护——这既是安全,也是防误接。
40.7 完整配置(H3C)
H3C 侧的思路完全一样,命令不同。这里只给差异,和华为完全相同的部分(如 VLAN 规划)从略。
40.7.1 VRF 与接口绑定(对应第 17 章)
# H3C 的 VRF 创建 —— 对应第 17 章
system-view
sysname HOSP-CORE-A
ip vpn-instance HIS_VRF
quit
ip vpn-instance WAN_VRF
quit
ip vpn-instance PACS_VRF
quit
# 接口绑定 VRF
vlan 110
quit
interface Vlan-interface110
ip binding vpn-instance HIS_VRF
ip address 10.10.1.2 24
quit
40.7.2 VRRP(对应第 7 章)
# H3C 的 VRRP —— 对应第 7 章
interface Vlan-interface110
vrrp vrid 10 virtual-ip 10.10.1.1
vrrp vrid 10 priority 120
quit
⚠ 待核实:待核实 H3C 是否支持等价于华为
vrrp virtual-mac enable的虚拟 MAC 功能及其命令名,本项目在 H3C 侧未使用该特性,需按 Comware V7 命令参考确认
40.7.3 OSPF 多实例(对应第 11 章)
# H3C 的 OSPF 绑 VRF —— 对应第 11 章
ospf 10 vpn-instance HIS_VRF router-id 10.255.0.2
area 0.0.0.0
network 10.10.0.0 0.0.255.255
quit
quit
40.7.4 镜像(对应第 18 章)
# H3C 的本地镜像组 —— 对应第 18 章
mirroring-group 1 local
mirroring-group 1 mirroring-port GigabitEthernet1/0/5 both
mirroring-group 1 monitor-port GigabitEthernet1/0/24
H3C 的写法是先建镜像组,再分别指定「镜像源口」和「观察口」,与华为「先定义 observe-port、再在业务口上引用」的顺序相反。
40.7.5 QoS(对应华为 40.6.7 的同一需求)
# H3C 侧给 VRRP 报文高优先级
acl advanced 3800
rule 5 permit ip destination 224.0.0.18 0
quit
traffic classifier CLS_VRRP operator or
if-match acl 3800
quit
traffic behavior BEH_VRRP
remark local-precedence 2
quit
qos policy POL_VRRP
classifier CLS_VRRP behavior BEH_VRRP
quit
interface Bridge-Aggregation1
qos apply policy POL_VRRP inbound
quit
⚠ 待核实:待核实 H3C Comware V7 中
qos policy+qos apply policy与traffic behavior的组合写法(H3C 有qos policy与traffic policy两套并存),需按具体版本 QoS 配置指导确认
40.7.6 Eth-Trunk(对应第 5 章)
# H3C 的聚合口 —— 对应第 5 章
interface Bridge-Aggregation1
link-aggregation mode dynamic
ip address 10.255.0.2 30
quit
interface GigabitEthernet1/0/1
port link-aggregation group 1
quit
40.8 验证清单
按顺序验,每项都要打勾。
| 序号 | 验证项 | 华为命令 | H3C 命令 | 期望结果 |
|---|---|---|---|---|
| 1 | 三张 VRF 已创建 | display ip vpn-instance |
display ip vpn-instance |
三个实例都在 |
| 2 | 接口绑定了正确 VRF | display ip interface Vlanif110 |
display ip interface Vlan-interface110 |
显示所属 VRF |
| 3 | 三网确实隔离 | 从 HIS 终端 ping 影像网 | 同左 | 不通(超时,不是拒绝) |
| 4 | VRRP 主备正常 | display vrrp |
display vrrp |
A 为 Master,B 为 Backup |
| 5 | 虚拟 MAC 已生效 | display vrrp verbose |
— | 虚拟 MAC 一致 |
| 6 | OSPF 邻居 Full | display ospf peer |
display ospf peer |
各 VRF 内邻居 Full |
| 7 | DHCP 发地址正常 | display ip pool name HOSP_HIS_1F |
display dhcp server ip-in-use |
Used 计数增长 |
| 8 | Eth-Trunk 成员全选中 | display eth-trunk 1 |
display link-aggregation verbose |
全部 Selected |
| 9 | BPDU 保护就绪 | display stp |
display stp |
根桥为 Core A |
| 10 | 镜像可抓包 | 在观察口接分析仪 | 同左 | 能看到被镜像的报文 |
| 11 | 核心切换实测 | 拔 Core A 上行 | 同左 | 业务中断 ≤ 5 秒 |
第 3 项和第 11 项是本章的两个验收命门。
第 3 项要特别注意「不通」的表现形式:如果是 超时(timeout),说明路由表里根本没有对方网段,隔离成功;如果是 目标不可达(unreachable),说明路由有了但被 ACL 挡了,那是另一回事。两者含义完全不同,排障时必须分清。
第 11 项必须真做一次,而且要在业务低峰、有回滚预案的前提下做。没做过切换测试的高可用,只是理论上可用。
40.9 本项目踩过的坑
坑一:stp edged-port default 把级联口也设成了边缘口
现象:上线当天,二楼接入交换机的级联口反复 error-down,二楼整层断网,每 30 秒断一次。
原因:我们图省事,全局敲了 stp edged-port default 把所有口设成边缘端口。边缘端口收到 BPDU 会触发 stp bpdu-protection,把口 shutdown——而级联口天天在收对端的 BPDU。
解决:级联口逐个 undo stp edged-port,只让接终端的口保留边缘属性。
教训:全局默认值是把双刃剑。 方便了 95% 的端口,坑了剩下 5% 的级联口。
坑二:DHCP 地址池没绑 VRF,终端拿不到地址(且无任何报错)
现象:内网一楼 PC 全部拿 169.254.x.x,查地址池 display ip pool name HOSP_HIS_1F 显示配置正常,地址一个没发出。
原因:地址池漏了 vpn-instance HIS_VRF。接口在 HIS_VRF 里,地址池却在公网 VRF 里,两边对不上,设备直接不回包——没有任何日志。
解决:地址池加上 vpn-instance HIS_VRF。
教训:在 VRF 环境里,每配一个「资源对象」(地址池、路由、ACL)都要问一遍「它在哪个 VRF 里」。 忘了不一定报错,但一定不生效。
坑三:HIS 双机切换后,客户端要 30 秒才恢复
现象:HIS 主服务器切换,网络侧一切正常,但医生工作站要等 30 秒才能重新连上。
原因:没开 vrrp virtual-mac enable。HIS 切换后虚拟 IP 迁移到了另一台服务器,但客户端缓存的还是旧的 MAC,要等 ARP 老化(默认 20 分钟,被我们调过)才更新。
解决:核心上开启 vrrp virtual-mac enable,切换后虚拟 MAC 不变。
教训:「高可用」不只是设备不宕机,还包括「上层感知不到切换」。 少了虚拟 MAC 这一条,设备切换很快,但业务感知很慢。
坑四:影像网独立交换机买了三层设备,白花钱
现象:采购时误买了三层交换机做影像接入,多花了两万块。
原因:默认「独立网络就该用三层」。但实际上影像接入交换机只需要二层转发,路由全在核心上做(PACS_VRF 的网关在核心)。
教训:先定架构再定设备。 本方案里接入层永远是二层,三层集中在核心——这个架构定下来之后,接入交换机买二层的就够了。
坑五:把「三网隔离」理解成「三网互不影响」,结果影像网还是拖慢了 HIS
现象:三网 VRF 配完、也能互相 ping 不通了,但白天 PACS 调片时 HIS 还是有卡顿。
原因:VRF 只隔离了路由表,没有隔离转发面。 影像接入交换机当时还是挂在同一个汇聚上,物理链路上和办公流量抢带宽。后来才改成独立接入 + 独立上联。
教训:这是本章最重要的一条——逻辑隔离(VRF/VLAN)解决「能不能访问」,物理隔离解决「抢不抢带宽」。两者都要做。
40.10 小结
40.10.1 本章覆盖的前文模块
| 模块 | 对应章节 | 在本案例中的作用 |
|---|---|---|
| 链路聚合 | 第 5 章 | 核心互联 + 心跳,双链路冗余 |
| STP/RSTP + BPDU 保护 | 第 4 章 | 防环路、防误接家用路由器 |
| VRRP 双网关 | 第 7 章 | 核心单点故障不间断 |
| VRF 三网隔离 | 第 17 章 | 本章核心:三张独立路由表 |
| OSPF 多区域 | 第 11 章 | 各 VRF 内实现动态路由 |
| DHCP + Option | 第 8 章 | 终端自动获取地址 |
| 流量镜像 | 第 18 章 | 医疗设备抓包排障 |
| 端口安全 | 第 9 章 | 医疗设备端口 MAC 绑定 |
40.10.2 三条可以带走的结论
- VRF 管「能不能访问」,物理路径管「抢不抢带宽」。 医院案例的教训是:只做 VRF 不够,关键路径必须物理分开。
- 医院这种不能停机的场景,宁可选「简单但稳定」的方案(VRRP 主备),也不要选「先进但有分裂风险」的方案(堆叠)。
- 高可用要算上「上层感知时间」。 设备切换 1 秒,如果上层要 30 秒才发现,实际中断就是 30 秒。
40.10.3 三网隔离的排障口诀
在 VRF 环境里排障,和单 VRF 完全不一样。记住这个顺序:
| 步骤 | 检查什么 | 命令 | 常见误判 |
|---|---|---|---|
| 1 | 接口在不在正确的 VRF | display ip interface brief |
接口直接配了地址忘了 ip binding vpn-instance |
| 2 | 该 VRF 里有没有路由 | display ip routing-table vpn-instance HIS_VRF |
直接敲 display ip routing-table 看不到 VRF 路由 |
| 3 | OSPF 邻居在哪个进程 | display ospf peer |
邻居是 Full 但在错误的 VRF 里 |
| 4 | 真正 ping 通没有 | ping -vpn-instance HIS_VRF 10.20.1.10 |
不带 -vpn-instance 的 ping 走的是公网 VRF,一定不通 |
第 2 步和第 4 步是最容易误判的两处,因为它们的默认行为是「查公网」。你在 HIS_VRF 里配好了一切,但敲 display ip routing-table 看到的是公网的空白路由表,会误以为路由没起来。
同样,ping 10.20.1.10 不通不代表三网隔离正常——也可能是你忘了带 -vpn-instance 参数,本来就没走对 VRF。
正确的验证方式是带上 VRF 参数:
# 验证 HIS_VRF 内的连通性(华为)
ping -vpn-instance HIS_VRF 10.20.1.10
# 查看某个 VRF 的路由表
display ip routing-table vpn-instance HIS_VRF
# 看 VRF 详情
display ip vpn-instance verbose
判断三网是否真隔离,要用「正向 + 反向」两次验证:从 HIS_VRF 里 ping 影像网地址应该超时,再带上 PACS_VRF 参数 ping 同一地址应该通。只做第一次会误判(可能只是参数没带对)。
40.10.4 延伸思考
如果你要给这家医院做二期改造,可以考虑三件事:
- 核心互联从 Eth-Trunk 升级到 10GE——目前 OSPF 收敛和影像同步都在抢这条链路
- 影像网引入 M-LAG 双活——现在影像接入是单线上联,虽然核心有 VRRP,但接入交换机本身是单点
- 把管理网彻底带外化——目前管理 VLAN 还和业务共用物理链路,业务口 down 时管理也断
第 47 章的数据中心案例会展开讲 M-LAG 与跨设备聚合,可以接着读。
关于本书:《华为 / H3C 网络设备典型功能配置详解》—— 面向国内高校/企业网络环境, 华为 VRP 与 H3C Comware 双厂商并排配置的实操教材,共 43 章。 全书所有命令尽量有官方出处,查不到的显式标注「待核实」。 返回系列目录
本人保留对侵权者及其全家发动因果律武器的权利
版权提醒
如无特殊申明,本站所有文章均是本人原创。转载请务必附上原文链接:https://www.elliot98.top/post/huawei-h3c-book/40/。
如有其它需要,请邮件联系!版权所有,违者必究!