跳到正文
Lutong's Homepage

华为H3C实战 | 第37章 校园网综合案例

📚 本系列共 43 篇(第 37 / 43 篇) · 第六卷 实战与附录篇 —— 把它们拼起来

← 上一篇:第 36 章 BRAS 排错专题  下一篇:第 38 章 小型办公网从零配置 →


本章导读:前面几十章都是零件,这一章把零件装成一台能跑的机器:一所 3000 个有线信息点、120 台 AP、双运营商出口的中等规模校园网,从需求清单一路讲到机柜里最后一根网线。

本章结构:

  • 37.1 案例背景与总体设计 —— 需求清单、三层架构为什么这么分、VLAN/IP 规划表、带宽与设备选型的算账过程、VLAN 规划的四个错误样本
  • 37.2 华为设备完整配置 —— 出口路由器、核心、汇聚、接入、AC 旁挂、Portal+RADIUS、双出口备份、核心双机逐台给全
  • 37.3 H3C 设备完整配置 —— 同构拓扑的 H3C 版逐台配置,附 H3C 侧三个"先记住"和无线调试顺序
  • 37.4 华为 / H3C 命令对照表
  • 37.5 上线步骤与验证清单 —— 上线顺序(千万别倒着来)、两侧验证命令、割接前逐项打勾的验收清单
  • 37.6 排错与故障树 —— 割接排期与回滚预案、分层排错法、三类最典型故障
  • 37.7 新手踩坑与注意事项
  • 37.8 本章小结

重点提示:37.1.4 的规划表是整章的地基,配错一个 VLAN 后面全返工,动手前先抄下来;真实施工按 37.5.1 的顺序走,倒序一定返工;割接前把 37.5.4 的验收清单打满勾,同时准备好 37.6.0 的回滚预案。 关联章节:VLAN/STP/聚合/网关见第 36 章;OSPF 见第 11 章;AC 与 AP 上线见第 19 章;Portal 与 RADIUS 见第 21 章;BRAS 侧的认证计费见第 3135 章。

37.1 案例背景与总体设计

37.1.1 这一章是干嘛的(通俗版)

前面三十几章,每一章都在讲一个零件:VLAN 是一个零件,STP 是一个零件,OSPF 是一个零件,AC 上线是一个零件。但真正进了机房,你不会遇到「只考 VLAN 的题」。你会遇到一栋楼、一个学校——几千个终端、几十台交换机、两个出口运营商、一堆 AP、一套认证计费系统,全部要同时跑起来。

这一章就是把零件装成一台完整的机器。我们拿一所典型的中等规模校园来举例:一栋教学楼、一栋宿舍楼、一栋办公楼、一片无线覆盖,一共 3000 个左右的有线信息点、120 台 AP,出口是电信和联通两条 1Gbps 链路,上网需要认证(老师学生用账号登录)。我们从需求开始,一路讲到机柜里最后一根网线怎么扎。

打个比方:零件篇教你怎么磨刀、怎么握剑;这一章教你怎么打完一整套连招——当破即破,当断即断,知道哪一刀先出。

37.1.2 案例的需求清单(先想清楚要什么)

任何组网设计的起点都是需求。这一节把需求列成表,后面所有技术选择都能在这张表里找到理由。

需求 具体指标 设计上的对应
有线接入 教学楼 1800 口、宿舍楼 900 口、办公楼 300 口 三层架构 + 以太网接入
无线覆盖 120 台 AP,覆盖教室、宿舍、会议室 AC 旁挂 + CAPWAP 集中管理
上网认证 教职工/学生账号登录,可计费统计 Portal 认证 + RADIUS
出口带宽 电信 1Gbps + 联通 1Gbps 双出口 + 负载分担 + 链路备份
业务隔离 办公、教学、宿舍、无线、服务器、运维互相隔离 VLAN 规划 + 三层 ACL
可靠性 单点故障不能导致整网断 核心双机 + VRRP + 双上行
可运维 远程 SSH 管理、日志集中、NTP 统一时间 管理 VLAN + Syslog + NTP
可扩展 三年内新增一栋楼不重构网络 预留 VLAN 段与 IP 段

37.1.3 三层架构为什么是这个样子

校园网的标准打法叫「核心层—汇聚层—接入层」三层架构。名字听着玄,其实就是「片区制」:

  • 接入层:每层楼/每间机房的接入交换机,负责把终端接进来,只做二层(VLAN 划分、STP、端口安全)。它数量最多、最便宜、最不聪明。
  • 汇聚层:每栋楼或每个片区一台(或一对)汇聚交换机,负责把这一片的流量「收拢」,同时充当这一片的网关(跑 VLANIF 和 OSPF),并在这里做 ACL 和认证策略。
  • 核心层:两台核心交换机,只负责高速转发和连接出口,不挂终端,本层不做任何策略,追求的是「越快越好、越少动越好」。

下面是本案例的拓扑,画出来脑子里才有图:

                          [ Internet ]
                               |
                   电信 1Gbps  |  联通 1Gbps
                 +-------------+-------------+
                 |                           |
            [ R1 出口路由器 ]           [ R2 出口路由器 ]
                 |    (静态路由 + 浮动备份)    |
                 +-------------+-------------+
                               | 10.200.0.0/24 出口互联 VLAN 400
                 +-------------+-------------+
                 |   [ CORE-A ]    [ CORE-B ]
                 |      |             |        <- 核心双机,VRRP 跑在汇聚层
                 |      +------+------+        <- 核心之间 Eth-Trunk 堆叠/聚合
                 |             |
        +--------+--------+----+----+---------+
        |                 |               |
   [AGG-TEACH]       [AGG-DORM]     [AGG-OFFICE]
        |                 |               |
   +----+----+       +----+----+     +----+----+
   |    |    |       |    |    |     |    |    |
 [ACC] [ACC] [ACC] [ACC][ACC][ACC] [ACC][ACC][ACC]
   |    |    |       |    |    |     |    |    |
   PC   PC   PC     PC  PC   PC     PC   PC   PC
        |
        +--- [ AC ]  旁挂(单臂,挂在核心上)
        +--- [ RADIUS / Portal 服务器 ]

37.1.4 VLAN 与 IP 地址规划

规划表是整章最重要的一张表。配错一个 VLAN,后面全要返工。规划原则只有三条:

  1. 按业务分 VLAN,不按楼层分 VLAN——同一业务跨楼共享广播域(如所有宿舍一个 VLAN 段),便于策略统一。
  2. VLAN ID 与 IP 第三段对齐——VLAN 10 配 192.168.10.0/24,VLAN 20 配 192.168.20.0/24,看到 IP 就知道 VLAN,看到 VLAN 就知道 IP。
  3. 管理和业务分开——设备管理地址单独一个 VLAN、单独一个网段,且只允许运维网段访问。
用途 VLAN ID 网段 网关(VRRP 虚 IP) 说明
办公 10 192.168.10.0/24 192.168.10.1 AGG-OFFICE 为主
教学机房 20 192.168.20.0/24 192.168.20.1 AGG-TEACH 为主
宿舍 30 192.168.30.0/24 192.168.30.1 AGG-DORM 为主,按楼可再细分
无线-教职工 40 192.168.40.0/24 192.168.40.1 AC 隧道转发
无线-学生 50 192.168.50.0/24 192.168.50.1 AC 隧道转发
服务器 60 192.168.60.0/24 192.168.60.1 只允许指定源访问
设备管理 100 10.200.100.0/24 10.200.100.1 所有交换机 Vlanif 100
AP 管理 101 10.200.101.0/24 10.200.101.1 DHCP Option 43 指向 AC
AC 与 RADIUS 互联 200 10.200.200.0/24 — 服务器侧
汇聚与核心互联 300 10.200.0.0/24 内划分 — 点对点 /30 或 /31
出口互联 400 10.200.4.0/24 — 到出口路由器

适用版本:华为 VRP V200R019 及以上(S5700/S6700/S12700 系列、AR6000、AC6005/AC6608);H3C Comware V7(R2610 及以上,S5130S/S6520X/WX3540H/MSR3610-X1)。

37.1.5 带宽与设备选型的算账过程

组网方案的每一处设计都要能算给甲方看。这一小节把「为什么用这台设备、为什么链路要这么大」的账算一遍。

先算接入端口数。教学楼 1800 口、宿舍 900 口、办公楼 300 口,共 3000 口。一台 24 口接入交换机在扣掉 2 个上行口后可用 22 口,那么需要约 137 台。为了便于分层管理,按楼层分组,每层 2 台,一共约 140 台接入交换机。这是典型的「量大、单台便宜、故障影响面小」的角色,选型时看重的是稳定性和 PoE 供电能力(接 AP 和 IP 电话需要)。

再算上联带宽。一个 24 口接入交换机满配时,理论峰值 24 × 1Gbps = 24Gbps,但实际上终端不会同时打满。经验值是收敛比 1:4 到 1:8:上行 1Gbps 可以服务 4~8 个千兆下行口。所以每台接入交换机至少一条千兆上行,重要楼层用两条千兆做聚合。汇聚到核心按 10Gbps 起步更稳妥——本案例汇聚用 2 条 10Gbps 做 Eth-Trunk,核心有更大的背板余量。

然后是出口。3000 个信息点、约 2000 个同时在线终端,平均每人 2~5Mbps 的实际需求,总量约 10Gbps。但学校出口受运营商的资费限制,通常是 1Gbps + 1Gbps 起步,出口带宽永远是瓶颈,这是个现实。所以要配合限速和流量控制,不能指望出口无限大。

