简介:这是一份华为 R2621 路由器和 S3026e 交换机联调的配置实例文档,面向网络初学者、运维人员以及备考华为认证的读者,演示通过 VLAN 划分、防火墙策略和 ACL 访问控制实现虚拟网与物理网互联的完整过程。压缩包仅 1 个 doc 文件,约 28KB,doc 格式便于在实验环境中复制、修改和保存命令。内容以四台 PC 的 IP 与网关规划为起点,包含交换机上从系统视图创建 VLAN 2、VLAN 3,将指定端口划入对应 VLAN,以及查看 VLAN 和当前配置的命令;路由器部分则给出 Ethernet0、Ethernet1 的接口地址配置、启用防火墙并默认设为 deny,再通过 ACL 101 设置 permit 规则并双向应用到接口的具体写法。读者可据此直接搭建一个带访问控制的小型网络,并理解从物理联通到策略放通的排错思路。该资源已有 1504 人学习,适合需要快速掌握华为基础配置命令的人群。
1. 华为路由器配置实例:一份能跑通的配置文档,为什么比命令手册更值钱
手里拿着一台华为路由器,面前摆着一份《华为路由器配置实例.doc》,第一次动手的人很容易把文档里的命令当成配方,从上往下敲一遍就以为完事了。等真正上线或者用 eNSP 模拟的时候才会发现,命令背得再熟,不知道视图该在哪一层敲、ACL 该挂哪个方向、静态路由为什么不回包,配置起来依然像猜谜。这类华为路由器配置实例最值钱的地方,不是里面那几十行命令,而是它把接口规划、配置过程和验证方式打包在一起,告诉你什么组合能跑通、跑不通时去哪查。这篇就顺着这份配置实例的思路,把华为路由器从开机到 ACL 落地完整走一遍,适合手里有华为 AR 系列真机、或者正在 eNSP 里练手想今晚就把配置逻辑理顺的从业者。
2. 动手配之前:华为路由器的视图体系、命令习惯与 IP 规划
2.1 视图层级不是抽象概念,是华为路由器 90% 配置错误的来源
华为 AR 系列路由器跑的是 VRP(Versatile Routing Platform),和思科 IOS 最大的区别之一就是视图体系非常严格。你敲的每一条命令,必须在一个特定的视图里才有效。如果视图不对,命令要么敲不进去,要么敲进去了含义完全不同。
设备开机后默认在用户视图,提示符是<Huawei>。在这个视图下能做的只有少量查看和基础操作,比如display version、ping。要配置接口、路由、ACL,必须先执行system-view进入系统视图,提示符变成[Huawei]。进入系统视图之后再去接口、ACL、用户界面这些子视图,提示符会继续变化,比如[R1-GigabitEthernet0/0/0]、[R1-acl-adv-3000]。
我见过不少新手把配置文档里的命令原样贴进终端,结果发现第一行system-view没执行,后续所有命令全部报错。还有人是进入了系统视图,但忘了接口命令要先进interface再配ip address,直接在系统视图敲ip address,结果报错。这不是命令背得不熟,而是没建立视图思维。判断当前在哪个视图,第一看提示符,第二看缩进。配置文档里的每一段命令,其实都隐含了它所属的视图层级,阅读时看不出来,执行时必须自己补上。
提示:在华为 VRP 上,quit是退回上一级视图,return或者快捷键Ctrl+Z是直接回到用户视图。实操文档里如果出现了大段配置后接一个quit,意思是这段配置到此结束,别再往里追加命令了。
2.2 建立 display / undo / save 三个动作,比背命令更重要
配置华为路由器,本质上是一个"查看当前状态、修改配置、验证结果"的循环。这个循环里的三个基础动作,很多人一开始没养成习惯,后面才吃了大亏。
第一个是display。它是华为 VRP 的查看命令统称,可能是所有排错过程中用得最多的命令。display ip interface brief看接口状态和 IP,display ip routing-table看路由表,display current-configuration看当前生效的完整配置,display acl 3000看 ACL 规则和匹配计数。配置实例文档里经常会出现这些 display 命令,它的作用是让你在每次修改之后,第一时间看到设备实际状态。
第二个是undo。它是配置的逆操作,用来撤销某条命令。比如配错了 IP,重新配之前要先执行undo ip address;ACL 规则序号写错了,undo rule 5删掉这条。很多人误以为重新配置相同命令就能覆盖旧配置,这在华为路由器上不一定成立。像 IP 地址这类参数可以直接覆盖,但 ACL 里的 rule 是按序号累积的,不删掉旧的,两条规则就会同时存在,结果完全不可控。
第三个是save。这条命令的作用是把当前 running config 写入到 startup config,也就是持久化保存。华为路由器重启后会加载 startup config,你没有执行save,重启后所有配置全部消失。这个坑我会在后面的避坑章节里详细展开。这里只强调一个习惯:设备上每完成一段配置、且验证通过后,立刻 save,不要攒到最后一起存。
2.3 配置前必须画清楚的 IP 规划表,别拿文档当草稿纸
配置实例文档里,设备配置总是以接口规划开头,这不是偶然。没有一张明确的 IP 规划表,任何配置实例都无法落地。
我一般会在动手前先画一个简单拓扑,把每台路由器的接口、 IP 地址和直连网段列成表格。以两台路由器为例,规划可以长这样:
| 设备 | 接口 | IP 地址 | 用途 |
|---|---|---|---|
| R1 | GE0/0/0 | 192.168.1.1/24 | 接入内网 PC |
| R1 | GE0/0/1 | 192.168.12.1/30 | 上行与 R2 互联 |
| R2 | GE0/0/0 | 192.168.12.2/30 | 下行与 R1 互联 |
| R2 | GE0/0/1 | 192.168.2.1/24 | 接入服务器网段 |
这里有一个很容易忽略的细节:互联地址用 /30 而不是 /24。两个路由器之间的点到点链路,只需要两个可用的 IP 地址,/30 刚好提供 2 个可用地址(如 192.168.12.1 和 192.168.12.2),子网掩码是 255.255.255.252。如果这里写成 /24,虽然也能通,但一个广播域里塞进了 254 个地址,后续加设备、做 ACL 时很难界定边界,排查问题也会多一层干扰。
有了这张表,配置实例才算具备可执行性。接口在哪台设备的哪个槽位、IP 写多少、对端是谁,全都一目了然。没有这张表就上手配,到了排错阶段每一条路由都要靠猜,那是在给自己挖坑。
3. 组装一份可运行的华为路由器配置:接口、静态路由与 ACL 完整落地
3.1 在 eNSP 里搭两台路由器的实验环境:拓扑、连线与启动确认
如果你手头没有真机,用 eNSP(Enterprise Network Simulation Platform)搭一个最小实验环境是最快的验证方式。华为官方提供的 eNSP 里内置了 AR 路由器镜像,支持 VRP 的命令行操作,和真机的配置逻辑基本一致。
打开 eNSP 后,拖两台 AR2220 路由器到拓扑区,再拖两台 PC 分别连到两台路由器的接口上。连线时要注意,PC 的以太网口只能连路由器的 GigabitEthernet 口,别连到 Serial 口上。然后在两台路由器之间用一条网线连接,比如 R1 的 GE0/0/1 连 R2 的 GE0/0/0。
双击路由器图标启动设备,等待命令行窗口出现Starting...直到进入用户视图。这里有个非常常见的环境问题:eNSP 报"路由器启动失败 40"。这个错误通常意味着 VirtualBox 组件没有装好,或者硬件虚拟化没有开启。解决办法是先到 BIOS 里确认 CPU 虚拟化已启用,然后卸载重装 VirtualBox 时注意选择与 eNSP 版本匹配的版本。我遇到过的最典型的翻车场景是,装了一个太新的 VirtualBox,eNSP 偏偏不兼容,启动 40 报得很干脆。换回 eNSP 自带安装包里的版本后就好了。
拓扑跑起来之后再开始配配置,不然命令全打进一个没有 CPU 运行的模拟器里,什么都不会发生。这一步看起来是在搭环境,实际上在做配置前的最后确认:设备可达、能进入命令行,才谈得上后面的路由器和 AC 配置。
提示:eNSP 启动完成后,建议先把三台设备的窗口都打开,确认互相之间能 ping 通管理地址再继续。很多人配置到一半发现设备没起来,前面的命令白敲了,这才是最亏的。
3.2 接口配置第一公里:IP 地址、undo shutdown 与 display 验证
进入华为路由器后,第一步是给接口配上 IP 地址并确保接口是 up 的。下面这段是最小可用的接口配置:
<Huawei> system-view [Huawei] sysname R1 [R1] interface GigabitEthernet0/0/0 [R1-GigabitEthernet0/0/0] ip address 192.168.1.1 24 [R1-GigabitEthernet0/0/0] undo shutdown [R1-GigabitEthernet0/0/0] quit [R1] display ip interface brief重点说三个参数。第一个是ip address 192.168.1.1 24,表示配置 IP 为 192.168.1.1,子网掩码是 24 位,即 255.255.255.0。华为 VRP 支持直接写 24 这种前缀长度,不用写完整的点分十进制掩码,但如果你习惯写全也完全没问题,两者是等价的。
第二个是undo shutdown。华为路由器接口默认是开启的,但如果前面有手工 shutdown 或历史配置里带了 shutdown,接口就会处于 down 状态,配了 IP 也白配。这句话的意思是强制打开接口,确保物理链路只要插了线就能通信。我见过有人在配置里漏了这条,排查了一整晚最后发现是接口被 shutdown 了,非常冤。
第三个是sysname R1,把设备名改成 R1。这个动作看似无关紧要,但多台设备联调时,提示符上的设备名能让你在多个窗口之间不搞混,排错时少犯低级错误。
配置完成后用display ip interface brief确认接口状态。看到接口的 State 为 up、IP 为 192.168.1.1,说明这一段配置生效了。同样对 R2 的 GE0/0/0 配 192.168.12.2/30、GE0/0/1 配 192.168.2.1/24,并确保接口全部 up。
3.3 静态路由的完整配置法:去程、回程与优先级缺一不可
接口配好后,R1 和 R2 各自只能到达自己的直连网段。要让 192.168.1.0/24 网段的 PC 能访问 192.168.2.0/24 网段的服务器,必须配置静态路由。这是华为路由器配置实例里最常见的核心段落。
在 R1 上添加去往 192.168.2.0/24 的路由,下一跳指向 R2 的互联地址:
[R1] ip route-static 192.168.2.0 24 192.168.12.2 [R1] display ip routing-table protocol static这条命令的意思是:目标网段是 192.168.2.0,掩码 24 位,到达这个网段的下一跳是 192.168.12.2。注意下一跳地址必须是与 R1 直连的地址,也就是 192.168.12.2,不能写成 R2 的 192.168.2.1,因为 R1 根本不知道如何将报文送往一个非直连地址。
但只配这一条远远不够。R2 收到来自 192.168.1.1 的报文后,要回给 192.168.1.0/24 网段,也得知道怎么走。如果 R2 上没有任何去往 192.168.1.0/24 的路由,它会把这个报文丢掉,现象就是 R1 上 ping 得通 R2,但从 PC 去 ping 服务器始终超时。这就是典型的回程路由缺失问题。
所以必须在 R2 上补一条反向静态路由:
[R2] ip route-static 192.168.1.0 24 192.168.12.1 [R2] display ip routing-table protocol static配置完看路由表,确认 R1 上存在 192.168.2.0/24 的静态路由,R2 上存在 192.168.1.0/24 的静态路由,再回到 PC 上做端到端 ping 验证。
静态路由还有一个参数叫优先级(preference),默认值是 60。当同一个目的网段存在多条路由时,VRP 优先选择优先级数值小的那条。如果你同时配置了两条去往相同网段的静态路由,比如一条走 192.168.12.2、一条走 192.168.12.3,想让第二条成为备份链路,就把它的优先级调大,比如设为 80:
[R1] ip route-static 192.168.2.0 24 192.168.12.2 preference 60 [R1] ip route-static 192.168.2.0 24 192.168.12.3 preference 80配置实例文档里一旦出现多条静态路由,必然要处理优先级问题。默认优先级相等的两条静态路由会造成等价负载分担,这是正常现象。但如果你本意是希望一条主一条备,却没调优先级,两条路由会同时起作用,流量走向就可能与你预期完全不一致。
3.4 用 ACL 限制内部网段的访问范围:规则顺序、通配符与接口方向
ACL(访问控制列表)是华为路由器配置实例里出场率很高的段落。先明确一个常见误区:华为 AR 路由器上做流量过滤,推荐用高级 ACL(编号 3000-3999),而不是基本 ACL(编号 2000-2999)。基本 ACL 只能匹配源地址,无法区分目的地址和端口;高级 ACL 则可以同时匹配源、目的、协议和端口。下面的实例场景是不能用基本 ACL 完成的:我们希望 192.168.1.0/24 网段只能访问服务器 192.168.2.10,其他地址全部禁止。
配置如下:
[R1] acl 3000 [R1-acl-adv-3000] rule 5 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.2.10 0.0.0.0 [R1-acl-adv-3000] rule 10 deny ip [R1-acl-adv-3000] quit [R1] interface GigabitEthernet0/0/0 [R1-GigabitEthernet0/0/0] traffic-filter inbound acl 3000这里有两个关键参数必须读懂。第一个是0.0.0.255,这是通配符掩码,不是子网掩码。子网掩码里 255 表示必须匹配的位,通配符掩码里 0 表示必须匹配的位、255 表示不需要匹配的位。所以source 192.168.1.0 0.0.0.255的意思是匹配 192.168.1.1 到 192.168.1.254 的所有地址。destination 192.168.2.10 0.0.0.0则是精确匹配这台服务器。
第二个关键点是 rule 的序号和匹配顺序。VRP 按 rule 序号从小到大依次匹配,一旦有规则命中,就不再往下看。rule 5放行特定流量,rule 10 deny ip作为兜底拒绝所有剩余流量。这个顺序不能反,如果先把deny ip放在最前面,不管放行规则写得多精确,流量都被拒之门外。我见过很多 ACL 配置不生效,查到最后发现就是规则顺序问题。
接下来是应用方向。traffic-filter inbound acl 3000挂在了 R1 的 GE0/0/0 接口的 inbound 方向,也就是从内网 PC 侧进入路由器的流量先经过 ACL 检查。方向判断有个简单方法:以接口为参照物,流量是从接口外面进来的,就是 inbound;流量是从接口发出去的,就是 outbound。ACL 方向和接口选错了,ACL 就成了摆设。
配置后用display acl 3000查看规则是否生效,重点关注 Rule 5 的匹配计数。如果匹配计数在增长,说明 ACL 在正常工作;如果一直是 0,大概率是方向或通配符掩码的问题。这个命令也是后续避坑章节里的主要诊断手段。
3.5 加固访问入口:console 密码、VTY 限制与 SSH 登录
华为路由器配置实例里,console 密码是几乎必写的一段。console 口是设备的本地管理入口,不设密码,意味着任何能碰到设备的人都能直接进入系统视图。配置方法如下:
[R1] user-interface console 0 [R1-ui-console0] authentication-mode password [R1-ui-console0] set authentication password cipher Huawei@123 [R1-ui-console0] idle-timeout 10 0 [R1-ui-console0] quitauthentication-mode password表示 console 口用密码认证,set authentication password cipher用来设置经过加密存储的密码。idle-timeout 10 0表示如果 10 分钟没有任何操作,自动断开终端连接,防止管理员离开后设备被他人接管。配置完成后,下次连接 console 口会先要求输入密码才能进入命令行。
远程管理入口(VTY)比 console 口更值得加固,因为 VTY 是暴露在网络里的。下面是限制 VTY 登录来源、并只允许 SSH 登录的配置:
[R1] user-interface vty 0 4 [R1-ui-vty0-4] authentication-mode aaa [R1-ui-vty0-4] protocol inbound ssh [R1-ui-vty0-4] acl 2001 inbound [R1-ui-vty0-4] quit [R1] acl 2001 [R1-acl-basic-2001] rule 5 permit source 192.168.1.0 0.0.0.255 [R1-acl-basic-2001] rule 10 deny source anyVTY 0 4 表示同时打开 0 到 4 共 5 个虚拟终端通道,最多支持 5 个并发远程登录。protocol inbound ssh把远程登录协议限定为 SSH,禁用 telnet 明文传输。acl 2001则限定只有 192.168.1.0/24 网段的管理主机才能发起 SSH 连接。
华为路由器上启用 SSH 还需要配置 RSA 密钥和 VTY 的 AAA 认证用户,完整过程比这里列出的要长,配置实例文档里通常会把这一整段整合成一个"远程管理加固"小节。这里不展开,但要记住一个原则:远程管理入口必须同时做协议限制、来源限制和认证限制,三者缺一个都等于裸奔。
4. 华为路由器配置避坑清单:console 密码失效、ACL 不生效与路由黑洞
4.1 console 密码配了却提示密码错误
现象:按照文档配置了authentication-mode password和set authentication password cipher,退出后重新连接 console 口,输入配置的密码,却被提示密码错误,无法进入系统。
原因:最常见的情况是把用户视图和系统视图下的密码配置搞混。console 口认证分两种模式,password 模式和 aaa 模式,两者只能取其一。如果之前配置过authentication-mode aaa,后来改成了 password 模式,但 AAA 用户里还残留着旧的本地用户配置,认证流程走的还是 AAA 逻辑,密码自然对不上。另一个常见原因是密码串里的特殊字符被终端转义了,比如密码里的$或空格,在粘贴配置时被终端软件处理成了别的字符。
解决:先不要反复尝试密码,那样只会触发设备锁定策略。通过 console 线重新登录,如果进不去,最直接的办法是重启设备,在启动阶段按Ctrl+B进入 BootROM 菜单,选择跳过配置文件启动。但注意这是最后的后悔药,代价是设备上所有配置全部清空。所以生产设备的 console 密码一旦配置并验证成功,立刻save,并且把这台设备的配置备份文件另存一份,防止密码遗忘后无处可回。
4.2 ACL 配置了但流量没有被过滤
现象:ACL 规则写好了,也应用到了接口上,但内网 PC 去访问其他网段依然畅通无阻,用display acl 3000查看时匹配计数始终为零。
原因:方向搞反了是最常见的。拿 3.4 的实例来说,ACL 挂在 GE0/0/0 的 inbound 方向,控制的是从内网进入路由器的流量。如果把它挂到 GE0/0/1 的 inbound 方向,ACL 匹配的就是从 R2 方向进入 R1 的返回流量,内网发起侧的访问完全不在检查范围里,ACL 自然不会生效。其次可能是规则类型用错了,过滤端口必须用高级 ACL,如果用基本 ACL 只写源地址,特定端口的控制根本做不到。
解决:先看display acl 3000的匹配计数。如果计数是 0,说明流量根本没经过这条 ACL,优先检查应用接口和方向;如果计数在增长但访问依然不受影响,说明规则本身没有匹配到你想控制的流量,回头检查规则里的源地址、目的地址和通配符掩码。通配符掩码是 0.0.0.255 表示精确匹配前 24 位,如果你误写成了 255.255.255.0,那匹配范围就会完全反转,这种错误在配置里肉眼很难发现。最后用display traffic-filter applied-record或者display acl all确认 ACL 已正确应用在接口上。
4.3 静态路由配置了,端到端还是 ping 不通
现象:R1 上display ip routing-table能看到 192.168.2.0/24 的静态路由,R2 上也配了反向路由,但从内网 PC ping 服务器依然超时。
原因:第一种可能是下一跳地址不可达。静态路由的下一跳必须是路由器直连网段内的地址,如果下一跳地址没有对端设备回应,这条路由即使在路由表里,也无法真正转发。第二种可能是回程路由虽然写了,但接口处于 down 状态,地址不可达。第三种是等价路由或优先级冲突导致报文走了错误的路径。
解决:先在 R1 上 ping 静态路由的下一跳 192.168.12.2,能通则说明互联链路没问题,然后display ip routing-table 192.168.2.0查看这条路由的详细信息,确认 NextHop 和 Pref 字段符合预期。再去 R2 上执行同样的检查,确认回程路由存在。如果两边路由表都正常,用tracert 192.168.2.10从 PC 出发逐跳追踪,看到报文在哪一跳停止,问题就定位在哪一跳。最后就是要检查两台路由器之间的互联接口是否都执行了undo shutdown。
4.4 配置完成后没有保存,设备重启后配置全没了
现象:前一个小时刚配完接口、路由和 ACL,一切正常。设备断电重启后,连接上去发现设备名回到了 Huawei,所有配置全部消失,回到了开机初始状态。
原因:VRP 运行时修改的配置只存在于内存里的 running config,没有通过save写入到 startup config。设备重启时加载的是 startup config,如果你没保存,running config 里的全部修改在重启后直接丢失。别问我为什么知道,所有搞华为网络的人都有一次没执行 save 的血泪教训。
解决:每次完成一段配置、验证通过之后,立刻执行save。命令执行后系统会提示确认,输入Y回车即可。我的习惯是把 save 作为和 display 并列的标准动作,配完一段存一段。另外在批量修改重要设备之前,先用display current-configuration把现有配置导出来备份,再动手改。配置出问题想回滚却找不到备份文件,那才叫真正的没有后悔药。
4.5 从文档批量粘贴命令导致命令丢失或设备无响应
现象:从配置实例文档里一次性复制一大段命令到终端粘贴,会发现部分命令没有生效,或者设备短暂无响应,再刷新后某些配置不存在。
原因:终端软件默认启用分页显示,大量命令一次性进入 VRP 命令行缓冲区后,分页逻辑会中断命令的执行流,等待"Press any key to continue"这类提示,导致后续命令被丢弃。另外,记事本或 Word 里的中文引号、全角空格会被终端当成无效字符,也会引起命令解析错位。
解决:粘贴前先执行screen-length 0 temporary,关闭当前会话的分页显示。然后把命令按段落分批粘贴,每段不超过 20 行,粘完确认提示符回到了预期的视图再粘下一段。还有一个容易被忽略的点:从 Word 里复制出来的命令,引号和短横线很可能已经被自动替换成了全角符号,粘贴前先在纯文本编辑器里过一遍,把全角字符批量替换成半角。这种问题看起来像玄学,实际上都是字符编码和终端缓冲导致的。
5. 把一份配置实例沉淀成个人模板库:验证手段与可复用片段
配置实例文档看得再多,不沉淀成自己的东西,下次遇到新场景还是得从头翻文档。我的做法是把每一份配置实例拆成若干个可复用的配置片段,每个片段解决一类具体场景,按场景命名存档。比如接口配置、静态路由、高级 ACL、console 加固,每个场景存一个纯文本文件。下次拿到新项目,先列 IP 规划表,再从模板库里找到对应片段,改掉 IP 和接口编号,就可以直接粘贴进设备。
模板库的价值在于同一段命令在真实环境里已经被验证过了,不需要重新试错。每次复用模板时如果发现某个参数在这个场景下需要调整,我会把这个调整写进模板文件的注释里。比如 ACL 的通配符掩码容易写反,我就会在模板里加一行注释,写明"0.0.0.255 是通配符,不是子网掩码"。这种东西写给自己看,远比比写在文档里更实用。
验证一个配置片段是否可靠,我有三个固定动作。第一,配置后立即执行对应的 display 命令,看设备实际状态是否与预期一致。第二,做端到端的 ping 和 tracert,确认数据能走通整个路径,而不只是路由表里有条目。第三,把配置验证通过后在 eNSP 里跑一遍同样场景,确认这个配置不依赖某种特定设备型号或软件版本。
最后分享一个习惯:每评审一份华为路由器配置,我都会先看它的回程路由,再看它的 ACL 方向,最后看它的保存确认。这三个点也成了我判断一个人是刚入门还是已经踩过坑的标准。网络配置没有太多玄学,多数问题都出在视图、方向、回程路径这三个细节上。把这三个细节变成你的下意识动作,配置华为路由器就不会再靠碰运气了。希望帮到你。
本文还有配套的精品资源,点击获取