先说实话,我最近帮一个准备华为HCIA认证的朋友改作业,发现他卡在最基本的地方:命令都敲得出来,拓扑也照着画了,但一测试,PC1就是ping不通PC2。这种问题在初学者里太典型了。HCIA作业看起来只是一份课后练习,但它背后考的是你对网络基础、华为设备操作和排错思路的完整理解,不是背几道hcia题库里的选择题就能糊弄过去的。
这篇文章我按自己带人做HCIA作业的习惯来写,把一套典型作业从读题、搭环境、配置、排错到自查的完整过程拆开讲。如果你正在做HCIA作业,或者准备华为HCIA认证但还没怎么碰过真机模拟器,这篇文章大概能帮你少走几周弯路。
1. 一张作业拓扑里藏着哪些必考知识点
1.1 先读懂题目在问什么
HCIA作业的题目通常不会太复杂。常见的出法是这样:某公司新办公区有几十台PC,分成两个部门,要求部门之间二层隔离,所有PC通过DHCP自动获取IP,内部网络可以互通,并且需要访问外网;有时还会加一个服务器,要求只允许某个部门访问。题目文字越短,知识点越密。
我把这类作业翻译一下,它其实是在考四件事:
- VLAN的划分与Trunk链路的配置,考的是二层交换基础。
- 通过VLANIF接口或单臂路由实现VLAN间路由,考的是三层网关概念。
- DHCP地址池的配置与排除,考的是网络服务部署。
- 静态路由、OSPF以及NAT地址转换,考的是路由和出口网关的基本能力。
有的题目还会顺手加一个ACL访问控制,或者STP生成树协议。无论怎么加,底层都是HCIA考试大纲里的核心章节。所以拿到作业后,不要急着打开eNSP敲命令,先拿支笔把题目里的关键词圈出来:VLAN、DHCP、互通、外网、访问控制。每个关键词都对应一个知识点,配置顺序和排错思路也都是从这里开始的。
1.2 除了命令,还要交什么
很多人以为HCIA作业就是交一个能跑通的拓扑文件,这是误解。华为认证的评分标准里,配置结果当然重要,但思路和验证过程同样重要。一份完整的HCIA作业一般要包含这几个部分:
- 网络拓扑图:标注设备名称、接口编号、IP地址网段,最好把VLAN划分也标上去。
- 配置文档:每台设备的完整配置,或者关键配置片段。
- 测试截图:PC之间ping通的截图、DHCP获取地址的截图、OSPF邻居状态正常的截图。
- 排错记录:如果中间遇到过问题,写清楚现象、排查过程和解决办法,这反而是加分项。
我的建议是,不管老师有没有要求,都按这个标准去做。因为HCIA作业本质上是一次小型的项目交付练习,你现在养成写文档的习惯,后面做HCIP、HCIE或者真实项目时不会那么痛苦。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. eNSP环境准备:作业还没开始就翻车的三个坑
2.1 设备启动后一直显示#####
第一次用eNSP的人,十有八九会碰到路由器启动后接口状态一直是“#####”,等半天都不变。这个问题大多不是配置错了,而是模拟器环境有问题。
eNSP里的AR系列路由器依赖VirtualBox提供的虚拟化环境,如果电脑的CPU虚拟化没开启,或者VirtualBox版本和eNSP不兼容,设备就会一直卡在启动状态。解决方法是先到BIOS里确认Intel VT-x或AMD-V已经开启,再检查eNSP菜单栏里的“工具 -> 注册设备”,把AR设备重新注册一遍。实在不行就完全卸载重装,安装顺序一般是先装VirtualBox,再装eNSP,最后装Wireshark。
这里有个容易被忽略的细节:第一次启动AR设备时,eNSP会提示是否保存配置,一定要选“保存”,否则下次打开项目时设备会恢复到出厂状态,你之前的配置全没了。我见过有人辛辛苦苦配完所有命令,关掉eNSP前没保存,第二天打开一看,设备连IP地址都没了,只能从头再来。
2.2 接口状态一直是DOWN
这个问题比上一个更隐蔽。很多人配完接口IP,输入display interface brief一看,接口协议状态是DOWN,第一反应以为是线没连好,其实大部分是接口编号写错了。
华为设备的接口编号是“槽位号/子卡号/端口号”,比如GigabitEthernet0/0/1和GigabitEthernet0/0/2看起来差不多,但连接的是不同的物理接口。你在拓扑图上用鼠标连线时,一定要看清线是连在设备的哪个接口上,然后在命令行里进入对应的接口视图。我处理过最多的HCIA作业报错,就是拓扑图上连的是GE0/0/1,命令里进去的却是GE0/0/0。
还有一个很低级的坑:华为设备的新接口默认是打开的,但如果有人之前做过实验,用了shutdown命令关闭过接口,再打开项目时接口会保持DOWN状态。这时在接口视图下输入undo shutdown就能解决。
2.3 模拟器和真机的差别
做HCIA作业时用eNSP完全没问题,但你要知道模拟器和真机是有差距的。比如eNSP里接口UP就是UP,不会出现光模块没插好、光线衰减、双工模式不匹配这些物理层问题。到了真机上,你敲命令的顺序、接口协商的结果、甚至网线的线序都会影响网络通不通。
所以我的建议是:HCIA作业用eNSP练手,但心里要清楚,模拟器帮你屏蔽了一部分真实网络的复杂度。如果以后有机会接触真机,一定要主动去摸摸,尤其是接口状态、指示灯、console线的连接方式,这些在模拟器里是看不出来的。
3. 一套完整HCIA作业的配置过程
为了把话说明白,我假设题目是这样的:两台PC分别属于VLAN 10和VLAN 20,通过一台交换机SW1接入,SW1上联路由器R1,R1再通过另一台路由器R2模拟外网。要求两个PC能自动获取IP,VLAN 10和VLAN 20之间能互通,并且都能访问R2后面的外网网段。
先画个简单的地址规划表:
| 对象 | 所属VLAN | 网段 | 网关 |
|---|---|---|---|
| PC1 | VLAN 10 | 192.168.10.0/24 | 192.168.10.1 |
| PC2 | VLAN 20 | 192.168.20.0/24 | 192.168.20.1 |
| R1-SW1互联 | - | 10.0.12.0/30 | 10.0.12.1 |
| R1-R2互联 | - | 10.0.23.0/30 | 10.0.23.1 |
| R2模拟外网 | - | 100.100.1.0/24 | - |
下面的配置顺序是我自己习惯的顺序,先做二层,再做三层,最后做出口策略,每一步都有明确目的。
3.1 接入层配置:VLAN和Trunk
先在SW1上创建VLAN,并把连接PC的接口划分到对应VLAN里。
text复制system-view
sysname SW1
vlan batch 10 20
interface GigabitEthernet0/0/1
port link-type access
port default vlan 10
quit
interface GigabitEthernet0/0/2
port link-type access
port default vlan 20
quit
这里注意,连接PC的接口通常配置成access口,因为PC不识别带VLAN Tag的帧。如果PC的网卡支持802.1Q,也可以配成trunk口,但HCIA作业里基本不会这么要求,access是最稳妥的写法。
SW1上联R1的接口要配成trunk,并且允许VLAN 10和VLAN 20的流量通过:
text复制interface GigabitEthernet0/0/3
port link-type trunk
port trunk allow-pass vlan 10 20
quit
如果题目里不只有一台交换机,而是两台交换机堆叠或级联,那交换机之间的互联口也都是trunk,而且要确保两端的trunk配置一致。常见错误是只在一端配了allow-pass,另一端没配,结果VLAN流量过不去。
3.2 三层网关:VLANIF接口
交换机配完VLAN之后,PC之间默认还是不通的,因为VLAN10和VLAN20属于不同广播域。要让它们能互相通信,需要一个三层网关。在华为设备上,最简单的做法是给交换机配置VLANIF接口,逻辑上相当于给这个VLAN提供一个网关地址。
text复制interface Vlanif10
ip address 192.168.10.1 255.255.255.0
quit
interface Vlanif20
ip address 192.168.20.1 255.255.255.0
quit
VLANIF是华为设备上非常重要的概念。它的意思是,这个接口不依赖物理端口,而是对应整个VLAN。只要交换机上有属于这个VLAN的接口,VLANIF就能生效,PC把网关指向这个地址,跨VLAN的流量就会通过交换机内部的三层转发模块,从一个VLAN转发到另一个VLAN。
配置完成后,可以先在SW1上ping一下PC的地址,确认三层通没通。比如ping 192.168.10.10。如果ping不通,先看PC的IP和网关有没有配对,再看VLANIF接口是否UP。
3.3 静态路由和缺省路由
PC的网关在SW1上,但PC要访问R2后面的外网,SW1需要有一条去往外网的路由。最简单的做法是在SW1上配置一条默认路由,把非本地网段的流量都扔给R1。
text复制ip route-static 0.0.0.0 0.0.0.0 10.0.12.2
这里10.0.12.2是R1连接SW1侧的接口IP。注意,默认路由的目的地址是0.0.0.0,掩码也是0.0.0.0,意思是“所有不匹配其他路由的流量都走这里”。配置完后用display ip routing-table查看,如果出现一条“Destination/Mask: 0.0.0.0/0”的默认路由,说明配置成功。
R1上也需要类似的路由,这样才能把从PC过来的流量再转发给R2。如果R1和R2之间跑的是OSPF,那就不用手动写静态路由;如果题目明确要求用静态路由,那就要在R1上写一条到192.168.10.0/24和192.168.20.0/24的静态路由,或者在R2上也写回程路由。很多人只写了去程,忘了回程,结果PC能ping通外网第一个包,后面全丢,这就是典型的单向路由问题。
3.4 DHCP服务配置
题目要求PC自动获取IP,所以要在SW1上开启DHCP服务,并为VLAN10和VLAN20各创建一个地址池。
text复制dhcp enable
ip pool vlan10
network 192.168.10.0 mask 255.255.255.0
gateway-list 192.168.10.1
dns-list 114.114.114.114
excluded-ip-address 192.168.10.1 192.168.10.10
quit
interface Vlanif10
dhcp select global
quit
这里有几个细节要特别强调。
第一,地址池里的network必须和VLANIF10的网段一致,gateway-list必须指向VLANIF10的地址,否则PC能拿到IP却找不到网关。
第二,excluded-ip-address是用来排除地址的,比如你把192.168.10.1到192.168.10.10排除掉,这些地址就不会被分配给PC,可以留给服务器、打印机或网络管理设备使用。HCIA作业里这个命令不一定要求,但写上去会显得你考虑得更周全。
第三,在接口视图下执行dhcp select global,是告诉VLANIF10接口从全局地址池中分配IP。如果不写这一句,PC发送的DHCP请求不会得到响应。这是HCIA作业里非常容易漏的一步。
配置完DHCP后,把PC的IP获取方式改成DHCP,然后在PC的命令行里执行ipconfig,如果能拿到192.168.10.11之类的地址,说明DHCP工作正常。
3.5 OSPF配置
如果题目要求用动态路由而不是静态路由,常见方案是OSPF。配置很简单,但要理解它的基本逻辑。OSPF让路由器之间互相交换路由信息,每台路由器只需要把自己直连的网段宣告进OSPF,其他路由会自动学习。
以R1为例:
text复制ospf 1 router-id 1.1.1.1
area 0
network 10.0.12.0 0.0.0.3
network 10.0.23.0 0.0.0.3
quit
这里的0.0.0.3是通配符掩码,不是子网掩码。它的作用是告诉OSPF匹配哪些地址。对于30位掩码的互联地址,通配符写0.0.0.3;对于24位掩码的网段,通配符写0.0.0.255。很多初学者把通配符掩码写成255.255.255.0,导致OSPF宣告不了网段,邻居也建立不起来。
配置完OSPF后,用display ospf peer brief查看邻居状态。如果状态是Full,说明邻居关系建立成功;如果是Init或ExStart,说明Hello包没发出去或者参数不一致,比如区域号不同、Router-ID冲突、Hello时间隔不同,都需要逐一排查。
3.6 ACL和NAT
访问外网时,PC使用的RFC1918私有地址无法直接在公网路由,所以要在出口路由器上做NAT地址转换。先配置ACL,定义哪些网段允许被转换:
text复制acl number 2001
rule 5 permit source 192.168.10.0 0.0.0.255
rule 10 permit source 192.168.20.0 0.0.0.255
quit
然后在连接外网的接口上启用NAT Outbound,把匹配ACL 2001的流量转换成出接口的IP地址:
text复制interface GigabitEthernet0/0/0
nat outbound 2001
quit
这里ACL 2001是基本ACL,只匹配源地址,范围是2000到2999。方向不要搞错,ACL匹配的是内网PC发往外网的源地址,所以rule里的source是PC所在网段,不是外网地址。配置完后,可以在PC上ping外网地址,然后在R2上执行display nat session,如果能看到NAT会话表项,说明转换已经生效。
需要注意的是,NAT在华为设备上有多种实现方式,easy IP是家用路由器最常见的形态,配置就是上面这行命令,它把多个内网地址转换成一个出接口IP。有些作业会要求配置静态NAT,一对一映射,比如把服务器的内网地址映射成公网地址。命令大约是:
text复制interface GigabitEthernet0/0/0
nat static global 100.100.1.10 inside 192.168.10.10
这个按题目要求来,不要求就别乱加,加错了反而会影响其他流量。
4. 作业报错之后:我的排查顺序
HCIA作业不报错基本不可能,报错不可怕,可怕的是没有排查思路,在设备上瞎敲display命令,敲了半天也不知道问题在哪。我分享一个自己的排查顺序,按这个顺序来,大多数问题能在几分钟内定位。
4.1 先看接口状态,再看VLAN
第一步永远是display interface brief。这个命令会把所有接口的状态列出来,接口的物理状态和协议状态都必须是UP。如果某个接口是DOWN,先看是不是线没连对、接口编号写错,或者被shutdown了。接口状态是一切通信的基础,接口都DOWN,后面配再多路由都是白搭。
第二步是display vlan,确认VLAN有没有创建成功,接口有没有正确划分到VLAN里。再执行display port vlan,查看每个接口的VLAN属性。HCIA作业里最常见的二层错误,就是把access口划错了VLAN,或者trunk口没有allow-pass对应VLAN。
4.2 再看路由和ARP
接口和VLAN都没问题,但PC还是ping不通,接下来看路由表和ARP表。
在交换机或路由器上执行display ip routing-table,确认有没有到目标网段的路由。如果目标网段出现在路由表里,再看下一跳地址是否可达。如果路由表里空空如也,那就要回到上一节,检查静态路由或OSPF配置。
ARP表也很关键。在PC上ping网关之前,先看看PC能不能解析到网关的MAC地址。如果ARP表里没有网关的MAC,说明PC和网关之间的二层通信有问题,可能是VLAN划错,也可能是DHCP分配不正常。
4.3 OSPF没有邻居,先查Hello参数
如果使用了OSPF,邻居状态异常,不要急着删配置重来,先逐项检查:区域号是否一致、Router-ID是否冲突、接口是否宣告了正确的网段、Hello和Dead计时器是否一致。eNSP里这些参数默认值通常是一样的,初学者更多是把network命令写错了网段。比如接口地址是10.0.12.1/30,network指令里写的是10.0.12.0 0.0.0.0,虽然能匹配这个网段,但通配符掩码不匹配实际网络,OSPF就不会宣告正确的路由。这个细节我在作业里看到过太多次。
4.4 ACL和NAT不生效,先看匹配顺序
ACL在华为设备上是按规则编号从小到大匹配的,匹配到一条规则后就不再往下看。如果ACL里既有permit又有deny,一定要把permit放在前面。比如你写了rule 20 deny source 192.168.20.0 0.0.0.255,又写了rule 10 permit source 192.168.0.0 0.0.255.255,那从192.168.20.0来的流量会先匹配到rule 10的permit,deny就不起作用。这个顺序问题在网络安全作业里特别容易被忽略。
NAT不生效时,先执行display nat outbound,确认NAT策略有没有绑定到正确的接口,再确认ACL规则有没有匹配到内网流量。最后在出口设备上执行display nat session,看看有没有会话记录。如果会话里能看到转换后的IP,说明NAT正常;如果看不到,问题大概率在ACL的源地址写错了,或者NAT绑定错了接口。
5. 交作业之前,用这几条“考官思路”自查
作业配置完、测试也通了,别急着交。我会让朋友再按下面几条过一遍,这几条也是我自己在真实项目验收时关心的点。
第一,把设备配置里没必要的命令删干净。例如你为了实验方便关掉的接口安全、多余的VLAN、未使用的路由条目,都会让配置变得混乱。配置文档越干净,越能反映你对命令的理解,而不是从题库里抄来的大杂烩。
第二,重新加载一次设备,确认配置仍能生效。在eNSP里选中设备右键重启,启动完成后配置还在,说明你已经保存了。如果重启后配置丢失,说明你没保存。这一条能避免交作业时拓扑文件里的设备还是空配置。
第三,完整跑一遍验收测试:PC能拿到地址,跨VLAN能互通,内网能访问外网,ACL限制生效。每一步都要截图保存。截图不是用来凑字数,而是证明你确实做了验证。如果连截图都拿不出来,那跟没做过有什么区别?
第四,检查一下文档里的IP地址表、VLAN规划和实际配置是否一致。我见过有人的地址规划表上写的网关是192.168.10.254,但交换机上配的是192.168.10.1,明显是文档和配置脱节。这种错误在真实项目中是要扣分的,在作业里也一样。
最后我再分享一个自己的体会:HCIA作业不是给老师交差用的。我第一次把一组小网络完整配通、看到PC能跨VLAN访问时,成就感比考试拿高分实在得多。所以你可以刷hcia题库,但一定要亲手把作业做完,再试着把题目改一改,比如把静态路由换成OSPF,把单台交换机换成多台交换机级联。等你能把一个作业改出好几种玩法都不出问题,HCIA这件事才算真正过去。