设备层 数量 关键指标 选型理由
接入交换机 ≈140 台 24×千兆电口 + 4×万兆光口,PoE 量大价低,PoE 供 AP
汇聚交换机 3 台(每片区 2 台做 VRRP) 24×万兆光口,三层能力 承担片区网关与策略
核心交换机 2 台 高背板、高转发,冗余电源 只转发不策略
出口路由器 2 台 多 WAN 口,NAT 性能 ≥2Gbps 双出口 + NAT
无线控制器 1 台(AC6005/WX3540H) 支持的 AP 数 ≥200 120 台 AP 有余量
AP 120 台 Wi-Fi 6,2.4G/5G 双频 覆盖教室与宿舍

这张表的价值在于:甲方问「为什么这么贵」时,你能指着表说每一分钱花在哪。工程上从来没有「越多越好」,只有「匹配需求」。

37.1.6 VLAN 规划的常见错误样本

规划表看着简单,实际做的时候坑很多。这里列出四个真实发生过的错误方案,以及为什么错:

错误一:按楼层分 VLAN。 比如 1 楼 VLAN 1、2 楼 VLAN 2……这样做的后果是:同一部门的人被拆成几十个广播域,部门内共享打印机、共享文件服务器全部要跨三层走,路由策略要写几十份。正确做法是按业务类型分,跨楼层共享。

错误二:所有设备用 VLAN 1。 有人觉得「反正内网都通就行」。问题是 VLAN 1 无法被 ACL 有效隔离、STP 抖动会全网泛洪、广播风暴没有任何边界。上线三个月一定出问题。

错误三:管理 VLAN 与业务 VLAN 复用。 交换机管理地址和用户终端放在同一个 VLAN 里,学生随便扫一下网段就能发现全部交换机的 IP,SSH 爆破一分钟内就开始。管理面必须独立 VLAN,并且只允许运维网段访问。

错误四:VLAN ID 与 IP 段不对应。 比如 VLAN 10 配 192.168.55.0/24,VLAN 20 配 192.168.10.0/24。半年后换人接手,没有人能凭 IP 猜出 VLAN,所有排障都要翻文档。这是「为了省事埋的坑,为了省时间挖的坑」。

37.2 华为设备完整配置

本节给出华为版本的整套配置,按「出口路由器 → 核心 → 汇聚 → 接入 → AC → 认证」的顺序,可以直接照抄改 IP。

37.2.1 出口路由器 R1(AR6140-16G4XG)

出口路由器干三件事:跑 NAT、跑默认路由和备份、做最基本的出方向 ACL。先配接口和 NAT:

<HUAWEI> system-view
[HUAWEI] sysname R1

# 内网侧接口:连接核心的出口互联 VLAN 400
[R1] interface GigabitEthernet0/0/0
[R1-GigabitEthernet0/0/0] description TO-CORE-VLAN400
[R1-GigabitEthernet0/0/0] ip address 10.200.4.2 24
[R1-GigabitEthernet0/0/0] quit

# 外网侧接口:电信
[R1] interface GigabitEthernet0/0/1
[R1-GigabitEthernet0/0/1] description TO-CTCC
[R1-GigabitEthernet0/0/1] ip address 100.64.8.2 30
[R1-GigabitEthernet0/0/1] quit

# NAT:内网出方向做 Easy IP,用外网口地址转换
[R1] acl number 2000
[R1-acl-basic-2000] rule 5 permit source 192.168.0.0 0.0.255.255
[R1-acl-basic-2000] rule 10 permit source 10.200.0.0 0.0.255.255
[R1-acl-basic-2000] quit
[R1] interface GigabitEthernet0/0/1
[R1-GigabitEthernet0/0/1] nat outbound 2000
[R1-GigabitEthernet0/0/1] quit

接着配路由:默认路由走电信,另一条默认路由指向核心并降低优先级做法有问题——正确的做法是「核心侧有两条默认路由,分别指向两台出口路由器,指定不同优先级」。这里先给出口路由器配上联默认路由和回程明细路由:

# 去往 Internet 的默认路由(运营商给的下一跳)
[R1] ip route-static 0.0.0.0 0.0.0.0 100.64.8.1

# 回程:内网明细网段走核心(VRRP 虚网关在汇聚,核心知道怎么过去)
[R1] ip route-static 192.168.0.0 255.255.0.0 10.200.4.1
[R1] ip route-static 10.200.100.0 255.255.255.0 10.200.4.1
[R1] ip route-static 10.200.101.0 255.255.255.0 10.200.4.1
[R1] ip route-static 10.200.200.0 255.255.255.0 10.200.4.1

# 保存
[R1] quit
<R1> save

37.2.2 核心交换机 CORE-A(S12700E 或 S6730-H)

核心交换机只做三件事:开 VLAN、跑和汇聚之间的 OSPF、把默认路由下发给汇聚。注意核心侧不要开 access 口接终端。

<HUAWEI> system-view
[HUAWEI] sysname CORE-A

# 批量建 VLAN
[CORE-A] vlan batch 10 20 30 40 50 60 100 101 200 300 400

# 与汇聚机互联的接口:三层口(S 系列可 portswitch 切换)
[CORE-A] interface GigabitEthernet1/0/1
[CORE-A-GigabitEthernet1/0/1] description TO-AGG-TEACH
[CORE-A-GigabitEthernet1/0/1] port link-type trunk
[CORE-A-GigabitEthernet1/0/1] port trunk allow-pass vlan 300 400
[CORE-A-GigabitEthernet1/0/1] quit

# 核心间互联:Eth-Trunk 承载全部业务 VLAN 与 OSPF
[CORE-A] interface Eth-Trunk 1
[CORE-A-Eth-Trunk1] description TO-CORE-B
[CORE-A-Eth-Trunk1] port link-type trunk
[CORE-A-Eth-Trunk1] port trunk allow-pass vlan 10 20 30 40 50 60 100 101 200 300 400
[CORE-A-Eth-Trunk1] quit
[CORE-A] interface GigabitEthernet1/0/2
[CORE-A-GigabitEthernet1/0/2] eth-trunk 1
[CORE-A-GigabitEthernet1/0/2] quit
[CORE-A] interface GigabitEthernet1/0/3
[CORE-A-GigabitEthernet1/0/3] eth-trunk 1
[CORE-A-GigabitEthernet1/0/3] quit

然后配三层接口和 OSPF。核心与汇聚互联网段用 10.200.1.0/30 这类点对点地址:

# 核心到汇聚的三层接口
[CORE-A] interface Vlanif 300
[CORE-A-Vlanif300] description TO-AGG
[CORE-A-Vlanif300] ip address 10.200.1.2 30
[CORE-A-Vlanif300] quit

# 到出口路由器的三层接口
[CORE-A] interface Vlanif 400
[CORE-A-Vlanif400] description TO-EXPORT
[CORE-A-Vlanif400] ip address 10.200.4.1 24
[CORE-A-Vlanif400] quit

# 管理地址
[CORE-A] interface Vlanif 100
[CORE-A-Vlanif100] ip address 10.200.100.11 24
[CORE-A-Vlanif100] quit

# OSPF:核心与汇聚跑 area 0
[CORE-A] ospf 1 router-id 10.200.100.11
[CORE-A-ospf-1] area 0
[CORE-A-ospf-1-area-0.0.0.0] network 10.200.1.0 0.0.0.3
[CORE-A-ospf-1-area-0.0.0.0] network 10.200.4.0 0.0.0.255
[CORE-A-ospf-1-area-0.0.0.0] network 10.200.100.0 0.0.0.255
[CORE-A-ospf-1-area-0.0.0.0] quit
[CORE-A-ospf-1]

# 核心把默认路由注入 OSPF,告诉全网「出口我这儿有」
[CORE-A-ospf-1] default-route-advertise
[CORE-A-ospf-1] quit

# 指向出口路由器的默认路由
[CORE-A] ip route-static 0.0.0.0 0.0.0.0 10.200.4.2

# 双出口:第二条默认路由,优先级调低(preference 越小越优先,默认 60)
[CORE-A] ip route-static 0.0.0.0 0.0.0.0 10.200.5.2 preference 80

CORE-B 的配置与 A 完全对称,只改 IP 和 router-id。这里给出关键差异点:

[HUAWEI] sysname CORE-B
[CORE-B] vlan batch 10 20 30 40 50 60 100 101 200 300 400
[CORE-B] interface Vlanif 300
[CORE-B-Vlanif300] ip address 10.200.1.6 30
[CORE-B-Vlanif300] quit
[CORE-B] interface Vlanif 100
[CORE-B-Vlanif100] ip address 10.200.100.12 24
[CORE-B-Vlanif100] quit
[CORE-B] ospf 1 router-id 10.200.100.12
[CORE-B-ospf-1] area 0
[CORE-B-ospf-1-area-0.0.0.0] network 10.200.1.4 0.0.0.3
[CORE-B-ospf-1-area-0.0.0.0] network 10.200.100.0 0.0.0.255
[CORE-B-ospf-1-area-0.0.0.0] quit
[CORE-B-ospf-1] default-route-advertise
[CORE-B-ospf-1] quit

37.2.3 汇聚交换机 AGG-TEACH(S6730-H)

