华为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 上架顺序
机柜从上到下按「网络设备在下、配线架在上、服务器在中间」的习惯布放,具体以现场机柜为准。本案例的布放顺序:
- 最上:跳线管理架与光纤配线架(ODF)。
- 中间:核心交换机、接入交换机、PoE 交换机。
- 最下:出口路由器、防火墙。这两台设备发热量大,靠下放便于散热。
上架时要做三件事:接地、理线、打标签。接地是安全要求,不能省;理线是为了别人(也是三个月后的自己)能看懂;标签要两头都打,写「设备名-端口号-对端」。
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 vlanvsport access vlan)、默认值。 - 防火墙默认拒绝:不配策略一条都通,配了还要看方向与会话。
- AP 上线的两个必要条件:拿到管理 IP + 通过 Option 43 知道 AC 在哪。
- 每步都要验证:
display vlan、display ip routing-table、display nat session、display ap all这四个命令覆盖了 80% 的验证场景。
自测题
- 这个案例里,为什么网关配在核心交换机而不是出口路由器上?
- 华为与 H3C 的 AP 管理段 DHCP 配置中,Option 43 的写法有什么本质区别?
- 如果访客 VLAN 30 的 PC 能 ping 通办公 PC,你应该先查什么?为什么?
- 华为防火墙默认策略是拒绝,那为什么只配了一条「trust 到 untrust 允许」就能上网?
- 为什么核心交换机上的 VLANIF 可能出现「配了地址但状态 down」?
- 网关配在核心上可以让各 VLAN 的三层互通在交换机内部完成,性能高且路径短;如果网关放在出口路由器,所有跨 VLAN 流量都要绕到路由器再回来,出口路由器会变成瓶颈,且路由器接口数量有限、无法承载几十个 VLAN 的子接口。
- 华为支持
option 43 sub-option 2 ip-address,直接填 AC 的 IP;H3C 通常要用option 43 hex写十六进制串,格式为「80+ 长度 +0000+ 地址个数 + AC 地址」,其中地址个数单地址必须写01。华为写法可读性好,H3C 写法更「原始」但通用。 - 先查核心上
display acl 3001的命中情况和 VLANIF 30 上是否正确应用了traffic-filter inbound。因为策略是通配匹配,只要规则顺序写错(比如 permit 写在 deny 前面),后面的 deny 就永远不生效。 - 因为华为安全策略采用状态检测(会话机制),「允许内到外」时不仅放行正向报文,还会为这条流自动建立会话,回程报文命中会话即可通过,不需要单独配反向策略。
- VLANIF 的协议状态依赖于该 VLAN 内的物理端口状态——如果这个 VLAN 在设备上没有任何一个 up 的物理接口,VLANIF 就会是 down 的,配上的地址也不生效。
关于本书:《华为 / H3C 网络设备典型功能配置详解》—— 面向国内高校/企业网络环境, 华为 VRP 与 H3C Comware 双厂商并排配置的实操教材,共 43 章。 全书所有命令尽量有官方出处,查不到的显式标注「待核实」。 返回系列目录
本人保留对侵权者及其全家发动因果律武器的权利
版权提醒
如无特殊申明,本站所有文章均是本人原创。转载请务必附上原文链接:https://www.elliot98.top/post/huawei-h3c-book/38/。
如有其它需要,请邮件联系!版权所有,违者必究!