简介:这份综合组网实验资料面向网络技术初学者与备考华为认证的工程师,基于eNSP虚拟环境模拟学校实验室网络,帮助读者掌握多区域组网与设备配置。内容覆盖VLAN划分与VLAN间通信、静态路由与OSPF动态路由、LACP链路聚合与链路备份、NAT地址转换、ACL访问控制及DHCP自动分配等核心知识点,并配有实验拓扑、实验分析与逐台设备的详细配置命令,如LSW1的VLAN划分、VLANif接口地址、Eth-Trunk聚合及DHCP配置等。资源包为1个PDF文件,约140KB,结构紧凑,便于按章节对照练习。目前已有9997人学习下载,适合需要系统梳理综合组网流程、对照命令查漏补缺的读者参考。
1. 综合组网实验到底在练什么:从一台交换机到一张能跑业务的小网
很多人第一次打开 eNSP,拖出两台 S5700、三台 PC,配完 VLAN 发现 PC 之间 ping 不通,于是开始怀疑模拟器有问题。其实综合组网实验练的不是某一个协议,而是把 VLAN 划分、VLAN 间通信、DHCP、NAT 地址转换、ACL、OSPF 这几块拼成一张能跑业务的小网。它解决的是「单点配置都会、连起来就翻车」的问题,适合已经学过单协议、但没做过端到端组网的人。我一般建议按「接入层 VLAN → 网关与 VLAN 间通信 → 动态地址分配 → 出口 NAT → 路由打通 → ACL 收口」的顺序推进,每一步都能单独验证,最后再叠在一起。这篇就按这个顺序,把 eNSP 综合组网实验从拓扑到命令讲透,参数怎么设、坑在哪,都落到具体命令上。
2. 拓扑与 VLAN 划分:先把二层边界画清楚
综合组网实验最容易翻车的地方不是三层路由,而是二层 VLAN 没划干净。VLAN 划分决定了广播域边界,也决定了后面 VLAN 间通信、DHCP 作用域、ACL 匹配范围。这一章先把拓扑和 VLAN 规划定下来,后面所有配置都建立在这个基础上。
2.1 拓扑规划与设备选型
我一般用一台 AR2220 做出口路由器,一台 S5700 做核心/网关交换机,一台 S3700 做接入交换机,三到四台 PC 模拟不同部门。出口路由器连核心交换机的上行口,核心交换机下连接入交换机,PC 挂在接入交换机上。这样分层的好处是:接入层只做 VLAN 接入和 Trunk 上行,核心层做 VLAN 间通信和 DHCP,出口路由器做 NAT 和 OSPF。
VLAN 规划建议按部门或功能划分,不要按端口号随手编。下面是我常用的一个规划表,读者可以直接抄:
| VLAN ID | 用途 | 网段 | 网关 | DHCP 方式 |
|---|---|---|---|---|
| VLAN 10 | 办公区 | 192.168.10.0/24 | 192.168.10.1 | 核心交换机 |
| VLAN 20 | 服务器区 | 192.168.20.0/24 | 192.168.20.1 | 核心交换机 |
| VLAN 30 | 访客区 | 192.168.30.0/24 | 192.168.30.1 | 核心交换机 |
| VLAN 99 | 管理/互联 | 10.0.99.0/30 | 10.0.99.1 | 静态 |
VLAN 99 专门用来跑核心交换机和出口路由器之间的三层互联,不承载业务,这样 ACL 和 NAT 的匹配范围更清晰。注意 VLAN 1 不要用来跑业务,默认 VLAN 1 上的流量容易和协议报文混在一起,排查时干扰很大。
2.2 接入层与 Trunk 配置
接入层交换机的任务很简单:PC 接入口划到对应 VLAN,上行口配 Trunk 放通所有业务 VLAN。下面是 S3700 接入交换机的配置:
system-view sysname ACC-SW vlan batch 10 20 30 interface GigabitEthernet0/0/1 port link-type access port default vlan 10 interface GigabitEthernet0/0/2 port link-type access port default vlan 20 interface GigabitEthernet0/0/3 port link-type access port default vlan 30 interface GigabitEthernet0/0/24 port link-type trunk port trunk allow-pass vlan 10 20 30逻辑说明:port link-type access把接口设为接入模式,port default vlan 10把该接口的未标记流量划到 VLAN 10。上行口用port link-type trunk,port trunk allow-pass vlan 10 20 30只放通业务 VLAN,不放通 VLAN 1,减少不必要的广播。参数上,allow-pass列表要和核心交换机下行口保持一致,少放一个 VLAN,对应部门就上不了网。
核心交换机下行口对应配置:
interface GigabitEthernet0/0/24 port link-type trunk port trunk allow-pass vlan 10 20 30这里有个常见误区:有人喜欢在上行口用port trunk pvid vlan 10,把 Trunk 口的 PVID 改成业务 VLAN。PVID 只影响未标记帧的归属,Trunk 口两端 PVID 不一致时,未标记帧会被划到不同 VLAN,表现为「部分 PC 通、部分不通」。我一般保持 Trunk 口 PVID 为默认 1,业务 VLAN 全部走标记帧,边界清晰。
2.3 VLAN 间通信:三层交换机做网关
VLAN 间通信有两种做法:单臂路由和三层交换机 VLANIF。综合组网实验里我优先用三层交换机 VLANIF,因为性能好、配置集中、后面接 ACL 也方便。核心交换机上给每个业务 VLAN 配一个 VLANIF 接口作为网关:
system-view sysname CORE-SW vlan batch 10 20 30 99 interface Vlanif10 ip address 192.168.10.1 255.255.255.0 interface Vlanif20 ip address 192.168.20.1 255.255.255.0 interface Vlanif30 ip address 192.168.30.1 255.255.255.0 interface Vlanif99 ip address 10.0.99.1 255.255.255.252逻辑说明:VLANIF 是三层接口,每个 VLAN 一个,IP 就是该网段网关。PC 把网关指向对应 VLANIF 地址,跨 VLAN 流量送到核心交换机做三层转发。参数上,掩码要和网段规划一致,VLANIF99 用 /30 是为了节省地址,只跑互联。
配完 VLANIF 后,先在同网段内 ping 网关,再跨网段 ping,确认三层转发正常。如果同网段通、跨网段不通,先查 PC 网关是否指对,再查核心交换机有没有对应 VLAN 的 VLANIF,最后查 Trunk 是否放通。
提示:VLANIF 的 up 状态依赖对应 VLAN 内至少有一个 up 的物理口。如果 VLAN 内没有活跃端口,VLANIF 会 down,网关 ping 不通。排查时先看
display vlan确认 VLAN 内有端口。
3. DHCP 与 NAT:让 PC 拿到地址,让内网能出公网
二层和三层通了之后,下一步是让 PC 自动拿到地址,并且内网能访问外网。DHCP 解决地址分配,NAT 地址转换解决私网到公网的转换。这两块配错,表现都是「PC 有地址但上不了网」或「PC 根本没地址」,排查路径完全不同。
3.1 核心交换机 DHCP 配置
DHCP 我一般放在核心交换机上,按 VLAN 分地址池。这样 PC 接入哪个 VLAN 就拿哪个网段的地址,网关和 DNS 一起下发。配置如下:
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 ip pool vlan20 network 192.168.20.0 mask 255.255.255.0 gateway-list 192.168.20.1 dns-list 114.114.114.114 ip pool vlan30 network 192.168.30.0 mask 255.255.255.0 gateway-list 192.168.30.1 dns-list 114.114.114.114 interface Vlanif10 dhcp select global interface Vlanif20 dhcp select global interface Vlanif30 dhcp select global逻辑说明:dhcp enable全局开启 DHCP,ip pool定义地址池,network指定网段,gateway-list下发网关,dns-list下发 DNS。VLANIF 下dhcp select global表示该接口使用全局地址池。参数上,地址池网段必须和 VLANIF 网段一致,否则 PC 拿不到地址;gateway-list必须指向对应 VLANIF 地址,指错会导致 PC 有地址但出不了网段。
配完后在 PC 上选 DHCP 模式,命令行ipconfig看是否拿到地址。如果拿不到,先在核心交换机display ip pool看地址池有没有分配记录,再看 VLANIF 是否 up,最后查 PC 和交换机之间链路是否放通对应 VLAN。
3.2 出口路由器 NAT 地址转换
NAT 地址转换放在出口路由器上,把内网私网地址转成公网接口地址。eNSP 里可以用 AR2220 的 GE0/0/0 模拟公网口,配一个公网地址,内网口接核心交换机 VLAN99。配置如下:
system-view sysname EDGE-RT interface GigabitEthernet0/0/0 ip address 200.1.1.1 255.255.255.0 interface GigabitEthernet0/0/1 ip address 10.0.99.2 255.255.255.252 acl number 2000 rule 5 permit source 192.168.10.0 0.0.0.255 rule 10 permit source 192.168.20.0 0.0.0.255 rule 15 permit source 192.168.30.0 0.0.0.255 interface GigabitEthernet0/0/0 nat outbound 2000 ip route-static 0.0.0.0 0.0.0.0 200.1.1.2逻辑说明:ACL 2000 匹配内网三个网段,nat outbound 2000在公网口上做源地址转换,内网流量出公网口时把源地址换成 200.1.1.1。ip route-static 0.0.0.0 0.0.0.0 200.1.1.2是默认路由,指向模拟公网的下一跳。参数上,ACL 的反掩码要算对,0.0.0.255对应 /24;nat outbound必须绑在公网口,绑错接口不生效。
这里有个容易忽略的点:核心交换机上要有到公网的默认路由,指向 10.0.99.2,否则内网流量到不了出口路由器。核心交换机加一条:
ip route-static 0.0.0.0 0.0.0.0 10.0.99.2验证时在 PC 上 ping 200.1.1.2,通说明 NAT 和路由都正常。如果不通,先在出口路由器上 ping 内网 PC,再在核心交换机上 ping 公网口,逐段定位。
3.3 OSPF 打通动态路由
如果综合组网实验里有多台路由器或三层交换机,静态路由维护起来很累,这时候用 OSPF。我一般把核心交换机和出口路由器划到 area 0,内网网段和互联网段都发布出去。核心交换机配置:
ospf 1 router-id 10.0.99.1 area 0.0.0.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 10.0.99.0 0.0.0.3出口路由器配置:
ospf 1 router-id 10.0.99.2 area 0.0.0.0 network 10.0.99.0 0.0.0.3 default-route-advertise always逻辑说明:network命令把接口网段发布进 OSPF,反掩码要算对。default-route-advertise always让出口路由器把默认路由发布给核心交换机,核心交换机就不用再写静态默认路由。参数上,router-id 要唯一,area 要一致,否则邻居建不起来。
验证 OSPF 用display ospf peer brief看邻居状态,Full 表示正常。如果卡在 ExStart,多半是 MTU 或 router-id 冲突;卡在 Init,多半是 area 或认证不一致。
4. ACL 收口:访客区不能碰服务器区
前面三章把网通了,但「通」不等于「安全」。综合组网实验里 ACL 的作用是收口:访客区只能上网,不能访问服务器区和办公区;办公区可以访问服务器区,但不能访问访客区。这一章讲 ACL 怎么配、匹配顺序怎么定、单向访问怎么做。
4.1 ACL 匹配顺序与规则设计
ACL 是按规则编号从小到大匹配,匹配到就执行动作,不再往下看。所以规则顺序比规则内容更重要。我一般把「拒绝」放前面,「允许」放后面,最后加一条隐式拒绝兜底。访客区限制的 ACL 可以这样写:
acl number 3000 rule 5 deny ip source 192.168.30.0 0.0.0.255 destination 192.168.20.0 0.0.0.255 rule 10 deny ip source 192.168.30.0 0.0.0.255 destination 192.168.10.0 0.0.0.255 rule 15 permit ip source 192.168.30.0 0.0.0.255逻辑说明:rule 5 和 rule 10 拒绝访客区到服务器区和办公区的流量,rule 15 允许访客区其他流量(比如上网)。ACL 3000 是高级 ACL,能匹配源和目的 IP。参数上,反掩码0.0.0.255对应 /24,写错会匹配到别的网段。
ACL 写完后要应用到接口或 VLANIF 上才生效。我一般绑在访客区 VLANIF 的 inbound 方向:
interface Vlanif30 traffic-filter inbound acl 3000inbound表示流量进入 VLANIF30 时匹配,也就是访客区发出的流量。绑在 outbound 方向匹配的是发往访客区的流量,方向搞反规则就不生效。
4.2 单向访问与 established 技巧
有时候需求是「办公区能访问服务器区,服务器区不能主动访问办公区」,这叫单向访问。普通 ACL 做不到,因为 ACL 是无状态的,允许了请求就允许了回应。华为交换机可以用高级 ACL 的established参数配合 TCP 标志位实现:
acl number 3001 rule 5 permit tcp source 192.168.10.0 0.0.0.255 destination 192.168.20.0 0.0.0.255 destination-port eq 80 rule 10 permit tcp source 192.168.10.0 0.0.0.255 destination 192.168.20.0 0.0.0.255 destination-port eq 443 rule 15 deny ip source 192.168.20.0 0.0.0.255 destination 192.168.10.0 0.0.0.255逻辑说明:rule 5 和 rule 10 允许办公区访问服务器区的 80 和 443,rule 15 拒绝服务器区主动访问办公区。但这样回应流量也会被 rule 15 拦掉,所以需要配合established或者把规则顺序调整。更稳妥的做法是用traffic-filter绑在服务器区 VLANIF 的 inbound 方向,只拦服务器区主动发起的流量。
注意:ACL 的
established参数在部分华为版本上对 TCP 生效,对 UDP 和 ICMP 不生效。如果需求是 ping 单向,ACL 做不到,需要用防火墙或策略路由。
4.3 ACL 与 NAT 的配合顺序
出口路由器上既有 NAT 的 ACL 2000,又有安全收口的 ACL 3000,两者不冲突,但顺序要注意。NAT 的 ACL 只匹配源地址,安全 ACL 匹配源和目的。我一般把 NAT 的 ACL 编号放在 2000-2999,安全 ACL 放在 3000-3999,避免编号混用。应用时 NAT 绑在公网口 outbound,安全 ACL 绑在内网口 inbound,各管各的方向。
如果发现内网能上网但 ACL 不生效,先查 ACL 有没有绑到接口,再查方向对不对,最后查规则编号顺序。ACL 没匹配到任何规则时走隐式拒绝,表现是「全不通」,这时候看display acl 3000的匹配计数,能快速定位是哪条规则在拦。
5. 避坑与排查:综合组网实验里最容易翻车的 5 个点
综合组网实验的坑大多不是协议本身,而是配置顺序、接口方向、参数一致性。下面 5 条是我踩过的血泪经验,每条按现象、原因、解决写。
现象:PC 拿到地址但 ping 不通网关。原因:VLANIF 没 up,或者 Trunk 没放通对应 VLAN。VLANIF 的 up 依赖 VLAN 内有活跃物理口,如果接入交换机上行口没放通该 VLAN,核心交换机对应 VLAN 内就没有活跃口,VLANIF 会 down。 解决:display vlan看 VLAN 内端口,display interface Vlanif10看状态,确认 Trunk 两端allow-pass列表一致。
现象:跨 VLAN ping 不通,同 VLAN 正常。原因:PC 网关指错,或者核心交换机没有对应 VLANIF。也有人把网关指到出口路由器上,但出口路由器没有回程路由。 解决:display ip interface brief看 VLANIF 地址,PC 上ipconfig看网关,核心交换机display ip routing-table看有没有目标网段路由。
现象:内网能 ping 通出口路由器内网口,但 ping 不通公网口。原因:NAT 没配或 ACL 没匹配到。NAT 的 ACL 反掩码写错,或者nat outbound绑错接口。 解决:display nat outbound看绑定关系,display acl 2000看匹配计数,确认 ACL 规则命中了内网网段。
现象:OSPF 邻居建不起来,卡在 Init 或 ExStart。原因:area 不一致、router-id 冲突、MTU 不匹配、认证不一致。eNSP 里 MTU 默认一致,但 router-id 冲突很常见,尤其是复制配置时忘了改。 解决:display ospf peer brief看状态,display ospf interface看 area 和 MTU,改 router-id 后reset ospf process重启进程。
现象:ACL 配了但不生效,该拦的没拦。原因:ACL 没绑到接口,或者绑错方向。也有人把 ACL 绑在 Trunk 口上,但 Trunk 口不处理三层流量,ACL 不生效。 解决:ACL 绑在 VLANIF 或三层接口上,方向按流量进出选 inbound 或 outbound。display traffic-filter applied-record看绑定记录。
6. 进阶技巧:用 ACL 做管理面收口与验证脚本
综合组网实验做到最后,业务通了、安全收了,还差一步:管理面收口。很多人 ACL 只配了业务流量,忘了交换机和路由器的管理访问也能被 ACL 控制。我一般会加一条只允许管理终端登录的 ACL,配合user-interface的acl命令,把 Telnet 或 SSH 的来源限制住。
acl number 2001 rule 5 permit source 192.168.10.100 0.0.0.0 rule 10 deny source any user-interface vty 0 4 acl 2001 inbound authentication-mode aaa逻辑说明:ACL 2001 只允许 192.168.10.100 这个管理终端访问 VTY,其他源地址拒绝。acl 2001 inbound绑在 VTY 上,控制登录来源。参数上,0.0.0.0表示精确匹配单个地址,deny source any是显式拒绝兜底。注意 ACL 2001 是基本 ACL,只能匹配源地址,适合管理面收口。
验证 ACL 是否生效,我习惯用display acl 2001看匹配计数,再用管理终端以外的 PC 尝试 Telnet,确认被拒绝。如果发现所有终端都登不上,先检查rule 5的地址是不是写成了管理终端的实际地址,再检查authentication-mode有没有配 AAA 用户。
最后说一个我自己的习惯:综合组网实验配完后,我会把每台设备的display current-configuration导出,按设备名存成文本,下次做类似拓扑直接改参数复用。eNSP 的配置导出在命令行里用display current-configuration复制,或者用save保存到设备。这个习惯帮我省了很多重复劳动,也方便对比两次实验的差异。希望帮到你。
本文还有配套的精品资源,点击获取