汇聚是本章的「主角」:它既是这一片的网关(VLANIF + VRRP),又要和核心跑 OSPF,还要挂 ACL 策略。先配 VLAN 和上行:

<HUAWEI> system-view
[HUAWEI] sysname AGG-TEACH
[AGG-TEACH] vlan batch 10 20 30 40 50 60 100 101 200 300

# 上行到核心:两条链路组成 Eth-Trunk,跑二层 trunk
[AGG-TEACH] interface Eth-Trunk 10
[AGG-TEACH-Eth-Trunk10] description TO-CORE
[AGG-TEACH-Eth-Trunk10] port link-type trunk
[AGG-TEACH-Eth-Trunk10] port trunk allow-pass vlan 10 20 30 40 50 60 100 101 200 300
[AGG-TEACH-Eth-Trunk10] mode lacp-static
[AGG-TEACH-Eth-Trunk10] quit
[AGG-TEACH] interface GigabitEthernet0/0/23
[AGG-TEACH-GigabitEthernet0/0/23] eth-trunk 10
[AGG-TEACH-GigabitEthernet0/0/23] quit
[AGG-TEACH] interface GigabitEthernet0/0/24
[AGG-TEACH-GigabitEthernet0/0/24] eth-trunk 10
[AGG-TEACH-GigabitEthernet0/0/24] quit

# 下行到接入交换机:电口 trunk,只放行本片区的业务 VLAN 与管理 VLAN
[AGG-TEACH] interface GigabitEthernet0/0/1
[AGG-TEACH-GigabitEthernet0/0/1] description TO-ACC-3F
[AGG-TEACH-GigabitEthernet0/0/1] port link-type trunk
[AGG-TEACH-GigabitEthernet0/0/1] port trunk allow-pass vlan 20 100
[AGG-TEACH-GigabitEthernet0/0/1] quit

接着配网关。每个 VLAN 一个 VLANIF,A 机为主、B 机为备,用 VRRP 提供统一虚网关:

# 教学机房网关:A 机 priority 120(主),B 机 100(备)
[AGG-TEACH] interface Vlanif 20
[AGG-TEACH-Vlanif20] description GW-TEACH
[AGG-TEACH-Vlanif20] ip address 192.168.20.252 24
[AGG-TEACH-Vlanif20] vrrp vrid 20 virtual-ip 192.168.20.1
[AGG-TEACH-Vlanif20] vrrp vrid 20 priority 120
[AGG-TEACH-Vlanif20] vrrp vrid 20 preempt-mode timer delay 20
[AGG-TEACH-Vlanif20] quit

# 管理网关
[AGG-TEACH] interface Vlanif 100
[AGG-TEACH-Vlanif100] ip address 10.200.100.21 24
[AGG-TEACH-Vlanif100] quit

# 上行三层互联(汇聚与核心之间的 /30 或 /24 汇聚段)
[AGG-TEACH] interface Vlanif 300
[AGG-TEACH-Vlanif300] ip address 10.200.1.1 30
[AGG-TEACH-Vlanif300] quit

# OSPF:汇聚与核心同一个 area 0
[AGG-TEACH] ospf 1 router-id 10.200.100.21
[AGG-TEACH-ospf-1] area 0
[AGG-TEACH-ospf-1-area-0.0.0.0] network 10.200.1.0 0.0.0.3
[AGG-TEACH-ospf-1-area-0.0.0.0] network 10.200.100.0 0.0.0.255
[AGG-TEACH-ospf-1-area-0.0.0.0] network 192.168.20.0 0.0.0.255
[AGG-TEACH-ospf-1-area-0.0.0.0] quit
[AGG-TEACH-ospf-1] quit

策略在这里落地:只允许运维网段 SSH 管理设备,宿舍与教学网段禁止访问服务器网段:

# 管理面收紧:只有运维网段能 SSH 登录交换机
[AGG-TEACH] acl number 2001
[AGG-TEACH-acl-basic-2001] rule 5 permit source 10.200.100.0 0.0.0.255
[AGG-TEACH-acl-basic-2001] quit
[AGG-TEACH] user-interface vty 0 4
[AGG-TEACH-ui-vty0-4] acl 2001 inbound
[AGG-TEACH-ui-vty0-4] quit

# 业务面隔离:教学网段不能访问服务器网段(用高级 ACL)
[AGG-TEACH] acl number 3000
[AGG-TEACH-acl-adv-3000] rule 5 deny ip source 192.168.20.0 0.0.0.255 destination 192.168.60.0 0.0.0.255
[AGG-TEACH-acl-adv-3000] rule 10 permit ip
[AGG-TEACH-acl-adv-3000] quit
[AGG-TEACH] interface Vlanif 20
[AGG-TEACH-Vlanif20] traffic-filter inbound acl 3000
[AGG-TEACH-Vlanif20] quit

37.2.4 接入交换机(S5735-L24T4S-A1)

接入交换机配置最简单,但坑最多。每个口默认划到对应 VLAN,只放行管理 VLAN 的 trunk 上行,还要开边缘端口防止终端插拔震全网:

<HUAWEI> system-view
[HUAWEI] sysname ACC-3F-01
[ACC-3F-01] vlan batch 20 100

# 上行 trunk:只放业务与管理
[ACC-3F-01] interface GigabitEthernet0/0/24
[ACC-3F-01-GigabitEthernet0/0/24] description TO-AGG-TEACH
[ACC-3F-01-GigabitEthernet0/0/24] port link-type trunk
[ACC-3F-01-GigabitEthernet0/0/24] port trunk allow-pass vlan 20 100
[ACC-3F-01-GigabitEthernet0/0/24] quit

# 批量把 1~20 口划到 VLAN 20,并设为边缘端口
[ACC-3F-01] port-group group-member GigabitEthernet0/0/1 to GigabitEthernet0/0/20
[ACC-3F-01-port-group] port link-type access
[ACC-3F-01-port-group] port default vlan 20
[ACC-3F-01-port-group] stp edged-port enable
[ACC-3F-01-port-group] quit

# 管理地址
[ACC-3F-01] interface Vlanif 100
[ACC-3F-01-Vlanif100] ip address 10.200.100.31 24
[ACC-3F-01-Vlanif100] quit
[ACC-3F-01] ip route-static 0.0.0.0 0.0.0.0 10.200.100.1

# 塔前先杀环路:全局开 BPDU 保护,收到 BPDU 的口自动 err-disable
[ACC-3F-01] stp bpdu-protection

# 端口安全:每个口最多学 2 个 MAC
[ACC-3F-01] interface GigabitEthernet0/0/1
[ACC-3F-01-GigabitEthernet0/0/1] port-security enable
[ACC-3F-01-GigabitEthernet0/0/1] port-security max-mac-num 2
[ACC-3F-01-GigabitEthernet0/0/1] quit

37.2.5 AC 旁挂配置(AC6005)

「旁挂」指的是 AC 不串在业务链路上,而是单独挂在核心/汇聚旁边,只负责管理 AP 和转发无线流量。它的好处是:AC 挂了不影响有线,扩容也灵活。

<AC6005> system-view
[HUAWEI] sysname AC1
[AC1] vlan batch 40 50 100 101

# AP 管理 VLAN 的网关
[AC1] interface Vlanif 101
[AC1-Vlanif101] description AP-MGMT
[AC1-Vlanif101] ip address 10.200.101.2 24
[AC1-Vlanif101] quit

# 无线业务 VLAN 的三层网关(隧道转发时流量从 AC 出)
[AC1] interface Vlanif 40
[AC1-Vlanif40] description WLAN-STAFF
[AC1-Vlanif40] ip address 192.168.40.1 24
[AC1-Vlanif40] quit
[AC1] interface Vlanif 50
[AC1-Vlanif50] description WLAN-STUDENT
[AC1-Vlanif50] ip address 192.168.50.1 24
[AC1-Vlanif50] quit

# AC 用 VLANIF 101 作为 CAPWAP 源接口
[AC1] capwap source interface Vlanif 101

AP 管理段的 DHCP 必须带 Option 43,否则瘦 AP 找不到 AC。Option 43 的十六进制格式是 子选项类型 子选项长度 AC的IP;华为的 AC 地址子选项类型是 0x0B,长度 4,因此 AC 地址 10.200.101.2 编码为 0B 04 0A C8 65 02:

# 开启 DHCP,并给 AP 管理段配置 Option 43
[AC1] dhcp enable
[AC1] ip pool AP-MGMT
[AC1-ip-pool-AP-MGMT] network 10.200.101.0 mask 255.255.255.0
[AC1-ip-pool-AP-MGMT] gateway-list 10.200.101.1
[AC1-ip-pool-AP-MGMT] option 43 sub-option 2 ip-address 10.200.101.2
[AC1-ip-pool-AP-MGMT] quit

# 接口地址池方式(DHCP 挂在 Vlanif 101 上时)
[AC1] interface Vlanif 101
[AC1-Vlanif101] dhcp select global
[AC1-Vlanif101] quit

然后配无线业务。华为 V200R019 起推荐用「模板化」方式(SSID 模板 / 安全模板 / VAP 模板),比老式的 wlan 视图更清晰:

# SSID 模板
[AC1] wlan
[AC1-wlan-view] ssid-profile name staff-ssid
[AC1-wlan-ssid-prof-staff-ssid] ssid Campus-Staff
[AC1-wlan-ssid-prof-staff-ssid] quit

