跳到正文
Lutong's Homepage

华为H3C实战 | 第38章 小型办公网从零配置

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

← 上一篇:第 37 章 校园网综合案例  下一篇:第 39 章 典型组网排障实录 →


本章导读:这一章换个规模:80 人的小公司,五样设备——出口路由器、防火墙、核心交换机、AC、8 台 AP,从拆箱开始一路配到员工能上网。它是照着就能做出来的施工单,每一步都有"怎么判断这步做对了"。

本章结构:

  • 38.1 场景与准备:开工前必须先想清楚的六件事 —— 规模与拓扑全貌、六个答不上来就别动手的问题
  • 38.2 第一步:设备上架与接线
  • 38.3 第二步:IP 规划落地与基础配置
  • 38.4 第三步:VLAN 与二层配置
  • 38.5 第四步:三层接口与路由
  • 38.6 第五步:NAT 与安全策略
  • 38.7 第六步:DHCP 与无线配置
  • 38.8 第七步:ACL 与限速(访问控制)
  • 38.9 第八步:验收与排错
  • 38.10 本章小结

重点提示:严格按 38.2→38.9 的顺序敲,跳步和倒序都会返工;网关放哪台设备、外网是什么类型这两个问题(38.1.3)决定整章走法,先答完再动手。新人最常卡在 38.6:配完 NAT 却忘了安全策略,或者反过来写了转换后的地址。 关联章节:VLAN 与二层见第 3 章;三层网关与 VRRP 可选见第 6、7 章;DHCP 见第 8 章;NAT 见第 14 章;无线 PSK 配置见第 20 章;防火墙安全策略见第 26 章。

38.1 场景与准备:开工前必须先想清楚的六件事

38.1.1 这个案例是什么规模(通俗版)

第 37 章是「一个学校」,规模大、人多、设备多。这一章换个场景:一家 80 人左右的公司,一层写字楼,三间会议室,一间机房。老板要求:办公电脑能上网、员工手机能连 Wi-Fi、访客有独立网络、财务部不能随便访问、打印机大家共用、下班后有人偷偷刷视频要能管住。

设备不多,就五样:出口路由器 + 防火墙 + 核心交换机 + AC + 8 台 AP。整网设备加起来不到二十台,但对零基础的人来说,「从纸箱子拆封到员工能用」是一道完整的坎。

我把这一章写成可以照着做出来的施工单。你只要按 37.1 到 37.9 的顺序一步步来,中间每个环节都有「怎么判断这一步做对了」。跳步、倒序、先配后想要改 IP 规划——都会返工。

打个比方:这一章是「照着菜谱做菜」,第 37 章是「设计一桌宴席」。菜谱必须精确到几分几秒,宴席讲究的是搭配和节奏。

38.1.2 网络拓扑长什么样

先看全貌,后面每一步都在往这张图上补东西:

                    [ 运营商光猫/专线 ]
                             |
                      (WAN 拨号/静态 IP)
                             |
                     [ USG6000E 防火墙 ]
                             |
                     (GE1/0/1 -> GE1/0/2)
                             |
                     [ AR6140 出口路由器 ]
                             |
                   (互联 VLAN 2: 172.16.2.0/24)
                             |
                     [ S5735 核心交换机 ]
                    /        |         \
          (VLAN10 办公) (VLAN20 财务) (VLAN30 访客)
               |            |             |
         [ACC 办公区]   [ACC 财务]   [ACC 会议室]
               |            |             |
              PC 们        财务 PC      访客终端
                 \           |            /
                  \          |           /
                   [ 8 台 AP4050DN ]  <- 旁挂在核心上,PoE 供电
                             |
                      [ WLAN 无线网络 ]

38.1.3 六件必须先想清楚的事

开工之前,拿一张纸把这六个问题回答完,答不出来就别动手:

事项 本案例答案 想不清的后果
外网是什么类型 运营商专线,静态 IP 配成 PPPoE 会一直拨不上
有几个 VLAN 4 个:管理 1、办公 10、财务 20、访客 30 后期加网络要重构
网关放在哪台设备 核心交换机(VLANIF) 放错位置整网不通
谁做 NAT 出口路由器 两边都做会二次转换
防火墙在哪一层 路由器和外网之间 配错顺序政策全失效
无线谁来管 AC 旁挂,AP 由 DHCP + Option 43 发现 AP 永远不上线

这六个答案就是本案例的设计基线。实际项目里它们来自「需求方 + 运营商 + 预算」三方,但如果你是自己动手的第一个网络,就按上面这套答案来,它是最稳的「教科书式」结构。

38.1.4 IP 地址规划表(先定,后配)

规划表是施工单的地基。本案例用 192.168.10.0/24 这类文档专用段,实际部署时换成公司自己的私有段即可:

用途 VLAN 网段 网关 地址分配方式
设备管理 1 192.168.1.0/24 192.168.1.1 静态分配给设备
办公有线 10 192.168.10.0/24 192.168.10.1 DHCP
财务 20 192.168.20.0/24 192.168.20.1 静态绑定
访客 30 192.168.30.0/24 192.168.30.1 DHCP,限速
无线-员工 40 192.168.40.0/24 192.168.40.1 DHCP
无线-访客 50 192.168.50.0/24 192.168.50.1 DHCP
AP 管理 100 172.16.100.0/24 172.16.100.1 DHCP(Option 43 指 AC)
路由器-防火墙互联 2 172.16.2.0/24 — 静态

一个经验规则:IP 段第三段与 VLAN ID 对齐,192.168.10.x 就是 VLAN 10。半年后你回来看这张表,也能一眼看懂。

38.1.5 设备清单与型号

照单采购,型号不必一模一样,但功能特征要对上:

设备 型号示例 数量 关键要求
防火墙 华为 USG6000E(如 USG6510E)或 H3C F1000-AK135 1 有安全策略、NAT、SSL VPN
出口路由器 华为 AR6140-16G4XG 或 H3C MSR3610-X1 1 多 WAN、NAT 性能 ≥1Gbps
核心交换机 华为 S5735-L24T4S-A1 或 H3C S5130S-28S-EI 1 三层能力、24 口千兆
接入交换机 同上型号,或 S5735-L8T4X 3 24 口千兆
无线控制器 华为 AC6005 或 H3C WX3540H 1 支持 ≥64 个 AP
AP 华为 AP4050DN 或 H3C WA6320 8 Wi-Fi 5/6,PoE 供电
PoE 交换机 华为 S5735-L24P4S-A1 1 给 AP 供电
跳线/网线 超五类/六类、LC-LC 光纤 若干 千兆选六类

适用版本:华为 VRP V200R019 及以上(AR6000、S5700/S5735、AC6005、USG6000E);H3C Comware V7(R2610 及以上,S5130S、WX3540H、MSR3610-X1、F1000-AK)。

38.1.6 工具与物料清单(现场别落下)

去现场前,这些东西少一样都可能白跑一趟:

类型 物品 说明
配置工具 笔记本 + Console 线(RJ45 转 USB 或 Type-C 转串口) 设备首批调试只能靠它
终端软件 SecureCRT / PuTTY / MobaXterm 串口参数 9600-8-N-1
网络工具 网线测试仪、寻线仪、标签打印机 标签是命根子
线材 跳线、光纤、模块 光模块要确认单模/多模
测试工具 手机(测 Wi-Fi)、工程笔记本 现场验证
文档 IP 规划表、机柜图、接线表 打印出来带去

38.1.7 现场施工的一天该怎么安排

设备不多,但这个规模的项目通常在一个周末做完。时间安排错了,员工周一上班就发现网络不通。下面是一份可以直接抄的作战时间表:

时段 工作内容 前置条件 交付物
周五 18:00-19:00 确认外线、获取运营商 IP/网关/DNS 运营商已开通 外线参数表
周五 19:00-21:00 设备上架、接线、打标签 机柜已就位 接线表、标签
周五 21:00-23:00 基础配置:命名、管理 IP、SSH、NTP 设备加电能登 Console 可远程登录
周六 09:00-12:00 核心与接入 VLAN、三层网关 基础配置完成 内网互通
周六 14:00-16:00 出口路由器、防火墙、NAT 内网互通 能上外网
周六 16:00-18:00 DHCP、AC、AP 上线 上一步完成 无线可用
周六 19:00-21:00 ACL、限速、策略验证 业务已通 策略生效
周日 09:00-12:00 全量验收、保存、备份、文档 全部配置完成 验收签字

