简介:面向网络学习者、华为认证备考者及需要完成组网实验的学生,这份eNSP综合组网实验PDF完整覆盖VLAN划分、VLAN间通信、静态与动态路由、链路聚合(LACP)、链路备份、NAT地址转换、ACL访问控制、DHCP及OSPF等知识点,以学校实验室场景为例,演示如何通过合理配置实现多实验室互通,并利用ACL限制特定网络通信。资源包仅含1个PDF文件,约140KB,内容精炼,便于直接参考。文档以LSW1配置为主线,给出接口划入VLAN201/202、配置VLANIF地址、Eth-Trunk1采用LACP模式并设置两条转发链路与一条备份链路、启用DHCP接口地址池等详细命令,同时包含实验分析与验证方法,能帮助读者快速掌握综合组网的实施步骤。目前已有9995人浏览学习,可作为课程设计、实验报告或华为认证实操的实用参考。
1. 综合组网实验(eNSP):一张拓扑把数通协议串起来
备考HCIP或者期末交综合实验时,最头疼的不是某个协议配不出来,而是VLAN、VLAN间通信、NAT地址转换、ACL、DHCP、OSPF这些知识点教材里都是分开讲的,真让你画一张拓扑图把它们全串起来,很多人第一反应是“我先配哪个”?综合组网实验(eNSP)解决的就是这个问题:用华为模拟器搭一张包含接入交换机、核心设备、出口路由器的小型园区网,按“二层通→三层通→全网通→出口通”的顺序把协议叠上去。这套流程适合在校学生、刚转行做网络运维的从业者,以及准备华为数通认证的人。做完之后你收获的不只是几条命令,而是一套“先看现象、再查路由表、最后翻配置”的排错习惯。
2. 先搭二层:VLAN划分、Trunk与PVID的三个边界
2.1 拓扑规划:设备角色与VLAN编号怎么定
综合实验最忌拿到设备就开配。我一般先把角色分清:接入层用两台S5700交换机,汇聚/核心用一台S5700,出口用一台AR2220路由器。PC分别接在接入交换机上,接入交换机上行接核心,核心再接路由器,路由器出接口模拟连接运营商。
VLAN编号规划是第一个边界。常见做法是办公业务用10、服务器区用20、管理网段用30,三张表分开规划:
| 角色 | 设备 | 接口规划 | VLAN与网段 |
|---|---|---|---|
| 接入层 | SW1 | GE0/0/1接PC1,GE0/0/24上联 | VLAN 10:192.168.10.0/24 |
| 接入层 | SW2 | GE0/0/1接PC2,GE0/0/24上联 | VLAN 20:192.168.20.0/24 |
| 核心 | SW3 | GE0/0/1接SW1,GE0/0/2接SW2,GE0/0/0接路由器 | VLAN 10/20/30 |
| 出口 | AR1 | GE0/0/0接核心,GE0/0/1模拟外网 | 外网网段:202.100.1.0/24 |
VLAN编号不要乱跳,尽量按业务段连续编。管理VLAN 30我建议单独留出来,后面配OSPF时把管理网段也宣告进去,方便远程登录设备排查。
2.2 接入交换机配置:创建VLAN与access端口
接入交换机只做一件事:把PC所在的物理端口划进对应VLAN。先批量创建VLAN,再配端口,顺序不能反——先配端口再建VLAN,eNSP里会报端口所属的VLAN不存在。
system-view sysname SW1 vlan batch 10 20 30 interface GigabitEthernet0/0/1 port link-type access port default vlan 10 interface GigabitEthernet0/0/24 port link-type trunk port trunk allow-pass vlan 10 20 30vlan batch一次创建多个VLAN,比逐个vlan命令省事;port link-type access把端口设为access模式,port default vlan 10让这个端口收到的无标签帧都打上VLAN 10的标签。上联口必须配trunk,否则交换机之间只能转发默认VLAN 1的流量,跨交换机的相同VLAN根本不通。
这里有个新手常犯的错:在access口上写port trunk allow-pass,或者反过来在trunk口上写port default vlan。华为设备上access口用default vlan指定所属VLAN,trunk口用allow-pass vlan决定放行哪些VLAN,两种端口模型的配置语法完全不同。
2.3 Trunk与PVID:allow-pass、pvid和vlan id的区别
Trunk的PVID是第二个边界。很多人知道port trunk pvid vlan 10这条命令,但根本不清楚PVID和VLAN ID到底什么关系,热搜词里“pvid和vlan id的区别”常年排在前列。简单讲:VLAN ID是帧进入交换机后被识别和转发的身份标识,PVID是一个端口在收到无标签帧时,给这个帧打上的VLAN ID。也就是说PVID决定了“没带标签的帧进来算哪个VLAN”。
interface GigabitEthernet0/0/24 port link-type trunk port trunk allow-pass vlan 10 20 30 port trunk pvid vlan 10port trunk pvid vlan 10一般只在特殊场景用——对端是傻瓜交换机或者对端接口是access模式,这时候两端PVID必须一致才能让无标签帧正确归类。两边都是华为交换机做trunk互联时,我强烈建议不要改PVID,保持默认VLAN 1。原因很简单:改PVID的瞬间,端口上已有的流量会重打标签,在实验环境里很容易造成环路错觉,排查半天发现是PVID不一致。
判断trunk配置对不对,看display port vlan的输出。这个命令会列出每个端口的PVID、允许通过的VLAN以及这些VLAN是tagged还是untagged。配置正确的互联trunk口,VLAN 10/20/30都应该是tagged状态。
提示:在eNSP里做完配置看不到任何提示不代表成功。执行
display port vlan和display vlan是每次二层配置后必须做的两个动作。
2.4 二层验证:display vlan 与同VLAN互通测试
二层配置完,先别急着做VLAN间通信,先验证同VLAN能不能通。在PC1上ping 192.168.10.2,如果PC1和PC2都在VLAN 10里,网关还没配也能直接通,这是纯二层转发。ping不通时按这个顺序查:
第一,display vlan看端口划分有没有生效,接口列表里应该能看到GE0/0/1在VLAN 10下。第二,display port vlan看两个交换机互联的trunk口放行列表是否两边对称,一边只放行VLAN 10、另一边放行VLAN 10和20,VLAN 20的PC就永远ping不通对面。第三,检查两端交换机互联的端口物理状态,eNSP里经常出现连线后接口down的情况,display interface brief能看到端口状态是UP还是DOWN。
二层通了之后,再用display mac-address看MAC地址表。PC1 ping PC2成功的话,交换机的MAC表里一定会有PC2的MAC地址和对应端口记录。如果MAC表里只有PC1没有PC2,说明PC2的流量根本没到达这台交换机,问题在链路而不是VLAN配置。
3. VLAN间通信与DHCP:网关放哪、地址从哪来
3.1 单臂路由与三层交换机怎么选
VLAN间通信是综合实验里第一个分岔口。常见做法有两种:单臂路由(路由器子接口)和三层交换机VLANIF。选哪种取决于你的实验目的和手头设备。
| 方案 | 配置位置 | 适用场景 | 缺点 |
|---|---|---|---|
| 单臂路由 | 路由器子接口 | 设备少、流量小、教学演示时用 | 所有VLAN流量挤一条链路,路由器转发性能有限 |
| 三层交换机VLANIF | 核心交换机上 | 真实园区网主流方案 | 需要三层交换机,二层设备做不了 |
如果你手头只有一台路由器加两台二层交换机,那就只能单臂路由。如果核心设备是三层的(eNSP里S5700默认支持VLANIF),我建议直接用三层交换。真实项目中已经很少有路由器做VLAN间网关的玩法了,学习和考试用单臂路由理解VLAN标签的封装关系可以,但综合实验里我更推荐VLANIF,少一层子接口封装,排错也简单。
3.2 单臂路由配置:子接口与dot1q termination
单臂路由的原理是一个物理接口上划分出多个子接口,每个子接口对应一个VLAN的网关。配置时最关键的坑是漏写arp broadcast enable,这条命令在eNSP里不写,PC能ping通网关,但跨VLAN一定不通——因为路由器收到跨VLAN的ARP请求后不会响应。
interface GigabitEthernet0/0/1.10 dot1q termination vid 10 ip address 192.168.10.254 255.255.255.0 arp broadcast enable interface GigabitEthernet0/0/1.20 dot1q termination vid 20 ip address 192.168.20.254 255.255.255.0 arp broadcast enabledot1q termination vid 10让这个子接口只处理VLAN 10的带标签帧,arp broadcast enable使子接口能够响应广播ARP。每个子接口的IP地址就是对应VLAN的网关地址,PC上的默认网关必须指向这里。注意子接口编号和VLAN号没必要强行一致,.10对应VLAN 10只是方便记忆,你用.1也能通,但规范起见我还是建议子接口号=VLAN号。
3.3 三层交换机VLANIF配置:vlanif、网关与地址
三层交换机做VLAN间通信就清爽得多。核心交换机SW3上直接创建VLANIF接口充当网关,不需要任何子接口封装:
system-view sysname SW3 vlan batch 10 20 30 interface Vlanif10 ip address 192.168.10.254 255.255.255.0 interface Vlanif20 ip address 192.168.20.254 255.255.255.0 interface Vlanif30 ip address 192.168.30.254 255.255.255.0VLANIF接口的IP地址是网关,PC的默认网关指向它。创建VLANIF之前必须保证VLAN已经存在,而且交换机上至少有一个端口加入了该VLAN,否则VLANIF会处于down状态。SW3上连接SW1和SW2的接口只要配置成trunk并放行对应VLAN,PC的流量就能到达核心交换机,交换机内部直接通过三层转发完成VLAN间通信,不需要经过路由器。
一个排查点:如果你配了VLANIF但接口状态是down,多半是交换机上没有任何access口属于这个VLAN,或者trunk口没有放行。eNSP里这算个常态坑,配置没问题但接口不UP,检查display vlan看端口列表。
3.4 DHCP服务:接口地址池与dns-list
网关决定好了,地址怎么发?综合实验里我习惯把DHCP做在核心交换机或者路由器上,让PC自动获取地址。华为设备上最常用的是接口地址池方式:在VLANIF接口下直接调用,地址池就是该接口的网段。
dhcp enable interface Vlanif10 dhcp select interface dhcp server dns-list 223.5.5.5 8.8.8.8 dhcp server excluded-ip-address 192.168.10.1 192.168.10.20dhcp select interface意思是这个VLANIF接口的IP网段就是地址池;dhcp server dns-list下发DNS,两个地址空格隔开;excluded-ip-address排除一段地址不分配,通常把网关自己、服务器、打印机等静态设备排除掉。这里最容易漏的是:PC的网卡要是“自动获取IP”模式,如果你之前手动配过IP,必须改回DHCP,不然PC一直用旧地址,看起来像DHCP没生效一样。
全局地址池是另一种写法,需要dhcp server static-bind ip-address mac-address做绑定,适合给指定设备固定地址。综合实验里接口地址池够用了,全局地址池反而多了network、gateway-list两步,不推荐新手用。
3.5 跨VLAN验证:ping网关与DHCP获取地址
配完后在PC1上先ipconfig确认拿到地址,再ping网关。这里有两个验证动作:
第一,ping网关地址。能通说明二层链路和VLAN划分没问题,网关在三层能响应。第二,从PC1 ping PC2。能通说明VLAN间路由已生效,不走这条测试直接往上层做OSPF,后面路由一跳不通时容易误判是OSPF问题还是网关问题。
DHCP这边,display dhcp server statistics能看到接口分配了多少地址,display ip pool能看地址池使用情况。PC上如果一直是Autoconfiguration(169.254开头的地址),说明DHCP请求根本没到交换机,先确认PC和接入交换机之间的链路是不是access口、VLAN对不对。
4. OSPF把全网路由跑通:进程号、区域与通告边界
4.1 为什么选OSPF:进程号与区域号的区别
VLAN间通信通了,接下来要把核心交换机、路由器之间的路由打通。综合实验里用静态路由也能完成,但标题里点明了OSPF,就用它。OSPF和静态路由相比,最大的价值是“自动适应拓扑变化”:某条链路断了,OSPF在几秒内重新计算路由,静态路由得手动改。eNSP里体现不出性能差异,但对理解动态路由协议的工作方式非常有帮助。
先理清两个概念,这是热词“ospf进程号和区域号区别”的高频问点:进程号是本地概念,只在本设备上区分多套OSPF进程,两台设备进程号不一致不影响建立邻居关系;区域号是全局概念,两台设备要建立邻居,必须处于同一个区域(或者通过ABR相连)。所以你在AR1上跑ospf 1,在SW3上跑ospf 2,只要区域号都是0,邻居照样能起来。
4.2 OSPF配置:router-id、area与network反掩码
OSPF配置的核心动作是宣告网段。核心交换机SW3上需要宣告VLAN 10、20、30网段以及和路由器互联的网段:
ospf 1 router-id 3.3.3.3 area 0 network 192.168.10.0 0.0.0.255 network 192.168.20.0 0.0.0.255 network 192.168.30.0 0.0.0.255 network 192.168.100.0 0.0.0.255router-id 3.3.3.3手动指定路由器ID,不指定的话设备会自动选最大的回环口或物理接口IP,一旦选错后面排错很痛苦。network 192.168.10.0 0.0.0.255里的0.0.0.255是反掩码,对应24位掩码,表示匹配192.168.10.0到192.168.10.255这个范围。反掩码是OSPF新手最常见翻车点:写成255.255.255.0的话,宣告的范围就完全错了,邻居虽然能建立但路由表里看不到应有的网段。
同样在AR1路由器上宣告互联网段和自己的直连网段:
ospf 1 router-id 1.1.1.1 area 0 network 192.168.100.0 0.0.0.255 network 202.100.1.0 0.0.0.255互联地址两侧必须在同一网段,而且两侧都宣告才能形成OSPF邻居。AR1的GE0/0/0接SW3的GE0/0/0,我建议这段互联地址用192.168.100.0/24这种专门网段,别拿业务网段凑数。否则OSPF会把业务VLAN和互联地址混在一起,调试时看路由表容易迷糊。
4.3 默认路由下发:让内网学到缺省路由
出口路由器连接外网的接口,如果也跑OSPF宣告了202.100.1.0,内网设备就能学到去往外网的路由。但真实环境中出口路由器不会和运营商跑OSPF,它拥有一条指向运营商的静态默认路由,然后通过OSPF向内部下发默认路由:
ip route-static 0.0.0.0 0.0.0.0 202.100.1.254 ospf 1 default-route-advertiseip route-static先给出口路由器自己一条缺省路由,default-route-advertise让OSPF把这条缺省路由包装成一条Type-3 LSA向区域里通告。这样核心交换机和接入层设备的路由表里都会多一条0.0.0.0/0的OSPF路由,指向AR1。全网流量最终都汇聚到出口路由器做NAT地址转换。
如果没写default-route-advertise,内部设备去往外网的流量会在核心交换机上因为没有默认路由而被丢弃,现象就是PC能上内网但ping不通外网地址。
4.4 OSPF验证:邻居表、路由表与常见状态
OSPF配完,验证不能只看ping。display ospf peer brief看邻居状态是否是Full,这是最低要求;display ospf routing看OSPF学习到的路由条目;display ip routing-table看整张路由表的最终结果。
邻居状态常见的几个阶段:Down→Init→2-Way→Exstart→Exchange→Loading→Full。如果卡在2-Way,说明邻居关系建立了但没交换路由,通常是DR选举没完成;卡在Exstart或Exchange,多半是接口MTU不一致,这个坑我放到下一章专门讲。路由表里如果OSPF路由全是默认路由而没有明细路由,检查一下是不是在area 0里漏宣告了业务网段。
还有一个容易忽视的点:display ospf error里如果出现Bad area id,说明区域号不匹配,两台设备的area号一个写0一个写1,这属于配置错误不是协议错误,查配置比抓包快得多。
5. NAT与ACL的常见问题排查:方向、回流与启动失败
5.1 ACL设计:基本ACL匹配源地址
NAT和ACL是综合实验的最后一公里,也是坑最多的部分。先用ACL划出哪些内网地址允许被NAT转换。华为基本ACL编号2000-2999,只能匹配源地址;高级ACL编号3000-3999,可以匹配源、目的、协议、端口。
acl 2000 rule 5 permit source 192.168.0.0 0.0.0.255 rule 10 deny source anyrule 5 permit source 192.168.0.0 0.0.0.255放行整个内网段,rule 10 deny source any兜底拒绝其他来源。ACL默认隐含拒绝所有,最后的deny其实可写可不写,写上是为了让规则看清。但在NAT里,ACL只是“选流”用的,匹配到的流量才做地址转换,没匹配到的流量就原样转发——所以NAT场景的ACL末尾不要加deny所有,否则没匹配到的内网流量虽然不转换,但也不会被惩罚,行为容易误解。
5.2 easy ip与nat server:出口转换和端口映射
华为设备上最常用的NAT是easy ip方式(即PAT,多对一转换):
interface GigabitEthernet0/0/0 ip address 202.100.1.2 255.255.255.0 nat outbound 2000nat outbound 2000表示从该接口出去的流量,如果匹配ACL 2000,源地址就转换成接口IP 202.100.1.2,端口是动态的。所有内网PC共用一个公网IP上网,这是家庭宽带和中小型办公网的标准做法。
如果实验里需要外网访问内网服务器,需要再加一条nat server:
interface GigabitEthernet0/0/0 nat server protocol tcp global 202.100.1.2 80 inside 192.168.20.10 80这条命令含义是:外部访问202.100.1.2的80端口,路由器把流量转发给内网192.168.20.10的80端口。注意global后面是公网地址+端口,inside后面是私网地址+端口,写反了会导致NAT会话建立失败,display nat session里看不到任何条目。
5.3 高级ACL控制东西向流量:traffic-filter方向
ACL不只是给NAT选流用的,它还承担访问控制功能。比如实验里要求禁止办公VLAN 10访问管理VLAN 30,高级ACL加traffic-filter就能做:
acl 3000 rule 5 deny ip source 192.168.10.0 0.0.0.255 destination 192.168.30.0 0.0.0.255 rule 10 permit ip interface GigabitEthernet0/0/1 traffic-filter inbound acl 3000这条规则挂在核心交换机连接接入层的接口上,方向是inbound,即流量从接入层进入核心时就检查。deny ip的源和目的都要写清楚,只写源地址会导致所有目的地址的流量都被拒绝。rule 10 permit ip是显式放行其他流量,不加这条后面所有流量都会被打掉,包括OSPF的组播报文,后果就是OSPF邻居直接down——这是ACL最常见的连环坑。
5.4 四条踩坑记录(现象→原因→解决)
第一条:启动AR1失败,错误码40。现象是拖入路由器后设备一直显示井号或者直接报40启动失败。原因几乎都是eNSP自带的VirtualBox版本冲突,或者安装路径带中文、残留的旧版本进程没清干净。解决:先把eNSP卸载干净,注意去C:\Users\用户名\.eNSP目录把隐藏配置也删掉,再卸载VirtualBox,重装时路径用纯英文。网上说“ensp怎么才能卸载干净”就是这么回事,注册表里残留的VirtualBox网络适配器也要在设备管理器里清掉,否则重新安装后照样起不来。
第二条:ACL挂上之后OSPF邻居掉了。现象是配置完ACL不到一分钟,display ospf peer里邻居状态从Full变成Down。原因:ACL里没放行OSPF的组播报文224.0.0.5/224.0.0.6,或者放行规则顺序不对。解决:在ACL里加rule permit ospf放在deny规则前面,或者直接在接口的traffic-filter里加一句rule 15 permit ip source 192.168.100.0 0.0.0.255放行互联网段。ACL是顺序匹配的,先命中先执行,permit必须排在deny前面。
第三条:NAT配了内网还是上不了外网。现象是PC能ping通出口路由器的内网口IP,但ping不通外网地址202.100.1.2的远端。原因多半是ACL 2000的规则写反了,把source写成了目的地址,导致NAT无流量可转。解决:display nat outbound看ACL绑定状态,display acl 2000看命中计数——命中计数一直是0,说明NAT根本没选到流量,检查ACL规则里的源地址是不是内网网段。另外不要忘了在出口路由器上写指向外网的静态路由,否则转换后的流量不知道往哪发。
第四条:OSPF邻居卡在Exstart状态。现象是display ospf peer brief里邻居一直不是Full,卡在Exstart/Exchange来回跳。原因:接口MTU不一致,华为默认MTU 1500,但如果互联接口设置了不同的MTU,OSPF会在数据库描述报文交换阶段卡死。解决:在两端互联接口上都执行ip mtu 1400,保持一致,然后reset ospf process重启OSPF进程。这条在eNSP里出现频率不高,但一旦出现,抓包都看不出异常,因为DD报文交互就是不成功。
6. 验证与进阶:从ping通到OSPF邻居全绿的检查套路
6.1 一条固定的排查顺序
做完整套综合实验,我习惯从上往下按五步验证:先ping网关确认二层和VLAN正常;再ping对端VLAN的PC确认VLAN间路由正常;然后display ip routing-table确认OSPF路由表里有目标网段;接着display acl all确认ACL没有误杀流量;最后display nat session确认NAT会话建立。按这个顺序排查,每一步都只涉及一个协议层,不会出现多问题叠加时一头雾水的情况。只要大脑里先过一遍这个流程,再诡异的“某台PC不通”也能在三分钟内定位到具体协议层。
6.2 display命令速查
| 命令 | 看什么 | 什么时候用 |
|---|---|---|
display vlan | VLAN是否创建、端口划分是否正确 | 二层不同VLAN互通异常 |
display port vlan | Trunk放行列表与PVID | 跨设备同VLAN不通 |
display ip routing-table | 路由表里有无目标网段 | 跨VLAN或跨设备ping不通 |
display ospf peer brief | 邻居状态是否为Full | OSPF不收敛、路由缺失 |
display acl all | 命中计数与规则顺序 | 流量被ACL拦截 |
display nat session | NAT会话建立情况 | NAT不生效、访问外网失败 |
display dhcp server statistics | DHCP分配记录的统计 | PC获取不到IP |
6.3 wireshark抓带vlan的报文
eNSP支持在拓扑图上直接启动抓包:右键单击交换机互联的链路,选择“开始抓包”,就能抓到带VLAN标签的报文。Wireshark过滤器里写vlan 10只看VLAN 10的帧,写vlan 20只看VLAN 20。想观察OSPF邻居建立过程,过滤器写ospf,能看到hello报文里的router-id和area字段。这里有个技巧:抓包文件里如果看到大量重复的OSPF报文而邻居状态没变,先别分析内容,去看两端接口的MTU——这种“报文看起来正常但协议就是不同步”的场景,八成是MTU在做怪。
6.4 再往前走一步:链路聚合与多区域
验证全部通过之后,建议往这个综合实验上加两个进阶变化。第一个是把核心到接入交换机的链路改成两条,做Eth-Trunk链路聚合,看看OSPF在聚合链路上的表现;第二个是把OSPF从单区域改成area 0和area 1的骨干区-常规区结构,在核心交换机上做ABR,观察Type-3 LSA是怎么跨区域传递的。这两个改动都不复杂,但能让你真正理解OSPF的LSA类型和区域边界的行为,比背概念扎实得多。
我自己的习惯是:综合实验做完了,先把所有设备的配置文件导出备份,再从头把设备和PC全删掉,凭记忆重搭一遍。第二遍往往才是真正学会的那一遍——第一次配置时你会遇到各种翻车现场,第二次你能预判接下来要做什么,第三次你开始觉得“这实验其实挺简单”。这一行没什么玄学,就是配置、验证、抓包、重来,把每一步都走熟了,遇到再大的拓扑心里也有底。希望帮到你。
本文还有配套的精品资源,点击获取