# 安全模板:WPA2-PSK,密码用密文方式录入
[AC1-wlan-view] security-profile name staff-sec
[AC1-wlan-sec-prof-staff-sec] security wpa2 psk pass-phrase Campus@2024 aes
[AC1-wlan-sec-prof-staff-sec] quit

# VAP 模板:绑定业务 VLAN 40 与上面两个模板
[AC1-wlan-view] vap-profile name staff-vap
[AC1-wlan-vap-prof-staff-vap] service-vlan vlan-id 40
[AC1-wlan-vap-prof-staff-vap] ssid-profile staff-ssid
[AC1-wlan-vap-prof-staff-vap] security-profile staff-sec
[AC1-wlan-vap-prof-staff-vap] forward-mode tunnel
[AC1-wlan-vap-prof-staff-vap] quit
[AC1-wlan-view] quit

# AP 组绑定 VAP 模板到 2.4G(radio 0) 与 5G(radio 1) 两个射频,分别绑两条
# 注意:华为缺省 AP 组名是 default-group,不是 default
[AC1] wlan
[AC1-wlan-view] ap-group name default-group
[AC1-wlan-ap-group-default-group] vap-profile staff-vap wlan 1 radio 0
[AC1-wlan-ap-group-default-group] vap-profile staff-vap wlan 1 radio 1
[AC1-wlan-ap-group-default-group] quit
[AC1-wlan-view] quit

37.2.6 Portal 认证与 RADIUS 对接

校园网的上网认证,最常见的是 Portal(Web 认证):用户连上网络后弹网页,输入账号密码,AC 把认证请求发给 RADIUS 服务器。先配 AC 上的 RADIUS 客户端:

# RADIUS 服务器模板(AC 作为 RADIUS 客户端)
[AC1] radius-server template radius1
[AC1-radius-radius1] radius-server authentication 10.200.200.10 1812
[AC1-radius-radius1] radius-server accounting 10.200.200.10 1813
[AC1-radius-radius1] radius-server shared-key cipher Radius@2024
[AC1-radius-radius1] quit

# AAA 认证方案
[AC1] aaa
[AC1-aaa] authentication-scheme auth1
[AC1-aaa-authen-auth1] authentication-mode radius
[AC1-aaa-authen-auth1] quit
[AC1-aaa] domain campus
[AC1-aaa-domain-campus] authentication-scheme auth1
[AC1-aaa-domain-campus] radius-server radius1
[AC1-aaa-domain-campus] quit
[AC1-aaa] quit

然后配 Portal 服务器模板并下发到 VAP。注意 Portal 的密钥必须与 Portal 服务器一致,否则报文直接丢弃:

# Portal 服务器模板
[AC1] web-auth-server portal-srv
[AC1-web-auth-server-portal-srv] server-ip 10.200.200.10
[AC1-web-auth-server-portal-srv] shared-key cipher Portal@2024
[AC1-web-auth-server-portal-srv] port 50100
[AC1-web-auth-server-portal-srv] url http://portal.campus.example/auth
[AC1-web-auth-server-portal-srv] quit

# 在 VAP 模板上引用 Portal:具体命令链随版本不同,务必按下面提示核对
[AC1] wlan
[AC1-wlan-view] vap-profile name staff-vap
[AC1-wlan-vap-prof-staff-vap] ?
[AC1-wlan-vap-prof-staff-vap] quit
[AC1-wlan-view] quit

⚠ 版本差异:VAP 模板引用 Portal 的命令链在 V200R019 前后差别很大(早期用 web-auth-server <name> direct,后期通过认证模板/authentication-profile 组合),而且 AC6005 与 AC6608 的写法也不完全一样。上一行代码块里的 ? 就是要点:在你的 AC 上进入 vap-profile 视图后先敲 ?,看本版本实际支持哪条命令,不要照抄。 ⚠ 待核实:待核实 V200R019 下 AC6005 的 VAP 模板引用 Portal 的完整命令链(authentication-profile 内的具体子命令),需以华为 support.huawei.com 该版本《配置指南-WLAN-认证》为准

对于有线用户的 Portal,一般挂在汇聚的网关接口上:

[AGG-TEACH] web-auth-server portal-srv
[AGG-TEACH-web-auth-server-portal-srv] server-ip 10.200.200.10
[AGG-TEACH-web-auth-server-portal-srv] shared-key cipher Portal@2024
[AGG-TEACH-web-auth-server-portal-srv] port 50100
[AGG-TEACH-web-auth-server-portal-srv] quit
[AGG-TEACH] interface Vlanif 20
[AGG-TEACH-Vlanif20] web-auth-server portal-srv
[AGG-TEACH-Vlanif20] quit

37.2.7 双出口与链路备份

双出口的设计要点是:两条路由都在,正常时负载分担,主链路断了自动切到备链路。华为用「相同目的、不同优先级」的静态路由即可实现浮动备份;如果运营商支持 BGP,也可以用 BGP 做更复杂的选路。

# 主:电信出口优先级默认 60;备:联通出口 preference 80(越小越优)
[CORE-A] ip route-static 0.0.0.0 0.0.0.0 10.200.4.2
[CORE-A] ip route-static 0.0.0.0 0.0.0.0 10.200.5.2 preference 80

# 如果想让出口路由器自己感知上行,可在出口路由器上做接口联动
[R1] ip route-static 0.0.0.0 0.0.0.0 100.64.8.1 track nqa admin ping-ct

NQA 的配置用来探测运营商网关是否可达,接口断了 NQA 也失败,静态路由自动失效:

# 定义 NQA 探测:每 5 秒发一次 ICMP,连续 3 次失败认为不可达
[R1] nqa test-instance admin ping-ct
[R1-nqa-admin-ping-ct] test-type icmp
[R1-nqa-admin-ping-ct] destination-address ipv4 100.64.8.1
[R1-nqa-admin-ping-ct] frequency 5
[R1-nqa-admin-ping-ct] timeout 3
[R1-nqa-admin-ping-ct] probe-count 3
[R1-nqa-admin-ping-ct] start now
[R1-nqa-admin-ping-ct] quit

⚠ 版本差异:NQA 的 start now 是一次性启动;长期探测建议用 start daily 或配合 nqa schedule。不同版本支持的启动方式不同,以设备命令帮助 nqa test-instance admin ping-ct ? 为准。

37.2.8 逐行讲解:为什么这么配

上面几段配置看起来量大,但真正需要理解的就那么几条。下表把几处「最容易填错」的命令单独拎出来讲:

命令 干什么 为什么这么写 / 反例
port trunk allow-pass vlan 300 400 核心到汇聚的 trunk 只放行互联 VLAN 反例:写成 port trunk allow-pass vlan all,业务 VLAN 会在三层链路上二层泛洪,形成三角转发
mode lacp-static Eth-Trunk 改为 LACP 静态模式 反例:不配这行用默认手工模式,一端手工一端 LACP,链路只能有一半成员转发
default-route-advertise 把默认路由注入 OSPF 注意:核心上必须有到出口的默认路由存在,否则该命令不生效;如果核心没有默认路由却想强行注入,要加 always
preference 80 静态路由优先级,越小越优先 华为默认 60、OSPF 默认 10;如果 OSPF 学到默认路由,静态路由反而不会被选中,双出口设计时要想清楚谁管出口
vrrp vrid 20 preempt-mode timer delay 20 抢占延迟 20 秒 反例:不配延迟,主设备重启后一抢回就再抖一次,OSPF 邻居要重算
stp edged-port enable 设为边缘端口 反例:把汇聚下行口也设成边缘端口,环路时 STP 完全不起作用
port-security max-mac-num 2 每口最多学 2 个 MAC 反例:配 1 时,用户笔记本插网线同时接了手机热点做分流可能被误封
option 43 sub-option 2 ip-address DHCP 告诉 AP「AC 在哪」 反例:漏了这条,AP 拿到地址却一直重发 CAPWAP Discover,永远不上线
forward-mode tunnel 无线用户流量走 CAPWAP 隧道到 AC 隧道转发的流量在 AC 出口,所以 AC 上必须有业务 VLANIF;直接转发则不需要
authentication-mode radius AAA 认证方式指定 RADIUS 反例:不配默认可能是本地认证,账号在 RADIUS 上怎么都登不上

37.2.9 IP 地址段推演:为什么这么切

规划表给了结论,这里补一下推演过程,因为「网段怎么切、够不够用」是新手最容易在会上被问住的问题。

首先算容量。一个 192.168.20.0/24 有 254 个可用地址。教学机房一栋楼 1800 个信息点,但信息点不等于同时在线数:教室终端通常只在上课时在线,一个 VLAN 放 254 个地址足够撑住一个机房或一层楼的高峰。宿舍那边 900 个口、每口平均 2 台设备,一台笔记本加一部手机,就需要 1800 个地址——所以宿舍段必须用 /23,或者按楼切成多个 /24。

下面是本案例宿舍按楼切分的方案:

楼栋 VLAN 网段 可用地址 说明
1 号楼 31 192.168.31.0/24 254 混合宿舍
2 号楼 32 192.168.32.0/24 254 混合宿舍
3 号楼 33 192.168.33.0/24 254 女生楼
4 号楼 34 192.168.34.0/24 254 男生楼

其次算管理段。全校交换机约 60 台,AP 120 台,管理段 10.200.100.0/24 能放 254 个设备,够用但不够宽裕。如果后续要加安防摄像头(每台都要管理 IP),建议管理段直接开到 10.200.96.0/20,一次规划到位,省得以后整段搬迁。