这张表里最关键的是「周六 14:00-16:00 这一段」。内网到外网的打通是整个项目最容易被卡住的地方,因为它同时涉及路由、NAT、防火墙三套机制。留足两小时是必要的,不要把这段和无线配置挤在一起。

38.1.8 谁该给什么参数(对接清单)

很多项目卡住,不是配置不会,而是「参数没要到」。开工前必须从各方拿齐这些信息,写成一页纸:

谁 给什么 用在哪一步
运营商 线路类型(专线/拨号)、公网 IP、子网掩码、网关、DNS 37.5 出口路由
公司行政 各部门人数、是否需要访客网络 37.1 IP 规划
公司 IT 现有服务器 IP、打印机 IP 37.8 ACL 例外
物业 机柜位置、电源、走线路径 37.2 上架
安全负责人 哪些部门不能互访、是否要审计 37.8 ACL 策略

一个实操建议:把这张清单做成「签字确认」的表,谁提供谁签字。这不是形式主义——上线三个月后如果发现某个部门访问不了某个服务器,翻出这张表就能判断「当时就没说要通」还是「配错了」。

38.2 第一步:设备上架与接线

38.2.1 上架顺序

机柜从上到下按「网络设备在下、配线架在上、服务器在中间」的习惯布放,具体以现场机柜为准。本案例的布放顺序:

  1. 最上:跳线管理架与光纤配线架(ODF)。
  2. 中间:核心交换机、接入交换机、PoE 交换机。
  3. 最下:出口路由器、防火墙。这两台设备发热量大,靠下放便于散热。

上架时要做三件事:接地、理线、打标签。接地是安全要求,不能省;理线是为了别人(也是三个月后的自己)能看懂;标签要两头都打,写「设备名-端口号-对端」。

38.2.2 接线表(先画后接)

接线是最容易接错又最慢排查的环节。先把表填好,再按表接线:

序号 本端设备 本端接口 对端设备 对端接口 线缆类型 标签
1 光猫 LAN1 USG6000E GE1/0/2 网线 WAN-外线
2 USG6000E GE1/0/1 AR6140 GE0/0/0 网线 FW-ROUTER
3 AR6140 GE0/0/1 S5735 GE0/0/24 网线 ROUTER-CORE
4 S5735 GE0/0/1 ACC-办公 GE0/0/24 网线 CORE-ACC1
5 S5735 GE0/0/2 ACC-财务 GE0/0/24 网线 CORE-ACC2
6 S5735 GE0/0/3 PoE-交换机 GE0/0/24 网线 CORE-POE
7 PoE-交换机 GE0/0/1~8 8 台 AP 上行口 网线 AP-xx
8 核心 GE0/0/20 AC6005 GE0/0/1 网线 CORE-AC

38.2.3 加电与初步检查

按「先接地、再上电、后插线」的顺序操作。上电后听风扇声、看指示灯:

  • 电源灯常亮 = 供电正常。
  • 系统灯闪烁 = 系统正在启动,稳定常亮 = 启动完成。
  • 接口灯亮 = 物理链路通;不亮说明线或对端有问题。

然后用 Console 线连上第一台交换机,确认能敲命令:

# 用 Console 线连设备,波特率 9600、8 数据位、无校验、1 停止位
# 华为设备默认提示符为 <HUAWEI>
<HUAWEI> display version
<HUAWEI> display device

期望看到版本号、设备型号、启动时间。看到这些,说明「设备是活的」,可以开始配了。

38.3 第二步:IP 规划落地与基础配置

38.3.1 设备命名与基础参数

先给每台设备改名、设时钟、开日志。这几条看起来不起眼,排障时能救你一命:

# 华为:改名、开日志时间戳
<HUAWEI> system-view
[HUAWEI] sysname CORE
[CORE] info-center enable
[CORE] info-center timestamp debugging date

# H3C:改名、开日志时间戳
<H3C> system-view
[H3C] sysname CORE
[CORE] info-center enable
[CORE] info-center timestamp log date

38.3.2 管理地址与 SSH 登录

管理地址配在 VLAN 1 上(本案例管理 VLAN 用 1,但业务 VLAN 一律不用 1)。

# 华为核心交换机:管理地址 + 默认网关(指向出口路由器)
[CORE] interface Vlanif 1
[CORE-Vlanif1] ip address 192.168.1.1 24
[CORE-Vlanif1] quit
[CORE] ip route-static 0.0.0.0 0.0.0.0 172.16.2.2

# H3C 核心交换机:管理地址 + 默认网关
<H3C> system-view
[H3C] sysname CORE
[CORE] interface Vlan-interface 1
[CORE-Vlan-interface1] ip address 192.168.1.1 24
[CORE-Vlan-interface1] quit
[CORE] ip route-static 0.0.0.0 0 172.16.2.2

接着开 SSH,关掉 Telnet。这已经不是「选项」而是底线:

# 华为:开 SSH 服务、建本地用户、只允许 SSH 登录
[CORE] stelnet server enable
[CORE] ssh user admin authentication-type password
[CORE] ssh user admin service-type stelnet
[CORE] aaa
[CORE-aaa] local-user admin password irreversible-cipher Admin@2024
[CORE-aaa] local-user admin privilege level 15
[CORE-aaa] local-user admin service-type ssh
[CORE-aaa] quit
[CORE] user-interface vty 0 4
[CORE-ui-vty0-4] authentication-mode aaa
[CORE-ui-vty0-4] protocol inbound ssh
[CORE-ui-vty0-4] quit

# H3C:开 SSH、建本地用户
[CORE] ssh server enable
[CORE] local-user admin
[CORE-luser-manage-admin] password simple Admin@2024
[CORE-luser-manage-admin] service-type ssh
[CORE-luser-manage-admin] authorization-attribute user-role network-admin
[CORE-luser-manage-admin] quit
[CORE] line vty 0 4
[CORE-line-vty0-4] authentication-mode scheme
[CORE-line-vty0-4] protocol inbound ssh
[CORE-line-vty0-4] quit

⚠ 版本差异:H3C Comware V7 的本地用户视图是 local-user,V5 是 local-user ... password cipher 且没有 user-role 概念(V5 用 level)。华为 privilege level 15 对应管理员权限,新手建议先用 15 级完成部署,交付时再降级或增设只读账号。

38.3.3 NTP 时间同步

时间不对,日志就没有排查价值。先让核心交换机做 NTP 客户端,同步到内网服务器(本案例用 192.168.1.100 作为内网 NTP 服务器,实际可以用任意可用服务器):

# 华为:NTP 客户端配置
[CORE] ntp-service unicast-server 192.168.1.100

# H3C:NTP 客户端配置
[CORE] ntp-service unicast-server 192.168.1.100

其它设备再向核心同步。验证命令:

# 看 NTP 同步状态
<CORE> display ntp status
<CORE> display ntp-service sessions

38.3.4 逐行讲解:这几条命令为什么必须这么写

基础配置只有十几条命令,但每一条都有它的道理,也都有「写错会怎样」:

命令 干什么 反例与后果
sysname CORE 给设备改名 不改名,登录后所有设备都叫 HUAWEI,改错设备都不知道
info-center timestamp ... date 日志带日期时间 不带日期,抓日志分析故障时根本对不上时间线
stelnet server enable 开启 SSH 服务端 只建用户不开启服务,客户端连上去提示 connection refused
ssh user admin authentication-type password 指定该用户用密码认证 不配这条,SSH 用户可能默认走 RSA 公钥认证,密码怎么都登不上
protocol inbound ssh VTY 只允许 SSH 不配,Telnet 默认可能还开着,等于留了个明文后门
privilege level 15 华为用户权限级别 配成 level 1 则进不了 system-view,天天报权限不足
authentication-mode aaa VTY 走 AAA 认证 不配,默认密码认证走设备局部密码,和你在 AAA 里建的账号是两套
ip route-static 0.0.0.0 0.0.0.0 172.16.2.2 核心的默认路由 不配,核心只能通本网段,所有跨网段流量全丢
ntp-service unicast-server 时间同步 不同步,半年后设备时钟偏差十几分钟,日志分析全乱