最后算互联段。核心到汇聚、汇聚到出口,每一条点对点链路都是一段 /30(华为/H3C 都支持 /31,但 /31 需要设备版本支持且部分老设备不支持)。本案例有 3 台汇聚 × 2 台核心 = 6 条,加上出口 2 条,一共 8 个 /30,正好在 10.200.0.0/24 里排开。把它们排在同一段的好处是:看路由表时一眼能认出「这些是互联链路,不是业务网段」。

37.2.10 核心双机与可靠性设计

上面配的 CORE-A / CORE-B 是两台独立的设备,中间用 Eth-Trunk 互联。这种方案成本低,但有一个问题:两台设备各管各的配置,改 A 忘改 B 是常态。规模更大时,华为会用堆叠(iStack)或集群(CSS),H3C 用 IRF(Intelligent Resilient Framework,智能弹性架构),把两台物理设备变成一台逻辑设备,配置只需写一遍。

堆叠/IRF 带来的好处:

  • 配置只有一份,不存在 A/B 不一致。
  • 跨设备链路聚合,汇聚可以同时向两台核心跑 LACP,真正实现负载分担。
  • 主备切换秒级,控制面切换时数据面不断。

代价也明确:堆叠线缆有带宽限制、双主分裂风险、「一重启两台一起重启」。因此必须配套 MAD(Multi-Active Detection,多主检测,H3C 叫 MAD,华为 CSS 也叫 MAD,iStack 叫双主检测)。

以 H3C IRF 为例,两台 S6520X 合并为一台逻辑设备的核心配置骨架如下:

# 设备 1:IRF 成员编号 1
<H3C> system-view
[CORE-A] irf member 1
[CORE-A] irf priority 32
[CORE-A] interface Ten-GigabitEthernet1/0/49
[CORE-A-Ten-GigabitEthernet1/0/49] shutdown
[CORE-A-Ten-GigabitEthernet1/0/49] port group interface Ten-GigabitEthernet1/0/49
[CORE-A-Ten-GigabitEthernet1/0/49] undo shutdown
[CORE-A-Ten-GigabitEthernet1/0/49] quit
[CORE-A] irf-port 1/1
[CORE-A-irf-port1/1] port group interface Ten-GigabitEthernet1/0/49
[CORE-A-irf-port1/1] quit
[CORE-A] save force
<CORE-A> reboot

# 设备 2:先改为成员编号 2,再重启生效
<H3C> system-view
[CORE-B] irf member 1 renumber 2
[CORE-B] save force
<CORE-B> reboot

重启后两台合成一台,接口编号变成 GigabitEthernet1/0/x 与 2/0/x,配置在「主设备」上只写一份即可。

⚠ 版本差异:IRF 的端口配置顺序必须严格遵循「先 shutdown 物理口 → 配 irf-port → 再 undo shutdown」,顺序错了会直接报错甚至导致堆叠不成功。华为 iStack 的 stack configuration priority 150、stack port interface 命令结构与此类似但参数不同。 ⚠ 待核实:待核实 华为 iStack 双主检测(MAD)在 V200R019 上的具体命令(mad detect mode 相关),需以 S 系列配置指南为准

37.3 H3C 设备完整配置

37.3.0 H3C 侧的三个「先记住」

在逐条看命令之前,先记住 H3C(Comware)和华为(VRP)的三处根本差异,后面所有配置都是从这三点长出来的:

第一,接口编号。华为园区交换机通常是 GigabitEthernet0/0/1(栈号/槽位/端口),H3C 是 GigabitEthernet1/0/1(成员号/槽位/端口)。改配置时最容易漏改的就是这一位,照抄会直接报「接口不存在」。

第二,命令的语序。华为习惯「动词 + 属性 + 值」,如 port default vlan 20;H3C 习惯「属性 + 值」,如 port access vlan 20。同一个动作两边都能做,但敲的时候手感完全不同。

第三,默认值不同。H3C 的二层口默认就是 access 类型,VLAN 默认是 1;华为同样默认 VLAN 1,但习惯上会显式写 port link-type access。H3C 的 ACL 默认动作是 deny,华为 ACL 配了 rule permit 后末尾默认也有隐式 deny,但两边「默认拒绝」的具体表现不一样,写 ACL 时一定要用 display acl 看命中的默认规则是什么。

记住这三条,后面看到任何一条 H3C 命令都能推测出它的华为写法,反过来也一样。

H3C 版本用 Comware V7 设备:MSR3610-X1 做出口、S6520X 做核心、S5560X 做汇聚、S5130S-EI 做接入、WX3540H 做 AC。整体结构完全对应 36.2 节,只把命令换成 Comware 写法。

37.3.1 出口路由器 R1(MSR3610-X1)

Comware 的 NAT 写在出接口上,用 nat outbound 引用 ACL。注意 H3C 的 ACL 默认动作是 deny,必须显式写 rule permit:

<H3C> system-view
[H3C] sysname MSR-R1

# 内网侧
[MSR-R1] interface GigabitEthernet0/0
[MSR-R1-GigabitEthernet0/0] description TO-CORE-VLAN400
[MSR-R1-GigabitEthernet0/0] ip address 10.200.4.2 24
[MSR-R1-GigabitEthernet0/0] quit

# 外网侧
[MSR-R1] interface GigabitEthernet0/1
[MSR-R1-GigabitEthernet0/1] description TO-CTCC
[MSR-R1-GigabitEthernet0/1] ip address 100.64.8.2 30
[MSR-R1-GigabitEthernet0/1] nat outbound 2000
[MSR-R1-GigabitEthernet0/1] quit

# NAT 的地址匹配 ACL(basic ACL 2000~2999)
[MSR-R1] acl basic 2000
[MSR-R1-acl-ipv4-basic-2000] rule 5 permit source 192.168.0.0 0.0.255.255
[MSR-R1-acl-ipv4-basic-2000] rule 10 permit source 10.200.0.0 0.0.255.255
[MSR-R1-acl-ipv4-basic-2000] quit

# 默认路由 + 回程
[MSR-R1] ip route-static 0.0.0.0 0 100.64.8.1
[MSR-R1] ip route-static 192.168.0.0 16 10.200.4.1
[MSR-R1] ip route-static 10.200.100.0 24 10.200.4.1
[MSR-R1] ip route-static 10.200.101.0 24 10.200.4.1
[MSR-R1] ip route-static 10.200.200.0 24 10.200.4.1

# 保存
[MSR-R1] quit
<MSR-R1> save force

37.3.2 核心交换机 CORE-A(S6520X)

Comware 的核心配置思路一致,差异在 Eth-Trunk 写成 Link-Aggregation、VLANIF 写成 Vlan-interface、OSPF 宣告用 network 语句放在 area 下:

<H3C> system-view
[H3C] sysname CORE-A

# 批量建 VLAN
[CORE-A] vlan 10 to 60 100 101 200 300 400

# 核心间聚合
[CORE-A] interface Bridge-Aggregation 1
[CORE-A-Bridge-Aggregation1] description TO-CORE-B
[CORE-A-Bridge-Aggregation1] port link-type trunk
[CORE-A-Bridge-Aggregation1] port trunk permit vlan 10 20 30 40 50 60 100 101 200 300 400
[CORE-A-Bridge-Aggregation1] link-aggregation mode dynamic
[CORE-A-Bridge-Aggregation1] quit
[CORE-A] interface GigabitEthernet1/0/49
[CORE-A-GigabitEthernet1/0/49] port link-aggregation group 1
[CORE-A-GigabitEthernet1/0/49] quit
[CORE-A] interface GigabitEthernet1/0/50
[CORE-A-GigabitEthernet1/0/50] port link-aggregation group 1
[CORE-A-GigabitEthernet1/0/50] quit

# 三层接口
[CORE-A] interface Vlan-interface 300
[CORE-A-Vlan-interface300] description TO-AGG
[CORE-A-Vlan-interface300] ip address 10.200.1.2 30
[CORE-A-Vlan-interface300] quit
[CORE-A] interface Vlan-interface 400
[CORE-A-Vlan-interface400] ip address 10.200.4.1 24
[CORE-A-Vlan-interface400] quit
[CORE-A] interface Vlan-interface 100
[CORE-A-Vlan-interface100] ip address 10.200.100.11 24
[CORE-A-Vlan-interface100] quit

# OSPF
[CORE-A] ospf 1 router-id 10.200.100.11
[CORE-A-ospf-1] area 0
[CORE-A-ospf-1-area-0.0.0.0] network 10.200.1.0 0.0.0.3
[CORE-A-ospf-1-area-0.0.0.0] network 10.200.4.0 0.0.0.255
[CORE-A-ospf-1-area-0.0.0.0] network 10.200.100.0 0.0.0.255
[CORE-A-ospf-1-area-0.0.0.0] quit
[CORE-A-ospf-1] default-route-advertise always
[CORE-A-ospf-1] quit

# 默认路由与备份出口
[CORE-A] ip route-static 0.0.0.0 0 10.200.4.2
[CORE-A] ip route-static 0.0.0.0 0 10.200.5.2 preference 80

37.3.3 汇聚交换机 AGG-TEACH(S5560X)

H3C 的 VRRP 命令是 vrrp vrid X virtual-ip,优先级用 vrrp vrid X priority:

<H3C> system-view
[H3C] sysname AGG-TEACH
[AGG-TEACH] vlan 10 20 30 40 50 60 100 101 200 300

# 上行聚合
[AGG-TEACH] interface Bridge-Aggregation 10
[AGG-TEACH-Bridge-Aggregation10] description TO-CORE
[AGG-TEACH-Bridge-Aggregation10] port link-type trunk
[AGG-TEACH-Bridge-Aggregation10] port trunk permit vlan 10 20 30 40 50 60 100 101 200 300
[AGG-TEACH-Bridge-Aggregation10] link-aggregation mode dynamic
[AGG-TEACH-Bridge-Aggregation10] quit
[AGG-TEACH] interface GigabitEthernet1/0/25
[AGG-TEACH-GigabitEthernet1/0/25] port link-aggregation group 10
[AGG-TEACH-GigabitEthernet1/0/25] quit
[AGG-TEACH] interface GigabitEthernet1/0/26
[AGG-TEACH-GigabitEthernet1/0/26] port link-aggregation group 10
[AGG-TEACH-GigabitEthernet1/0/26] quit

# 下行 trunk
[AGG-TEACH] interface GigabitEthernet1/0/1
[AGG-TEACH-GigabitEthernet1/0/1] description TO-ACC-3F
[AGG-TEACH-GigabitEthernet1/0/1] port link-type trunk
[AGG-TEACH-GigabitEthernet1/0/1] port trunk permit vlan 20 100
[AGG-TEACH-GigabitEthernet1/0/1] quit

# 网关 + VRRP
[AGG-TEACH] interface Vlan-interface 20
[AGG-TEACH-Vlan-interface20] description GW-TEACH
[AGG-TEACH-Vlan-interface20] ip address 192.168.20.252 24
[AGG-TEACH-Vlan-interface20] vrrp vrid 20 virtual-ip 192.168.20.1
[AGG-TEACH-Vlan-interface20] vrrp vrid 20 priority 120
[AGG-TEACH-Vlan-interface20] vrrp vrid 20 preempt-mode delay 20
[AGG-TEACH-Vlan-interface20] quit

[AGG-TEACH] interface Vlan-interface 300
[AGG-TEACH-Vlan-interface300] ip address 10.200.1.1 30
[AGG-TEACH-Vlan-interface300] quit
[AGG-TEACH] interface Vlan-interface 100
[AGG-TEACH-Vlan-interface100] ip address 10.200.100.21 24
[AGG-TEACH-Vlan-interface100] quit

# OSPF
[AGG-TEACH] ospf 1 router-id 10.200.100.21
[AGG-TEACH-ospf-1] area 0
[AGG-TEACH-ospf-1-area-0.0.0.0] network 10.200.1.0 0.0.0.3
[AGG-TEACH-ospf-1-area-0.0.0.0] network 10.200.100.0 0.0.0.255
[AGG-TEACH-ospf-1-area-0.0.0.0] network 192.168.20.0 0.0.0.255
[AGG-TEACH-ospf-1-area-0.0.0.0] quit
[AGG-TEACH-ospf-1] quit

策略侧:H3C 的 VTY 访问控制用 user-interface vty + acl,包过滤用 packet-filter:

# 管理面
[AGG-TEACH] acl basic 2001
[AGG-TEACH-acl-ipv4-basic-2001] rule 5 permit source 10.200.100.0 0.0.0.255
[AGG-TEACH-acl-ipv4-basic-2001] quit
[AGG-TEACH] user-interface vty 0 4
[AGG-TEACH-line-vty0-4] acl 2001 inbound
[AGG-TEACH-line-vty0-4] quit

# 业务面隔离
[AGG-TEACH] acl advanced 3000
[AGG-TEACH-acl-ipv4-adv-3000] rule 5 deny ip source 192.168.20.0 0.0.0.255 destination 192.168.60.0 0.0.0.255
[AGG-TEACH-acl-ipv4-adv-3000] rule 10 permit ip
[AGG-TEACH-acl-ipv4-adv-3000] quit
[AGG-TEACH] interface Vlan-interface 20
[AGG-TEACH-Vlan-interface20] packet-filter 3000 inbound
[AGG-TEACH-Vlan-interface20] quit

37.3.4 接入交换机(S5130S-28S-EI)

注意 Comware V7 里二层口默认就是 access(port link-type access 可省),把接口放进 VLAN 用 port access vlan:

<H3C> system-view
[H3C] sysname ACC-3F-01
[ACC-3F-01] vlan 20 100

# 上行
[ACC-3F-01] interface GigabitEthernet1/0/28
[ACC-3F-01-GigabitEthernet1/0/28] description TO-AGG-TEACH
[ACC-3F-01-GigabitEthernet1/0/28] port link-type trunk
[ACC-3F-01-GigabitEthernet1/0/28] port trunk permit vlan 20 100
[ACC-3F-01-GigabitEthernet1/0/28] quit

# 业务口批量划 VLAN(interface range)
[ACC-3F-01] interface range GigabitEthernet1/0/1 to GigabitEthernet1/0/20
[ACC-3F-01-if-range] port access vlan 20
[ACC-3F-01-if-range] stp edged-port
[ACC-3F-01-if-range] undo shutdown
[ACC-3F-01-if-range] quit

# 管理地址
[ACC-3F-01] interface Vlan-interface 100
[ACC-3F-01-Vlan-interface100] ip address 10.200.100.31 24
[ACC-3F-01-Vlan-interface100] quit
[ACC-3F-01] ip route-static 0.0.0.0 0 10.200.100.1

# 全局 BPDU 保护
[ACC-3F-01] stp bpdu-protection

# 端口安全
[ACC-3F-01] port-security enable
[ACC-3F-01] interface GigabitEthernet1/0/1
[ACC-3F-01-GigabitEthernet1/0/1] port-security max-mac-count 2
[ACC-3F-01-GigabitEthernet1/0/1] quit

37.3.5 AC 旁挂配置(WX3540H)

Comware 的无线配置围绕「AP 组 + 服务模板」。以下是最小可用配置:

<H3C> system-view
[H3C] sysname AC1

# AC 管理 VLAN 与业务 VLAN
[AC1] vlan 40 50 100 101
[AC1] interface Vlan-interface 101
[AC1-Vlan-interface101] description AP-MGMT
[AC1-Vlan-interface101] ip address 10.200.101.2 24
[AC1-Vlan-interface101] quit

# 服务模板:SSID + 业务 VLAN + PSK
[AC1] wlan service-template staff
[AC1-wlan-st-staff] ssid Campus-Staff
[AC1-wlan-st-staff] vlan 40
[AC1-wlan-st-staff] akm mode psk
[AC1-wlan-st-staff] preshared-key pass-phrase simple Campus@2024
[AC1-wlan-st-staff] cipher-suite ccmp
[AC1-wlan-st-staff] security-ie rsn
[AC1-wlan-st-staff] client forwarding-location ac
[AC1-wlan-st-staff] service-template enable
[AC1-wlan-st-staff] quit

# 把服务模板绑到 AP 组两个 Radio 上
[AC1] wlan ap-group default-group
[AC1-wlan-ap-group-default-group] ap-model WA6320
[AC1-wlan-ap-group-default-group-ap-model-WA6320] radio 1
[AC1-wlan-ap-group-default-group-ap-model-WA6320-radio-1] service-template staff
[AC1-wlan-ap-group-default-group-ap-model-WA6320-radio-1] radio enable
[AC1-wlan-ap-group-default-group-ap-model-WA6320-radio-1] quit
[AC1-wlan-ap-group-default-group-ap-model-WA6320] quit
[AC1-wlan-ap-group-default-group] quit
[AC1] quit
<AC1> save force

AP 发现 AC 的 Option 43,在 H3C 上是十六进制字符串形式,AC 地址 10.200.101.2 的十六进制是 0A C8 65 02:

# H3C 上用 dhcp server option 43 hex 配置
[AC1] dhcp enable
[AC1] dhcp server ip-pool ap
[AC1-dhcp-pool-ap] network 10.200.101.0 mask 255.255.255.0
[AC1-dhcp-pool-ap] gateway-list 10.200.101.1
[AC1-dhcp-pool-ap] option 43 hex 80070000010ac86502
[AC1-dhcp-pool-ap] quit

H3C PXE 格式 Option 43 逐字节拆解(依据 H3C 官方《DHCP 服务器 Option 43 典型配置》):80 = PXE 子选项类型;07 = 子选项长度(后面 7 字节);00 00 = 固定值;01 = 后续 AC 地址个数(1 个就写 01);0a c8 65 02 = AC 地址 10.200.101.2 的十六进制。整串也常写成连写形式 80070000010ac86502,两种写法设备都接受。

37.3.6 Portal 与 RADIUS(WX3540H)

H3C 的 AAA 配置分三步:RADIUS scheme → ISP 域 → Web 认证服务器:

# RADIUS scheme
[AC1] radius scheme rs1
[AC1-radius-rs1] primary authentication 10.200.200.10 1812
[AC1-radius-rs1] primary accounting 10.200.200.10 1813
[AC1-radius-rs1] key authentication simple Radius@2024
[AC1-radius-rs1] key accounting simple Radius@2024
[AC1-radius-rs1] user-name-format without-domain
[AC1-radius-rs1] quit

# ISP 域
[AC1] domain campus
[AC1-isp-campus] authentication lan-access radius-scheme rs1
[AC1-isp-campus] authorization lan-access radius-scheme rs1
[AC1-isp-campus] accounting lan-access radius-scheme rs1
[AC1-isp-campus] quit