38.4 第三步:VLAN 与二层配置

38.4.1 核心交换机:建 VLAN、配 Trunk

核心是所有 VLAN 的三层汇聚点,先建 VLAN,再配上下行接口:

# 华为:批量建 VLAN
[CORE] vlan batch 10 20 30 40 50 100

# 到接入交换机的下行 trunk:只放本区域的 VLAN
[CORE] interface GigabitEthernet0/0/1
[CORE-GigabitEthernet0/0/1] description TO-ACC-OFFICE
[CORE-GigabitEthernet0/0/1] port link-type trunk
[CORE-GigabitEthernet0/0/1] port trunk allow-pass vlan 10 100
[CORE-GigabitEthernet0/0/1] quit

# 到财务接入:财务 VLAN 与管理 VLAN
[CORE] interface GigabitEthernet0/0/2
[CORE-GigabitEthernet0/0/2] description TO-ACC-FINANCE
[CORE-GigabitEthernet0/0/2] port link-type trunk
[CORE-GigabitEthernet0/0/2] port trunk allow-pass vlan 20 100
[CORE-GigabitEthernet0/0/2] quit

# 到 PoE 交换机(接 AP):AP 管理 VLAN 与无线业务 VLAN
[CORE] interface GigabitEthernet0/0/3
[CORE-GigabitEthernet0/0/3] description TO-POE-AP
[CORE-GigabitEthernet0/0/3] port link-type trunk
[CORE-GigabitEthernet0/0/3] port trunk allow-pass vlan 40 50 100
[CORE-GigabitEthernet0/0/3] quit

# 到 AC:同样放行 AP 管理 VLAN 和无线业务 VLAN
[CORE] interface GigabitEthernet0/0/20
[CORE-GigabitEthernet0/0/20] description TO-AC
[CORE-GigabitEthernet0/0/20] port link-type trunk
[CORE-GigabitEthernet0/0/20] port trunk allow-pass vlan 40 50 100
[CORE-GigabitEthernet0/0/20] quit

H3C 版本的等价配置:

# H3C:批量建 VLAN
[CORE] vlan 10 20 30 40 50 100

[CORE] interface GigabitEthernet1/0/1
[CORE-GigabitEthernet1/0/1] description TO-ACC-OFFICE
[CORE-GigabitEthernet1/0/1] port link-type trunk
[CORE-GigabitEthernet1/0/1] port trunk permit vlan 10 100
[CORE-GigabitEthernet1/0/1] quit

[CORE] interface GigabitEthernet1/0/20
[CORE-GigabitEthernet1/0/20] description TO-AC
[CORE-GigabitEthernet1/0/20] port link-type trunk
[CORE-GigabitEthernet1/0/20] port trunk permit vlan 40 50 100
[CORE-GigabitEthernet1/0/20] quit

38.4.2 接入交换机:业务口划 VLAN

接入交换机的每个业务口配成 access,落在对应 VLAN:

# 华为接入交换机(办公区):1~22 口划 VLAN 10
<HUAWEI> system-view
[HUAWEI] sysname ACC-OFFICE
[ACC-OFFICE] vlan batch 10 100
[ACC-OFFICE] port-group group-member GigabitEthernet0/0/1 to GigabitEthernet0/0/22
[ACC-OFFICE-port-group] port link-type access
[ACC-OFFICE-port-group] port default vlan 10
[ACC-OFFICE-port-group] stp edged-port enable
[ACC-OFFICE-port-group] quit
[ACC-OFFICE] interface GigabitEthernet0/0/24
[ACC-OFFICE-GigabitEthernet0/0/24] port link-type trunk
[ACC-OFFICE-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 100
[ACC-OFFICE-GigabitEthernet0/0/24] quit
# H3C 接入交换机(财务):1~22 口划 VLAN 20
<H3C> system-view
[H3C] sysname ACC-FINANCE
[ACC-FINANCE] vlan 20 100
[ACC-FINANCE] interface range GigabitEthernet1/0/1 to GigabitEthernet1/0/22
[ACC-FINANCE-if-range] port access vlan 20
[ACC-FINANCE-if-range] stp edged-port
[ACC-FINANCE-if-range] quit
[ACC-FINANCE] interface GigabitEthernet1/0/24
[ACC-FINANCE-GigabitEthernet1/0/24] port link-type trunk
[ACC-FINANCE-GigabitEthernet1/0/24] port trunk permit vlan 20 100
[ACC-FINANCE-GigabitEthernet1/0/24] quit

38.4.3 验证 VLAN 配置

配完立刻验证,不要攒到最后一起测。下面三条命令能覆盖 90% 的 VLAN 错误:

# 1. 看 VLAN 里有哪些接口(华为)
<CORE> display vlan 10
<CORE> display vlan 20

# 2. 看接口的链路类型与所属 VLAN
<CORE> display port vlan active

# 3. 看 Trunk 放行了哪些 VLAN
<CORE> display interface GigabitEthernet0/0/1

H3C 的对应命令:

# H3C 侧验证
<CORE> display vlan 10
<CORE> display port trunk
<CORE> display interface GigabitEthernet1/0/1

期望输出(节选)应该能看到你刚划进去的接口。如果 display vlan 10 里看不到接入交换机的端口,那就是 trunk 没放行 VLAN 10,回头改上行口。

38.4.4 生成树与防环路:小网络也不能省

小办公网虽然只有三四台交换机,但环路导致的网络瘫痪是新手第一次搭网最常踩的坑。典型场景:有人把一个交换机的两口接进同一个墙插,或者私自接了一个小路由器/交换机。

接入交换机的业务口设成边缘端口(stp edged-port enable 已在 37.4.2 配过),同时全局打开 BPDU 保护:

# 华为:全局 BPDU 保护 + STP 模式(系统视图)
[CORE] stp mode rstp
[CORE] stp bpdu-protection
[ACC-OFFICE] stp mode rstp
[ACC-OFFICE] stp bpdu-protection

# H3C:全局 BPDU 保护
[CORE] stp mode rstp
[CORE] stp bpdu-protection
[ACC-OFFICE] stp mode rstp
[ACC-OFFICE] stp bpdu-protection

stp bpdu-protection 是系统视图下的全局命令,不带额外参数;华为官方命令参考的语法就是 stp bpdu-protection / undo stp bpdu-protection。两家写法一致。

配完后验证 STP 运行状态:

# 华为:看 STP 状态与根桥
<CORE> display stp
<CORE> display stp root
<ACC-OFFICE> display stp brief

# H3C:看 STP 状态
<CORE> display stp
<CORE> display stp root

正常结果是:核心是根桥(Root bridge),接入交换机的业务口状态是 FORWARDING 且角色为 DESIGNATED。

38.5 第四步:三层接口与路由

38.5.1 核心配网关(VLANIF)

核心交换机是整网的网关。每个业务 VLAN 配一个 VLANIF:

# 华为:各 VLAN 网关
[CORE] interface Vlanif 10
[CORE-Vlanif10] description GW-OFFICE
[CORE-Vlanif10] ip address 192.168.10.1 24
[CORE-Vlanif10] quit

[CORE] interface Vlanif 20
[CORE-Vlanif20] description GW-FINANCE
[CORE-Vlanif20] ip address 192.168.20.1 24
[CORE-Vlanif20] quit

[CORE] interface Vlanif 30
[CORE-Vlanif30] description GW-GUEST
[CORE-Vlanif30] ip address 192.168.30.1 24
[CORE-Vlanif30] quit

[CORE] interface Vlanif 40
[CORE-Vlanif40] description GW-WLAN-STAFF
[CORE-Vlanif40] ip address 192.168.40.1 24
[CORE-Vlanif40] quit

[CORE] interface Vlanif 50
[CORE-Vlanif50] description GW-WLAN-GUEST
[CORE-Vlanif50] ip address 192.168.50.1 24
[CORE-Vlanif50] quit

# 到路由器/防火墙的互联接口
[CORE] interface Vlanif 2
[CORE-Vlanif2] ip address 172.16.2.1 24
[CORE-Vlanif2] quit
# H3C:各 VLAN 网关
[CORE] interface Vlan-interface 10
[CORE-Vlan-interface10] ip address 192.168.10.1 24
[CORE-Vlan-interface10] quit

[CORE] interface Vlan-interface 20
[CORE-Vlan-interface20] ip address 192.168.20.1 24
[CORE-Vlan-interface20] quit

[CORE] interface Vlan-interface 30
[CORE-Vlan-interface30] ip address 192.168.30.1 24
[CORE-Vlan-interface30] quit

[CORE] interface Vlan-interface 2
[CORE-Vlan-interface2] ip address 172.16.2.1 24
[CORE-Vlan-interface2] quit

VLANIF 要 up 的前提是:该 VLAN 内至少有一个物理口是 up 的。新手常犯的错是「VLANIF 配了地址但一直是 down」,原因就是这个 VLAN 还没有任何活动端口。

38.5.2 出口路由器与防火墙的互联

出口路由器负责 NAT 和默认路由,防火墙夹在它和外网之间。本案例把 NAT 放在路由器上,防火墙只做安全策略。

# 华为出口路由器:接防火墙与接核心
<HUAWEI> system-view
[HUAWEI] sysname AR-EXPORT
[AR-EXPORT] interface GigabitEthernet0/0/0
[AR-EXPORT-GigabitEthernet0/0/0] description TO-FW
[AR-EXPORT-GigabitEthernet0/0/0] ip address 172.16.2.2 24
[AR-EXPORT-GigabitEthernet0/0/0] quit

[AR-EXPORT] interface GigabitEthernet0/0/1
[AR-EXPORT-GigabitEthernet0/0/1] description TO-FW-OUTSIDE
[AR-EXPORT-GigabitEthernet0/0/1] ip address 172.16.3.2 24
[AR-EXPORT-GigabitEthernet0/0/1] quit

# 默认路由:指向防火墙(防火墙再指向外网)
[AR-EXPORT] ip route-static 0.0.0.0 0.0.0.0 172.16.3.1

# 回程:内网各段走核心
[AR-EXPORT] ip route-static 192.168.0.0 255.255.0.0 172.16.2.1
# H3C 出口路由器
<H3C> system-view
[H3C] sysname MSR-EXPORT
[MSR-EXPORT] interface GigabitEthernet0/0
[MSR-EXPORT-GigabitEthernet0/0] description TO-FW
[MSR-EXPORT-GigabitEthernet0/0] ip address 172.16.2.2 24
[MSR-EXPORT-GigabitEthernet0/0] quit
[MSR-EXPORT] interface GigabitEthernet0/1
[MSR-EXPORT-GigabitEthernet0/1] ip address 172.16.3.2 24
[MSR-EXPORT-GigabitEthernet0/1] quit
[MSR-EXPORT] ip route-static 0.0.0.0 0 172.16.3.1
[MSR-EXPORT] ip route-static 192.168.0.0 16 172.16.2.1

38.5.3 核心指向出口的默认路由

核心交换机需要一个默认路由,把所有「非内网」流量交给出口路由器:

# 华为核心
[CORE] ip route-static 0.0.0.0 0.0.0.0 172.16.2.2

# H3C 核心
[CORE] ip route-static 0.0.0.0 0 172.16.2.2

38.5.4 验证三层可达

在核心上收一条路由表,确认关键网段都在:

# 华为:查路由表
<CORE> display ip routing-table
<CORE> display ip routing-table 0.0.0.0

# H3C:查路由表
<CORE> display ip routing-table
<CORE> display ip routing-table 0.0.0.0

期望看到 192.168.x.0/24 全部为 Direct(直连),0.0.0.0/0 为 Static 指向 172.16.2.2。再在核心上 ping 出口路由器和防火墙:

# 从核心 ping 上层设备,确认互联段通
<CORE> ping -a 192.168.10.1 172.16.2.2
<CORE> ping -a 192.168.10.1 172.16.3.2

38.5.5 全网联调:按「逐跳 ping」验证

三层配完后不要指望「全部配完一次性测通」。正确做法是从核心出发,一跳一跳往外 ping,每打通一跳再走下一跳。这样任何一处不通都能立刻定位在本跳:

# 第 1 跳:核心 -> 出口路由器
<CORE> ping -a 172.16.2.1 172.16.2.2

# 第 2 跳:核心 -> 防火墙内网口
<CORE> ping -a 172.16.2.1 172.16.3.1

# 第 3 跳:核心 -> 外网网关(运营商)
<CORE> ping -a 172.16.2.1 100.64.8.1

# 第 4 跳:核心 -> 公网 DNS(验证 NAT 是否生效)
<CORE> ping -a 192.168.10.1 8.8.8.8

# 第 5 跳:接入交换机 -> 网关
<ACC-OFFICE> ping -a 192.168.10.10 192.168.10.1

这个「跳一跳 ping」的方法有两个细节:

第一,必须用 -a 指定源地址(华为的 ping -a,H3C 是 ping -a 或 ping -s)。不指定源地址时,设备会用出接口的地址发包,回程路由可能和你实际业务的回程不一致,测出来是「假通」。

第二,第 3 跳之前都不能需要 NAT。也就是说,如果第 1、2 跳都不通,问题一定在路由或接口;如果前两跳通、第 3 跳不通,问题在防火墙策略;如果第 3 跳通、第 4 跳不通,问题在 NAT。

H3C 的 ping 源地址参数写法略有不同:

# H3C:用 -a 指定源地址
<CORE> ping -a 172.16.2.1 172.16.2.2
<CORE> tracert -a 172.16.2.1 100.64.8.1

38.6 第五步:NAT 与安全策略

38.6.1 出口路由器做 NAT

本案例用「Easy IP」:把内网所有流量转换成出口路由器外网口的地址。这是小办公网最常用、最省 IP 的做法。

# 华为:ACL 匹配内网源,然后在出口上做 easy-ip
[AR-EXPORT] acl number 2000
[AR-EXPORT-acl-basic-2000] rule 5 permit source 192.168.10.0 0.0.0.255
[AR-EXPORT-acl-basic-2000] rule 10 permit source 192.168.20.0 0.0.0.255
[AR-EXPORT-acl-basic-2000] rule 15 permit source 192.168.30.0 0.0.0.255
[AR-EXPORT-acl-basic-2000] rule 20 permit source 192.168.40.0 0.0.0.255
[AR-EXPORT-acl-basic-2000] rule 25 permit source 192.168.50.0 0.0.0.255
[AR-EXPORT-acl-basic-2000] quit

[AR-EXPORT] interface GigabitEthernet0/0/1
[AR-EXPORT-GigabitEthernet0/0/1] nat outbound 2000
[AR-EXPORT-GigabitEthernet0/0/1] quit
# H3C:ACL + 出接口 nat outbound
[MSR-EXPORT] acl basic 2000
[MSR-EXPORT-acl-ipv4-basic-2000] rule 5 permit source 192.168.10.0 0.0.0.255
[MSR-EXPORT-acl-ipv4-basic-2000] rule 10 permit source 192.168.20.0 0.0.0.255
[MSR-EXPORT-acl-ipv4-basic-2000] rule 15 permit source 192.168.30.0 0.0.0.255
[MSR-EXPORT-acl-ipv4-basic-2000] rule 20 permit source 192.168.40.0 0.0.0.255
[MSR-EXPORT-acl-ipv4-basic-2000] rule 25 permit source 192.168.50.0 0.0.0.255
[MSR-EXPORT-acl-ipv4-basic-2000] quit

[MSR-EXPORT] interface GigabitEthernet0/1
[MSR-EXPORT-GigabitEthernet0/1] nat outbound 2000
[MSR-EXPORT-GigabitEthernet0/1] quit

特别注意:财务 VLAN 20 要不要做 NAT,取决于业务需要。如果财务要访问外网,就加上;如果要隔离外网,就把 rule 10 去掉。本案例保留,因为财务也要收邮件。

38.6.2 防火墙安全策略

华为 USG6000E 的默认规则是拒绝所有(deny)。也就是说,不配策略,一条流量都不通。这是新手最容易「配了半天全不通」的原因。

先给接口划分安全区域:

# 华为防火墙:接口加到 trust 与 untrust 区域
<USG6000E> system-view
[USG6000E] interface GigabitEthernet1/0/1
[USG6000E-GigabitEthernet1/0/1] description TO-ROUTER
[USG6000E-GigabitEthernet1/0/1] ip address 172.16.3.1 24
[USG6000E-GigabitEthernet1/0/1] quit
[USG6000E] interface GigabitEthernet1/0/2
[USG6000E-GigabitEthernet1/0/2] description TO-WAN
[USG6000E-GigabitEthernet1/0/2] ip address 100.64.8.2 30
[USG6000E-GigabitEthernet1/0/2] quit

[USG6000E] firewall zone trust
[USG6000E-zone-trust] add interface GigabitEthernet1/0/1
[USG6000E-zone-trust] quit
[USG6000E] firewall zone untrust
[USG6000E-zone-untrust] add interface GigabitEthernet1/0/2
[USG6000E-zone-untrust] quit

再配策略。华为的安全策略带状态检测:只配「内到外允许」即可,回程自动放行,不需要反过来再配一条:

# 华为:内网访问外网允许(含回程自动放行)
[USG6000E] security-policy
[USG6000E-policy-security] rule name trust-to-untrust
[USG6000E-policy-security-rule-trust-to-untrust] source-zone trust
[USG6000E-policy-security-rule-trust-to-untrust] destination-zone untrust
[USG6000E-policy-security-rule-trust-to-untrust] action permit
[USG6000E-policy-security-rule-trust-to-untrust] quit
[USG6000E-policy-security] quit

# 外网访问防火墙本身:只放行需要的服务(如 ping、管理)
[USG6000E] security-policy
[USG6000E-policy-security] rule name untrust-to-local
[USG6000E-policy-security-rule-untrust-to-local] source-zone untrust
[USG6000E-policy-security-rule-untrust-to-local] destination-zone local
[USG6000E-policy-security-rule-untrust-to-local] service ping
[USG6000E-policy-security-rule-untrust-to-local] action permit
[USG6000E-policy-security-rule-untrust-to-local] quit
[USG6000E-policy-security] quit

H3C 防火墙(F1000)的配置思路不同:安全域 + 域间策略,默认也是拒绝。

# H3C 防火墙:接口加入安全域
<F1000> system-view
[F1000] interface GigabitEthernet1/0/1
[F1000-GigabitEthernet1/0/1] ip address 172.16.3.1 24
[F1000-GigabitEthernet1/0/1] quit
[F1000] interface GigabitEthernet1/0/2
[F1000-GigabitEthernet1/0/2] ip address 100.64.8.2 30
[F1000-GigabitEthernet1/0/2] quit

[F1000] security-zone name Trust
[F1000-security-zone-Trust] import interface GigabitEthernet1/0/1
[F1000-security-zone-Trust] quit
[F1000] security-zone name Untrust
[F1000-security-zone-Untrust] import interface GigabitEthernet1/0/2
[F1000-security-zone-Untrust] quit

# 域间策略:Trust -> Untrust 放行
[F1000] security-policy ip
[F1000-security-policy-ip] rule name trust-to-untrust
[F1000-security-policy-ip-1-trust-to-untrust] source-zone Trust
[F1000-security-policy-ip-1-trust-to-untrust] destination-zone Untrust
[F1000-security-policy-ip-1-trust-to-untrust] action pass
[F1000-security-policy-ip-1-trust-to-untrust] quit
[F1000-security-policy-ip] quit

⚠ 版本差异:H3C 防火墙的域间策略在 Comware V7 中叫 security-policy ip(老的 zone-pair + packet-filter 方式在 V5 中是主流)。如果你的设备是 V5,请对照 display version 后查对应版本的命令参考。

38.6.3 验证 NAT 与策略

NAT 通不通,看会话表最直接:

# 华为:查看 NAT 会话(有转换记录说明 NAT 生效)
<AR-EXPORT> display nat session all

# H3C:查看 NAT 会话
<MSR-EXPORT> display nat session verbose

# 华为防火墙:查看会话表
<USG6000E> display firewall session table

38.6.4 逐行讲解:NAT 与安全策略的四个坑

这一节是整章最容易「配了不通」的地方,四条命令或者说四个概念,必须掰开讲:

位置 关键点 常见错误 后果
ACL 2000 只匹配源地址,不匹配目的地址 把目的地址也写进去 只有访问某个网站才 NAT,其它全失败
nat outbound 位置 必须配在出接口上(朝外网的那个口) 配在内网口 一条流量都不会被 NAT
防火墙区域 接口必须加入区域才受策略管理 接口配了 IP 但没加区域 该接口流量不匹配任何策略,默认丢
安全策略方向 配「源区域 → 目的区域」的正向那条 只配 untrust → trust(反向) 内上不去,外进不来,两头堵

再强调一个关键点:NAT 在路由器上做、策略在防火墙上做,两者的顺序是「先过防火墙,再做 NAT」还是反过来,取决于物理位置。本案例的报文路径是:PC → 核心 → 路由器(做 NAT)→ 防火墙(做策略)→ 外网。也就是说 NAT 先于防火墙策略生效:防火墙看到的是转换后的源地址。

这个细节会带来一个实际后果:在防火墙上写策略时,源地址不要写 192.168.10.0/24,而要写转换后的地址(本案例是 172.16.3.2)。这是新手最迷惑的一点——「我明明在策略里写了内网段,为什么匹配不上」。原因是防火墙收到的报文源地址已经被 NAT 改了。

如果你希望「防火墙先做策略、路由器后做 NAT」,那就把防火墙放在路由器和核心之间(内网侧),这在有些项目里更合理。两种方案都能用,但必须明确谁在前谁在后,并在文档里写清楚。

38.6.5 关于「只配一条策略」的再说明

初学者常常在两个方向都配一遍策略,以为「双向都要放行才通」。在华为 USG6000E 和 H3C F1000 这类带状态检测的防火墙上,这是多余的,而且容易配出互相冲突的规则。

原因:防火墙建立会话后,正向和反向报文都在同一个会话里,第二个方向的报文不需要重新匹配策略。所以:

  • 需要配的:内网 → 外网的放行策略(或者按业务细分)。
  • 不需要配的:「外网 → 内网」的放行策略,除非你要做端口映射(NAT Server)或从外网主动访问内网服务。

例外情况是 local 区域——访问防火墙自身(管理、ping、SNMP)不属于会话,必须单独配策略。本案例的 untrust-to-local 规则就是为此。

38.7 第六步:DHCP 与无线配置

38.7.1 核心交换机做 DHCP 服务器

小办公网不需要单独的 DHCP 服务器,核心交换机直接做全局地址池:

# 华为:开 DHCP,按 VLAN 建地址池
[CORE] dhcp enable
[CORE] ip pool office
[CORE-ip-pool-office] network 192.168.10.0 mask 255.255.255.0
[CORE-ip-pool-office] gateway-list 192.168.10.1
[CORE-ip-pool-office] dns-list 8.8.8.8
[CORE-ip-pool-office] excluded-ip-address 192.168.10.100 192.168.10.200
[CORE-ip-pool-office] lease day 1
[CORE-ip-pool-office] quit

[CORE] ip pool guest
[CORE-ip-pool-guest] network 192.168.30.0 mask 255.255.255.0
[CORE-ip-pool-guest] gateway-list 192.168.30.1
[CORE-ip-pool-guest] dns-list 8.8.8.8
[CORE-ip-pool-guest] lease day 0 hour 2
[CORE-ip-pool-guest] quit

# 接口上引用全局地址池
[CORE] interface Vlanif 10
[CORE-Vlanif10] dhcp select global
[CORE-Vlanif10] quit
[CORE] interface Vlanif 30
[CORE-Vlanif30] dhcp select global
[CORE-Vlanif30] quit
# H3C:开 DHCP,建地址池
[CORE] dhcp enable
[CORE] dhcp server ip-pool office
[CORE-dhcp-pool-office] network 192.168.10.0 mask 255.255.255.0
[CORE-dhcp-pool-office] gateway-list 192.168.10.1
[CORE-dhcp-pool-office] dns-list 8.8.8.8
[CORE-dhcp-pool-office] forbidden-ip 192.168.10.100 192.168.10.200
[CORE-dhcp-pool-office] expired day 1
[CORE-dhcp-pool-office] quit

[CORE] dhcp server ip-pool guest
[CORE-dhcp-pool-guest] network 192.168.30.0 mask 255.255.255.0
[CORE-dhcp-pool-guest] gateway-list 192.168.30.1
[CORE-dhcp-pool-guest] dns-list 8.8.8.8
[CORE-dhcp-pool-guest] expired day 0 hour 2
[CORE-dhcp-pool-guest] quit

38.7.2 AP 管理段的 DHCP 与 Option 43

AP 要上线,必须「拿到 IP + 知道 AC 在哪」。Option 43 就是「告诉 AP,AC 在这个地址」的 DHCP 选项。华为格式为「子选项类型 0x0B + 长度 4 + AC 的 IP」。

本案例 AC 地址为 172.16.100.2,编码为 0B 04 AC 10 64 02。

# 华为:AP 管理段 DHCP + Option 43
[CORE] ip pool ap-mgmt
[CORE-ip-pool-ap-mgmt] network 172.16.100.0 mask 255.255.255.0
[CORE-ip-pool-ap-mgmt] gateway-list 172.16.100.1
[CORE-ip-pool-ap-mgmt] option 43 sub-option 2 ip-address 172.16.100.2
[CORE-ip-pool-ap-mgmt] quit
[CORE] interface Vlanif 100
[CORE-Vlanif100] ip address 172.16.100.1 24
[CORE-Vlanif100] dhcp select global
[CORE-Vlanif100] quit
# H3C:AP 管理段 DHCP + Option 43(十六进制字符串)
[CORE] dhcp server ip-pool ap
[CORE-dhcp-pool-ap] network 172.16.100.0 mask 255.255.255.0
[CORE-dhcp-pool-ap] gateway-list 172.16.100.1
[CORE-dhcp-pool-ap] option 43 hex 8007000001ac106402
[CORE-dhcp-pool-ap] quit
[CORE] interface Vlan-interface 100
[CORE-Vlan-interface100] ip address 172.16.100.1 24
[CORE-Vlan-interface100] quit

H3C PXE 格式逐字节:80(PXE 子选项类型)07(长度=7 字节)00 00(固定值)01(AC 地址个数,1 个写 01)ac 10 64 02(AC 地址 172.16.100.2 的十六进制)。最容易写错的就是「地址个数」这一字节:写成 02 会导致 AP 按 2 个地址解析、报文错位,AP 永远不上线。

38.7.3 AC 配置(华为 AC6005)

AC 旁挂,管理口设 IP,并指定 CAPWAP 源接口:

# 华为 AC:管理地址、CAPWAP 源、无线模板
<AC6005> system-view
[HUAWEI] sysname AC1
[AC1] vlan batch 40 50 100
[AC1] interface Vlanif 100
[AC1-Vlanif100] ip address 172.16.100.2 24
[AC1-Vlanif100] quit
[AC1] ip route-static 0.0.0.0 0.0.0.0 172.16.100.1
[AC1] capwap source interface Vlanif 100

# 员工无线:Wi-Fi 名 Company-Staff,WPA2 密码
[AC1] wlan
[AC1-wlan-view] ssid-profile name staff-ssid
[AC1-wlan-ssid-prof-staff-ssid] ssid Company-Staff
[AC1-wlan-ssid-prof-staff-ssid] quit

[AC1-wlan-view] security-profile name staff-sec
[AC1-wlan-sec-prof-staff-sec] security wpa2 psk pass-phrase Office@2024 aes
[AC1-wlan-sec-prof-staff-sec] quit

[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

# 华为缺省 AP 组名是 default-group;VAP 按射频分别绑定:2.4G 用 radio 0,5G 用 radio 1
[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

38.7.4 AC 配置(H3C WX3540H)

# H3C AC:管理地址、CAPWAP 源、服务模板
<H3C> system-view
[H3C] sysname AC1
[AC1] vlan 40 50 100
[AC1] interface Vlan-interface 100
[AC1-Vlan-interface100] ip address 172.16.100.2 24
[AC1-Vlan-interface100] quit
[AC1] ip route-static 0.0.0.0 0 172.16.100.1
# CAPWAP 源接口在【系统视图】下配,不在 wlan global-configuration 视图内
[AC1] capwap source interface Vlan-interface 100

# 员工无线服务模板
[AC1] wlan service-template staff
[AC1-wlan-st-staff] ssid Company-Staff
[AC1-wlan-st-staff] vlan 40
[AC1-wlan-st-staff] akm mode psk
[AC1-wlan-st-staff] preshared-key pass-phrase simple Office@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 组
[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] radio 2
[AC1-wlan-ap-group-default-group-ap-model-WA6320-radio-2] service-template staff
[AC1-wlan-ap-group-default-group-ap-model-WA6320-radio-2] radio enable
[AC1-wlan-ap-group-default-group-ap-model-WA6320-radio-2] quit
[AC1-wlan-ap-group-default-group-ap-model-WA6320] quit
[AC1-wlan-ap-group-default-group] quit

38.7.5 AP 上线验证

AP 上电后会自动找 AC。验证分三步:AP 拿到 IP → AP 与 AC 建 CAPWAP → AP 状态为在线。

# 华为:看 AP 上线状态(R 为在线,I 为未上线)
<AC1> display ap all
<AC1> display ap statistic

# H3C:看 AP 状态
<AC1> display wlan ap all
<AC1> display wlan ap name AP-01 verbose

期望输出中 AP 状态从 I 变成 R。如果一直 I,按 37.9.3 排查。

38.7.6 无线覆盖与 AP 布放要点

配置配对了,不代表无线就好用。AP 布放位置对肩「配置」来说同样重要,这一小节讲几条不写在命令里但影响体验的要点:

要点 具体做法 原因
高度 AP 吸顶安装,离地 2.5~3 米 信号呈球形扩散,太高太矮都有死角
位置 走廊吊顶、会议室中央,不要放机柜里 金属机柜是屏蔽罩,AP 关进去就没信号了
间距 办公区 8~12 米一个 太密会互相干扰,太疏会有弱覆盖区
信道 相邻 AP 用不同信道(1/6/11 或 36/40/44/48) 同信道 AP 会互相抢空口
功率 默认自动,必要时手动降 功率越大覆盖越远,但干扰也越大
供电 PoE 交换机端口要够(802.3af/at) 部分 AP 需要 at 级供电,af 带不动

实际布点时用「一点两面」原则:办公室的每个房间至少能看到一个 AP,会议室因为人多要单独加一个 AP。

38.7.7 无线用户拿地址的完整链路

无线用户从「连上 SSID」到「能上网」,要穿过多层配置,任何一环断了都表现为「连上了没网」。把链路摊开看:

手机 --(802.11 关联)--> AP --(CAPWAP 隧道)--> AC --(业务 VLAN 40)
     --> 核心 VLANIF 40 网关 192.168.40.1
     --> 核心 DHCP 池(给手机分配 192.168.40.x)
     --> 核心默认路由 --> 路由器 NAT --> 防火墙 --> 外网

这条链路上有六个检查点,逐一对应命令:

检查点 该看什么 命令
1. 终端关联 手机能否连上 SSID 手机上看 Wi-Fi 状态
2. AP 转发 AP 是否在工作 display ap all
3. 隧道 CAPWAP 隧道是否建立 display capwap configuration
4. 业务 VLAN 核心上 VLANIF 40 是否 up display vlan 40
5. 地址分配 手机是否拿到 192.168.40.x display dhcp server ip-in-use
6. 出网 是否被 ACL 或策略拦住 display acl 3001

这个方法论叫「端到端分段验证」。把所有环节列出来,从两端往中间查,比「到处乱试」快十倍。

38.8 第七步:ACL 与限速(访问控制)

38.8.1 部门隔离与访客管控

本案例的策略需求:访客不能访问内网任何资源,财务不能访问办公网段,员工可以访问全部内网。用高级 ACL 在核心的 VLANIF 上做入方向过滤。

# 华为:访客 VLAN 30 只能上外网,不能访问内网
[CORE] acl number 3001
[CORE-acl-adv-3001] rule 5 permit ip source 192.168.30.0 0.0.0.255 destination 192.168.30.0 0.0.0.255
[CORE-acl-adv-3001] rule 10 deny ip source 192.168.30.0 0.0.0.255 destination 192.168.0.0 0.0.255.255
[CORE-acl-adv-3001] rule 15 permit ip source 192.168.30.0 0.0.0.255
[CORE-acl-adv-3001] quit
[CORE] interface Vlanif 30
[CORE-Vlanif30] traffic-filter inbound acl 3001
[CORE-Vlanif30] quit

# 华为:财务 VLAN 20 与办公 VLAN 10 互不访问
[CORE] acl number 3002
[CORE-acl-adv-3002] rule 5 deny ip source 192.168.20.0 0.0.0.255 destination 192.168.10.0 0.0.0.255
[CORE-acl-adv-3002] rule 10 permit ip source 192.168.20.0 0.0.0.255
[CORE-acl-adv-3002] quit
[CORE] interface Vlanif 20
[CORE-Vlanif20] traffic-filter inbound acl 3002
[CORE-Vlanif20] quit
# H3C:同策略,ACL 写法不同
[CORE] acl advanced 3001
[CORE-acl-ipv4-adv-3001] rule 5 permit ip source 192.168.30.0 0.0.0.255 destination 192.168.30.0 0.0.0.255
[CORE-acl-ipv4-adv-3001] rule 10 deny ip source 192.168.30.0 0.0.0.255 destination 192.168.0.0 0.0.255.255
[CORE-acl-ipv4-adv-3001] rule 15 permit ip source 192.168.30.0 0.0.0.255
[CORE-acl-ipv4-adv-3001] quit
[CORE] interface Vlan-interface 30
[CORE-Vlan-interface30] packet-filter 3001 inbound
[CORE-Vlan-interface30] quit

38.8.2 限速(访客与企业员工)

访客网络要限速,防止一个人把带宽占满。限速要配在承载访客流量的物理以太网接口上——这是关键,qos lr 这类接口限速命令作用在以太网接口视图,不是 VLAN 接口视图。

# 华为:在接访客终端的以太网接口上做入方向限速(100Mbps = 102400 kbps)
[CORE] interface GigabitEthernet0/0/10
[CORE-GigabitEthernet0/0/10] qos lr inbound cir 102400
[CORE-GigabitEthernet0/0/10] quit
# H3C:同功能,qos lr 的视图是二层/三层以太网接口视图
[CORE] interface GigabitEthernet1/0/10
[CORE-GigabitEthernet1/0/10] qos lr inbound cir 102400
[CORE-GigabitEthernet1/0/10] quit

单位与取值:cir 单位是 kbps,102400 即 100Mbps。H3C 官方命令参考写明 qos lr { inbound | outbound } cir committed-information-rate [ cbs committed-burst-size ],视图为「二层/三层以太网接口视图」,且配置值须为 8 的整数倍。华为同名命令 qos lr 在部分 S 系列上是接口整形速率(主要针对 outbound),不同型号支持的方向不同——上线前请在你设备的接口视图敲 qos lr ? 确认可用方向。

38.8.3 逐行讲解:ACL 是怎么匹配的

ACL 是「按顺序逐条比对,命中就停」的列表。理解这一句话,就能解释 90% 的「策略不生效」问题。以 37.8.1 的访客 ACL 3001 为例,逐条拆开:

# 访客 ACL 的匹配顺序(从上往下,命中即停)
[CORE-acl-adv-3001] rule 5 permit ip source 192.168.30.0 0.0.0.255 destination 192.168.30.0 0.0.0.255
[CORE-acl-adv-3001] rule 10 deny ip source 192.168.30.0 0.0.0.255 destination 192.168.0.0 0.0.255.255
[CORE-acl-adv-3001] rule 15 permit ip source 192.168.30.0 0.0.0.255
规则 作用 为什么必须在这个位置
rule 5 permit 访客访问访客自己 访客之间互通,需要在 deny 之前放行
rule 10 deny 访客禁止访问内网全部段 拦掉 192.168.x.x 内网
rule 15 permit 其余全部放行(到外网) 兜底放行外网访问

三个必须记住的规则:

规则一:顺序不能乱。 如果把 rule 15 permit ip 写在最前面,那么后面所有 deny 永远不会被匹配到——因为第一条就命中了。这是「ACL 不生效」的头号原因。

规则二:末尾有隐式拒绝。 华为与 H3C 的 ACL 在最后都有一条看不见的 deny any。所以如果你的规则只写了 deny 没写 permit,那连本该通的流量也会被拒。写 ACL 时一定要在末尾补一条 permit 兜底。

规则三:反掩码不是掩码。 192.168.0.0 0.0.255.255 里的 0.0.255.255 是反掩码(wildcard mask),表示「哪些位必须匹配、哪些位可以不看」。0 表示必须精确匹配该位,1 表示忽略该位。所以:

  • 192.168.10.0 0.0.0.255 = 匹配 192.168.10.0/24 整段。
  • 192.168.0.0 0.0.255.255 = 匹配 192.168.0.0/16 整段。
  • 0.0.0.0 255.255.255.255 = 匹配任意地址,即 any。

新手最常见的错误是把 0.0.0.255 写成 255.255.255.0(直接照抄掩码),结果 ACL 匹配范围完全不对,策略时灵时不灵。

规则四:方向选对。 traffic-filter inbound 是在「进入该接口」方向过滤。在 VLANIF 30 上配 inbound,拦的是「从访客 VLAN 进入核心」的流量。如果配成 outbound,方向就是「核心发往访客」(也就是回程),效果就南辕北辙了。

验证 ACL 是否命中,看命中计数:

# 华为:查看 ACL 每条规则的命中次数
<CORE> display acl 3001

# H3C:查看 ACL 命中计数
<CORE> display acl 3001

输出里的 match-counter 或 Matches 字段会显示每条规则命中了多少个包。如果一个本该命中的规则计数一直是 0,说明要么方向配反了,要么流量根本没走到这个接口。

38.9 第八步:验收与排错

38.9.1 验收清单(照着打勾)

全部配完,按这张清单逐条验证,每条都要有「用什么命令、期望看到什么」:

序号 验收项 操作 通过标准
1 设备可达 从管理电脑 ping 各设备管理 IP 全通
2 有线获取地址 办公 PC 开机看 IP 在 192.168.10.0/24 内
3 有线跨 VLAN 办公 PC ping 财务 PC 不通(按策略)
4 有线通外网 办公 PC 打开网站 正常打开
5 访客隔离 访客 PC ping 办公 PC 不通
6 访客上网 访客 PC 访问网站 正常
7 AP 在线 display ap all 8 台全部在线
8 无线连接 手机连 Company-Staff 能连上
9 无线获取地址 手机看 IP 在 192.168.40.0/24 内
10 无线通外网 手机打开网站 正常
11 限速生效 实测下载速度 不超过配置值
12 保存配置 每台设备 save 重启后配置还在

38.9.2 保存与备份(最后一步,别忘)

所有设备配完必须保存,否则断电全部回滚:

# 华为:保存配置(交互确认 y)
<CORE> save
<CORE> display saved-configuration

# H3C:保存配置(免交互)
<CORE> save force
<CORE> display saved-configuration

38.9.3 五个高频故障的快速定位

配完之后最常见的五个问题,每个都给「症状 → 命令 → 定位」:

故障一:PC 拿不到 IP。 先看 DHCP 地址池有没有绑定到 VLANIF,再看 VLAN 是否有 up 的端口。

# 华为:查 DHCP 地址池使用情况
<CORE> display dhcp server pool
<CORE> display dhcp server ip-in-use
<CORE> display vlan 10

故障二:能拿 IP 但 ping 不通网关。 多半是 PC 掩码/网关填错,或接入口不在正确 VLAN。

<CORE> display arp | include 192.168.10
<ACC-OFFICE> display port vlan active

故障三:内网通,外网不通。 按「路由 → NAT → 防火墙策略」三段查。

# 1. 核心有没有默认路由
<CORE> display ip routing-table 0.0.0.0
# 2. 路由器有没有 NAT 会话
<AR-EXPORT> display nat session all
# 3. 防火墙会话表有没有丢包记录
<USG6000E> display firewall session table | include 192.168.10

故障四:AP 不上线。 三步:AP 是否有管理 IP、DHCP 是否带 Option 43、AC 是否可达。

<CORE> display ip pool name ap-mgmt
<AC1> display ap all
<AC1> display capwap configuration

故障五:无线连上了没网。 检查业务 VLAN 是否在核心上有网关、AC 到核心的 trunk 是否放行了业务 VLAN。

<CORE> display interface Vlanif 40
<CORE> display vlan 40
<AC1> display vap-profile all

38.9.4 交付文档清单

项目上线不是「能上网就完了」。交付时至少要给客户(或你的下一个接手人)这五份文档,缺一份都会在三个月后变成事故:

文档 内容 谁看
拓扑图 物理拓扑 + 逻辑拓扑 + IP 规划 所有人
配置清单 每台设备的 display current-configuration 导出 运维
接线表 谁和谁连、哪个口、什么标签 布线施工方
账号表 各设备管理账号、密码存放位置(不要写在 Excel 里明文) 管理员
变更记录 每次改动的日期、内容、操作人、回滚方式 运维

导出配置的标准做法:

# 华为:导出当前配置(通过终端软件「记录日志」功能保存)
<CORE> display current-configuration

# H3C:导出当前配置
<CORE> display current-configuration

# 更规范的做法:传到 TFTP/FTP 服务器归档
# 华为:把配置文件上传到 TFTP 服务器 192.168.1.100
<CORE> tftp 192.168.1.100 put vrpcfg.zip core-20240101.zip

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

38.9.5 华为与 H3C 对照速记(本案例涉及的全部命令)

整章涉及的配置命令做一个汇总,方便你「先看华为、再对 H3C」地替换:

功能 华为 H3C
改名 sysname X sysname X
建 VLAN vlan batch 10 20 vlan 10 20
接口划 VLAN port default vlan 10 port access vlan 10
Trunk 放行 port trunk allow-pass vlan 10 port trunk permit vlan 10
三层接口 interface Vlanif 10 interface Vlan-interface 10
默认路由 ip route-static 0.0.0.0 0 172.16.2.2 ip route-static 0.0.0.0 0 172.16.2.2
基本 ACL acl number 2000 acl basic 2000
高级 ACL acl number 3001 acl advanced 3001
接口过滤 traffic-filter inbound acl 3001 packet-filter 3001 inbound
NAT 出方向 nat outbound 2000 nat outbound 2000
DHCP 地址池 ip pool office dhcp server ip-pool office
地址池引用 dhcp select global 接口默认即生效
安全策略 security-policy + rule name security-policy ip + rule name
SSH 开启 stelnet server enable ssh server enable
本地用户 aaa + local-user local-user
保存 save(敲 y) save force

38.9.6 这个案例最容易翻车的五个瞬间

把整章再浓缩一次,五个最典型的失败场景:

场景 表现 根因 一句话解法
上架后发现线接错了 某台交换机 ping 不通任何人都 两端标签写错/插错口 按接线表复核,用 display interface brief 对照
VLANIF 一直 down 配了网关但 PC ping 不通 该 VLAN 没有 up 的物理口 检查 trunk 是否放行该 VLAN、接入口是否划进该 VLAN
NAT 配了没效果 内网能 ping 通外网网关但不能上网 ACL 写反/配在错误接口 nat outbound 必须在朝外的接口上
防火墙策略写了还不通 会话表为空或丢包 源地址被 NAT 改过,匹配不上内网段 按 NAT 后的地址写策略
无线连上没网 手机显示已连接但打不开网页 AC 上业务 VLAN 没有网关或 DHCP 未覆盖 查 37.7.7 的六个检查点

38.9.7 本章要带走的三个习惯

第一,任何配置之前先写规划。VLAN 表、IP 表、接线表三张纸,能省掉后期一半的返工。技术能力决定你能不能配通,而规划能力决定你的网络三个月后还通不通。

第二,每一步都要验证。不要攒着最后一起测。配完 VLAN 就用 display vlan 看一眼,配完路由就用 display ip routing-table 看一眼。验证的成本是几秒钟,返工的成本是几个小时。

第三,能自动化的绝不手动。本案例只有二十台设备还能手配,但有 140 台接入交换机的场景就必须靠脚本和模板了。这也正是后面第 40 章「命令速查字典」的意义——把常用命令练成肌肉记忆,手不会停,脑子才有余力想问题。

38.10 本章小结

这一章把一个小办公网从拆箱子到验收的全流程走了一遍。要点回顾:

  • 先想后配:六个开局问题(外网类型、VLAN、网关位置、NAT 位置、防火墙位置、无线管理)回答完再动手。
  • IP 规划是地基:VLAN ID 与 IP 第三段对齐,半年后还能看懂。
  • 接线要打标签、画接线表:省下的排查时间是几小时的量级。
  • 华为与 H3C 的差异集中在三处:接口编号、命令语序(port default vlan vs port access vlan)、默认值。
  • 防火墙默认拒绝:不配策略一条都通,配了还要看方向与会话。
  • AP 上线的两个必要条件:拿到管理 IP + 通过 Option 43 知道 AC 在哪。
  • 每步都要验证:display vlan、display ip routing-table、display nat session、display ap all 这四个命令覆盖了 80% 的验证场景。

自测题

  1. 这个案例里,为什么网关配在核心交换机而不是出口路由器上?
  2. 华为与 H3C 的 AP 管理段 DHCP 配置中,Option 43 的写法有什么本质区别?
  3. 如果访客 VLAN 30 的 PC 能 ping 通办公 PC,你应该先查什么?为什么?
  4. 华为防火墙默认策略是拒绝,那为什么只配了一条「trust 到 untrust 允许」就能上网?
  5. 为什么核心交换机上的 VLANIF 可能出现「配了地址但状态 down」?
  1. 网关配在核心上可以让各 VLAN 的三层互通在交换机内部完成,性能高且路径短;如果网关放在出口路由器,所有跨 VLAN 流量都要绕到路由器再回来,出口路由器会变成瓶颈,且路由器接口数量有限、无法承载几十个 VLAN 的子接口。
  2. 华为支持 option 43 sub-option 2 ip-address,直接填 AC 的 IP;H3C 通常要用 option 43 hex 写十六进制串,格式为「80 + 长度 + 0000 + 地址个数 + AC 地址」,其中地址个数单地址必须写 01。华为写法可读性好,H3C 写法更「原始」但通用。
  3. 先查核心上 display acl 3001 的命中情况和 VLANIF 30 上是否正确应用了 traffic-filter inbound。因为策略是通配匹配,只要规则顺序写错(比如 permit 写在 deny 前面),后面的 deny 就永远不生效。
  4. 因为华为安全策略采用状态检测(会话机制),「允许内到外」时不仅放行正向报文,还会为这条流自动建立会话,回程报文命中会话即可通过,不需要单独配反向策略。
  5. VLANIF 的协议状态依赖于该 VLAN 内的物理端口状态——如果这个 VLAN 在设备上没有任何一个 up 的物理接口,VLANIF 就会是 down 的,配上的地址也不生效。

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