# Portal Web 服务器
[AC1] portal web-server portal-srv
[AC1-portal-websvr-portal-srv] url http://portal.campus.example/auth
[AC1-portal-websvr-portal-srv] server-detect interval 60 retry 2 log
[AC1-portal-websvr-portal-srv] quit

# 在服务模板上使能 Portal 并引用 Web 服务器
[AC1] wlan service-template staff
[AC1-wlan-st-staff] portal enable method direct
[AC1-wlan-st-staff] portal apply web-server portal-srv
[AC1-wlan-st-staff] portal domain campus
[AC1-wlan-st-staff] portal bas-ip 10.200.101.2
[AC1-wlan-st-staff] quit

37.3.7 H3C 双出口与链路备份

H3C 的浮动静态路由写法与华为一致,但 NQA 的命令树不一样,探测实例叫 nqa entry:

# 主备两条默认路由
[MSR-R1] ip route-static 0.0.0.0 0 100.64.8.1
[MSR-R1] ip route-static 0.0.0.0 0 100.64.12.1 preference 80

# NQA 探测运营商网关:连续 3 次失败判定不可达
[MSR-R1] nqa entry admin ping-ct
[MSR-R1-nqa-admin-ping-ct] type icmp-echo
[MSR-R1-nqa-admin-ping-ct-icmp-echo] destination ip 100.64.8.1
[MSR-R1-nqa-admin-ping-ct-icmp-echo] frequency 5000
[MSR-R1-nqa-admin-ping-ct-icmp-echo] probe count 3
[MSR-R1-nqa-admin-ping-ct-icmp-echo] reaction 1 checked-element probe-fail threshold-type consecutive 3 action-type trigger-only
[MSR-R1-nqa-admin-ping-ct-icmp-echo] quit
[MSR-R1-nqa-admin-ping-ct] quit

# 启动探测并关联到静态路由
[MSR-R1] nqa schedule admin ping-ct start-time now lifetime forever
[MSR-R1] ip route-static 0.0.0.0 0 100.64.12.1 preference 80 track nqa admin ping-ct

H3C NQA reaction 语句的含义:reaction <编号> checked-element probe-fail threshold-type consecutive <n> action-type trigger-only 表示「连续 n 次探测失败后触发联动」。这是 H3C 双出口联动的标准写法,但不同 Comware V7 版本对 reaction 参数的支持略有差异,上线前用 nqa entry ... ? 逐级确认。

37.3.8 H3C 侧的「配置即文档」习惯

H3C 的配置有一个比华为更好用的地方:display current-configuration 的排版天生接近「配置清单」的写法——所有非默认配置才显示出来,而且带 # 分隔。这带来一个实操技巧:把 display current-configuration 的输出整段保存下来,就是这台设备最准确的文档,比手写的配置说明靠谱一万倍。

# 查看指定功能模块的配置(H3C 常用的 include 过滤)
<CORE-A> display current-configuration | include vlan
<CORE-A> display current-configuration | include ospf
<CORE-A> display current-configuration interface Vlan-interface 20

# 查看设备型号、版本、运行时长
<CORE-A> display version
<CORE-A> display device

华为同样有 display current-configuration,过滤语法是 | include、| exclude、| begin,用法一致。

37.3.9 无线侧的实际调试顺序

无线业务上线时,新手最常犯的错误是「配置全部写完再一次性测」。正确的顺序是分五步,每步都有明确的通过标准:

步骤 动作 验证命令 通过标准
1 AP 拿到管理 IP 在 AP 上 display dhcp client 或在 AC 上查 ARP 地址在 10.200.101.0/24 内
2 AP 发现 AC 并发起 CAPWAP display ap all 状态从 fault 变成 nor
3 AC 下发配置,射频开起来 display radio all(WLAN 视图下) 2.4G/5G 都是 up
4 终端能关联 SSID 手机上能看到 Campus-Staff 输入密码能连上
5 终端拿到业务 IP 并能上网 display station all IP 在 192.168.40.0/24 内

第 2 步是最容易卡住的地方。用下面三条命令可以一眼看出卡在哪:

# 看 AP 状态与失败原因(H3C)
<AC1> display wlan ap all
<AC1> display wlan ap name AP-3F-01 verbose

# 看 AC 上是否收到了 CAPWAP 报文(H3C 可在 AC 上抓包或开调试信息)
<AC1> display capwap statistics

# 看 AP 是否从 DHCP 拿到了地址(在核心/汇聚上看 ARP)
<CORE-A> display arp | include 10.200.101

如果 display wlan ap all 里 AP 一直显示 I(Idle,空闲未上线),80% 的情况只有两种可能:DHCP 没给 Option 43(AP 不知道 AC 在哪),或者AC 的 CAPWAP 源接口地址与 AP 隔离(AP 能 ping 通 AC 但 CAPWAP 报文被中间的 ACL 拦截)。这两种情况用上面的命令都能快速区分。

37.4 华为 / H3C 命令对照表

功能 华为(VRP) H3C(Comware V7) 差异说明
批量建 VLAN vlan batch 10 20 30 vlan 10 20 30 H3C 直接跟编号
接口划 VLAN port default vlan 20 port access vlan 20 华为需先 port link-type access
Trunk 放行 port trunk allow-pass vlan 20 100 port trunk permit vlan 20 100 allow-pass / permit
三层接口 interface Vlanif 20 interface Vlan-interface 20 命名不同
链路聚合 interface Eth-Trunk 10 + eth-trunk 10 interface Bridge-Aggregation 10 + port link-aggregation group 10 逻辑完全不同,易错
聚合方式 mode lacp-static link-aggregation mode dynamic 都表示 LACP
VRRP 虚 IP vrrp vrid 20 virtual-ip 192.168.20.1 vrrp vrid 20 virtual-ip 192.168.20.1 相同
VRRP 优先级 vrrp vrid 20 priority 120 vrrp vrid 20 priority 120 相同
OSPF 宣告 network 192.168.20.0 0.0.0.255 network 192.168.20.0 0.0.0.255 相同(都在 area 视图下)
默认路由注入 default-route-advertise default-route-advertise always H3C 常需 always
浮动静态 ip route-static 0.0.0.0 0 10.200.5.2 preference 80 ip route-static 0.0.0.0 0 10.200.5.2 preference 80 相同
高级 ACL 编号 acl number 3000 acl advanced 3000 写法不同
接口过滤 traffic-filter inbound acl 3000 packet-filter 3000 inbound 命令名与参数顺序不同
NAT 出方向 nat outbound 2000 nat outbound 2000 相同
CAPWAP 源 capwap source interface Vlanif 101 wlan 下 capwap source interface 类配置 H3C 常在系统视图下配置
服务模板 vap-profile / ssid-profile / security-profile wlan service-template 一体化 H3C 一个视图配完
BPDU 保护 stp bpdu-protection stp bpdu-protection 相同
端口安全 MAC 数 port-security max-mac-num 2 port-security max-mac-count 2 num / count
保存 save save force H3C 可免交互

37.5 上线步骤与验证清单

37.5.1 上线顺序(千万别倒着来)

组网上线最忌讳「全部配完再一起测试」。正确顺序是自下而上、逐段打通:

步骤 干什么 完成标准
1 现场勘测:机柜、电源、光纤/网线、标签 每个口有标签,每台设备有资产编号
2 设备上架、加电、升级到统一版本 display version 版本一致
3 配管理 VLAN,接入管理网络,SSH 可登录 每台设备能 ping 通管理网关
4 配接入层 VLAN 和上行 trunk display vlan 各 VLAN 端口正确
5 配汇聚网关 + VRRP display vrrp 状态 Master/Backup 正确
6 配 OSPF,核心—汇聚互通 display ospf peer 全为 Full
7 配出口 NAT、默认路由 有线终端能上外网
8 配 AC、AP 上线 display ap all 全部 nor 状态
9 配无线业务与认证 手机连 SSID 能弹认证页
10 配 Portal/RADIUS,联调认证 用户能登录、能计费
11 压测与割接演练 断一条上行业务不中断

37.5.2 华为侧验证命令

逐段验证完成后,把下面这些命令跑一遍,结果留档:

# 1. 接口状态:确认物理与协议都 up
<CORE-A> display interface brief

# 2. VLAN 与端口归属
<AGG-TEACH> display vlan 20

# 3. VRRP 主备关系
<AGG-TEACH> display vrrp

# 4. OSPF 邻居与路由
<CORE-A> display ospf peer brief
<CORE-A> display ip routing-table protocol ospf

# 5. NAT 会话
<R1> display nat session all

# 6. AP 上线状态
<AC1> display ap all

# 7. 无线用户在线
<AC1> display station all

# 8. Portal 服务器探测状态
<AC1> display web-auth-server configuration

期望输出长这样(节选关键字段):

[HUAWEI] display ospf peer brief
Area Id          Interface                        Neighbor id      State
0.0.0.0          Vlanif300                        10.200.100.21    Full
[HUAWEI] display vrrp
VRID  State        Interface                Virtual IP
20    Master       Vlanif20                 192.168.20.1

37.5.3 H3C 侧验证命令

H3C 侧的验证命令名基本对应,只是 display 的子命令略有差异:

# 接口与 VLAN
<CORE-A> display interface brief
<AGG-TEACH> display vlan 20

# OSPF 与 VRRP
<CORE-A> display ospf peer
<AGG-TEACH> display vrrp verbose

# AP 与在线用户
<AC1> display wlan ap all
<AC1> display wlan client

# 保存前的配置检查
<CORE-A> display current-configuration | include ospf

37.5.4 验收清单(割接前逐项打勾)

验收项 方法 通过标准
有线互通 各 VLAN 抽 1 台 PC ping 网关 全部通,丢包 0
跨 VLAN 访问策略 教学 PC ping 服务器段 按设计应被丢弃
出口上网 各 VLAN 抽 PC 上外网 页面正常、无 DNS 故障
双出口切换 拔掉主出口光纤 30 秒内恢复,业务不断
无线覆盖 各 AP 下信号强度现场测 主区域 ≥ -65dBm
无线认证 手机连 SSID 弹 Portal 输入账号能上网
单点故障 断核心 A、断汇聚上行 业务自动切到备用
管理可达性 运维网段 SSH 全部设备 全部可登录,其它网段拒绝
时间同步 全部设备 NTP 时间偏差 < 1 秒
配置备份 全部设备导配置 存到服务器并有版本号

37.6 排错与故障树

37.6.0 割接排期与回滚预案

工程上比「配得对」更重要的是「改坏了能退回来」。校园网割接一定要有窗口和回滚方案,下面是一个可复用的排期模板:

时间 动作 负责人 回滚点
T-7 天 全部设备升级到统一版本,配置备份归档 网络组 保留旧版本 bin
T-3 天 在测试环境完整演练一遍新版配置 网络组 无
T-1 天 通知全校停机窗口(建议凌晨 00:00~06:00) 网络组 无
T+0 00:00 备份当前配置到服务器,display current-configuration 双人确认 双人 立即可回滚
T+0 00:30 核心—汇聚割接,先切断一条链路跑新配置 网络组 旧配置恢复
T+0 02:00 全量业务 VLAN 切换,抽查各楼 PC 网络组 旧配置恢复
T+0 04:00 AC 与无线业务切换,抽查 AP 上线率 无线组 旧配置恢复
T+0 05:00 认证联调,抽 10 个账号登录 认证组 关闭 Portal 走免认证应急
T+0 06:00 全量验收清单过一遍,签字 双人 视情况

回滚的关键是「有据可退」:割接前把每台设备的配置导出成文本文件,文件名带设备名、时间戳、操作人。华为与 H3C 都可以用 TFTP/FTP 把配置拉到本地:

# 华为:把当前配置备份到 TFTP 服务器
<CORE-A> tftp 10.200.100.50 put vrpcfg.zip core-a-20240101.zip
<CORE-A> display startup

# H3C:备份到 FTP 服务器
<CORE-A> backup startup-configuration to 10.200.100.50 core-a-20240101.cfg
<CORE-A> display startup

真要回滚时,最稳妥的方式是用设备的「下次启动配置文件」机制:把备份文件传回设备、指定为下次启动配置、重启。这种方式慢(要重启),但最可靠。另一条路是用配置回滚功能(华为 configuration replace file、H3C configuration replace file)不重启直接回退,但会受「设备当前状态与旧配置差异」影响,需先在测试环境验证。

37.6.1 分层排错法

整网不通时不要乱试,按「终端 → 接入 → 汇聚 → 核心 → 出口」逐层往上查。每层只问三个问题:物理通不通?协议起没起?策略放没放?

症状 先查什么 华为命令 H3C 命令
终端拿不到 IP DHCP 中继/地址池 display dhcp server ip-in-use display dhcp server ip-in-use
能拿 IP ping 不通网关 VLAN 与 VRRP display vlan、display vrrp display vlan、display vrrp verbose
跨 VLAN 不通 三层是否有路由、ACL display ip routing-table、display acl 3000 display ip routing-table、display acl 3000
网关上不了外网 NAT、默认路由 display nat session all display nat session
AP 不上线 Option 43、CAPWAP、AC 可达 display ap all、display capwap configuration display wlan ap all
无线连不上 服务模板是否 enable display vap-profile all display wlan service-template
Portal 不弹窗 Portal 服务器可达、密钥 display web-auth-server configuration display portal web-server

37.6.2 最典型的三类故障

第一类:VRRP 两端都以为自己是 Master。原因通常是 VRID 不一致、虚 IP 不在同一网段,或者两端接口不在同一个广播域。查法是 display vrrp 对比两端的 VRID 与 Interface 是否一致。

第二类:OSPF 邻居卡在 EXSTART/EXCHANGE。最常见的是 MTU 不一致(一端是 1500,另一端被改了 1400)。在华为上 display interface 看 MTU,或用 ospf mtu-ignore 临时绕过验证。

第三类:AC 能管到 AP,但用户连上没网。多半是 AP 管理 VLAN 与业务 VLAN 混在一起,或者隧道转发时 AC 上没有对应业务 VLANIF 做网关。

37.7 新手踩坑与注意事项

  1. VLAN 1 放业务——很多新手图省事把所有口留默认。结果是 STP 一抖全网广播风暴,且 VLAN 1 无法被 ACL 有效隔离。
  2. 忘了 save——配了一下午,机房断电全部白干。华为 save 要敲 y,H3C 用 save force。
  3. Trunk 两端 VLAN 放行不一致——一端 allow-pass vlan 20 100,另一端 allow-pass vlan 20,管理 VLAN 不通,远程登录不上。
  4. 核心开了 ACL / 策略——核心只转发,不挂策略;策略放汇聚。核心一旦被策略拖慢,整网都慢。
  5. 聚合没协商——华为忘配 mode lacp-static、H3C 忘配 link-aggregation mode dynamic,两端一端静态一端动态,链路起不来。
  6. VRRP 优先级配反——优先级数值越大越优先,别把主备搞反;preempt-mode 没开还会导致主设备恢复后不抢回。
  7. 接入开了边缘端口但没开 BPDU 保护——终端插了个小路由器,BPDU 一冒出来整片网络起环路。
  8. 管理 VLAN 与业务 VLAN 混用——业务段的人能登录交换机,安全风险极大。
  9. AP 和用户抢同一网段——AP 管理段必须单独 VLAN,且要有 Option 43 指向 AC。
  10. nat outbound 的 ACL 写反方向——ACL 应匹配「内网源地址」,不是目的地址;写反了就是全体上不了外网。
  11. 双出口只配了一条默认路由——主链路断后全网掉线,割接当天才发现。
  12. 上生产前没做配置备份——改错无法回滚。至少用 display current-configuration 导出,或启用配置回滚(华为 configuration replace file、H3C configuration replace file)。

37.8 本章小结

这一章把一个校园网的完整骨架走了一遍。几个要记住的要点:

  • 三层架构的分工:接入只做二层,汇聚做网关和策略,核心只做高速转发。
  • VLAN 与 IP 必须成对规划:VLAN 10 配 192.168.10.0/24,看一眼就知道归属。
  • AC 旁挂:AC 不串业务链路,只做 CAPWAP 管理和无线流量转发,可靠性和扩展性都好。
  • 双出口:两条默认路由 + 不同 preference,或用 NQA/BFD 做联动探测。
  • 验证自下而上:接口 → VLAN → 网关 → 路由 → NAT → 无线 → 认证,逐段打通。
  • 排错看层次:物理、协议、策略三个维度,一层层往下问。

自测题

  1. 为什么核心层不建议配置 ACL 和 NAT?
  2. 汇聚层做 VRRP 时,主设备优先级设为 120、备份设为 100,这有什么问题吗?
  3. AC 旁挂组网中,AP 通过什么方式找到 AC?如果用三层组网,DHCP 里必须配什么?
  4. 双出口中主链路断了,浮动静态路由为什么能自动切换?preference 数值大是优先还是数值小是优先?
  5. 接入交换机上 stp edged-port enable 和 stp bpdu-protection 分别解决什么问题?
  1. 核心层的设计目标是「越快越好、越少动越好」。ACL 和 NAT 都会增加转发路径的匹配开销,一旦策略数量膨胀,核心交换机会成为瓶颈,而且核心配置改动风险最高,影响面最大。策略应下沉到汇聚层。
  2. 没问题。VRRP 优先级取值 1~254,数值越大越优先。120 是主、100 是备份(默认值),符合主备设计;但如果两端都用了默认 100 且没开抢占,可能两端都不稳定,必须显式配 preempt-mode。
  3. AP 通过 DHCP 拿到地址后,从 Option 43 中读取 AC 的 IP,再发起 CAPWAP 发现。三层组网时 DHCP 服务器上必须配置 Option 43 指向 AC 的地址,或者用 DNS 方式解析 AC 域名。
  4. 两条默认路由指向不同的下一跳,preference 数值小的优先被写入路由表;主链路故障后,主路由失效,备路由(preference 80)自动被激活。数值越小越优先。
  5. stp edged-port enable 让接口不参与 STP 计算、直接进入转发状态,加快终端接入;stp bpdu-protection 让接口一旦收到 BPDU 就自动关闭(err-disable),防止有人私接交换机/路由器引起环路。

关于本书:《华为 / H3C 网络设备典型功能配置详解》—— 面向国内高校/企业网络环境, 华为 VRP 与 H3C Comware 双厂商并排配置的实操教材,共 43 章。 全书所有命令尽量有官方出处,查不到的显式标注「待核实」。 返回系列目录