☰
三层交换机与二层交换机VLAN间通信实战:SVI、Trunk与静态路由配置详解
2026/10/22 15:31:44 网站建设 项目流程

1. 实验背景与整体设计思路

1.1 为什么这个组合值得单独拿出来做实验

三层交换机加二层交换机的组合,几乎是所有园区网络、中小企业办公网络的标配架构。你随便打开一个真实项目的拓扑图,十有八九都是核心层放一台三层交换机做网关和路由,接入层堆几台二层交换机负责终端接入。这个实验看起来简单,但它把VLAN划分、Trunk链路、SVI接口、静态路由、VLAN间通信这几个网络工程里最核心的概念全部串起来了。

我见过不少人学完理论之后,单独配VLAN没问题,单独配路由也没问题,但一旦把三层和二层混在一起,就不知道数据包到底怎么走的了。问题出在哪?出在对转发平面和控制平面的理解不够透彻。二层交换机只看MAC地址,三层交换机既要看MAC又要看IP,数据包从PC出来到到达另一个网段的目标PC,中间经历了什么,每一步是谁在做决策,这些搞清楚了,这个实验才算真正做明白。

这个实验适合谁?适合正在学网络基础、准备考相关认证、或者刚入行做网络运维的朋友。如果你已经能独立配VLAN和静态路由,但还没把三层交换机的SVI和路由功能串起来用过,那这个实验就是为你准备的。

1.2 实验拓扑的整体规划

我设计的拓扑是这样的:一台三层交换机作为核心设备,下面挂两台二层交换机,二层交换机再连接终端PC。三层交换机上配置VLAN网关(SVI),负责VLAN间路由;二层交换机上只做VLAN划分和Trunk上联,不配任何三层接口。

具体规划如下:

设备角色设备名称主要职责
核心三层交换机L3-SW1VLAN间路由、SVI网关、上联路由
接入二层交换机L2-SW1VLAN接入、Trunk上联
接入二层交换机L2-SW2VLAN接入、Trunk上联
终端PCPC1-PC4分属不同VLAN,验证互通性

VLAN规划:

VLAN ID网段用途网关
VLAN 10192.168.10.0/24办公区A192.168.10.254
VLAN 20192.168.20.0/24办公区B192.168.20.254
VLAN 30192.168.30.0/24服务器区192.168.30.254

为什么这样规划?VLAN 10和VLAN 20模拟两个不同的部门,VLAN 30模拟服务器区。三个网段之间需要互通,但广播域必须隔离。三层交换机上的SVI接口就是每个VLAN的网关,PC把数据包发给网关,三层交换机查路由表决定从哪个SVI发出去。

1.3 方案选型的几个关键决策

为什么用三层交换机做网关而不是路由器?三层交换机的SVI接口转发是靠硬件ASIC芯片完成的,速度远快于路由器基于CPU的软件转发。在园区网内部,VLAN间通信流量很大,用三层交换机做网关是性价比最高的选择。路由器一般放在出口位置,负责NAT和广域网接入。

为什么二层交换机不配IP?二层交换机的管理IP可以配一个,但那是为了远程管理用的,不是用来转发用户流量的。用户流量的网关必须指向三层交换机的SVI地址。这一点新手特别容易搞混,以为二层交换机也要配个网关地址,其实完全不需要。

Trunk链路为什么必须配?二层交换机和三层交换机之间要传递多个VLAN的流量,Access口只能属于一个VLAN,所以必须配成Trunk口,并且允许所有需要的VLAN通过。Trunk口打标签的方式默认是IEEE 802.1Q,这个在配置时要注意封装类型。

2. 核心细节解析与实操要点

2.1 三层交换机SVI接口的工作原理

SVI全称Switch Virtual Interface,翻译过来就是交换机虚拟接口。你可以把它理解成三层交换机内部给每个VLAN配了一个"虚拟网卡",这个网卡就是这个VLAN里所有设备的网关。

它的工作流程是这样的:当VLAN 10的PC要访问VLAN 20的PC时,PC发现目标IP和自己不在同一网段,于是把数据包发给网关(也就是VLAN 10的SVI地址)。三层交换机收到这个数据包后,发现目标IP是VLAN 20网段的,查路由表发现VLAN 20的SVI是直连路由,于是把数据包从VLAN 20的SVI发出去,同时把源MAC改成VLAN 20 SVI的MAC,目标MAC改成VLAN 20 PC的MAC。整个过程PC完全感知不到,它以为网关帮它转发了,实际上三层交换机在内部完成了一次路由加二层重封装。

这里有个关键点:三层交换机必须开启路由功能。不同厂商的设备命令不一样,有的默认开启,有的需要手动敲命令。如果路由功能没开,SVI接口配了IP也不通。

注意:SVI接口的IP地址必须和该VLAN内PC的网关地址一致,否则PC找不到网关。

2.2 Trunk链路的配置要点

Trunk链路是二层交换机和三层交换机之间的"高速公路",多个VLAN的流量都在这条路上跑。配置Trunk时有两个关键参数:封装类型和允许通过的VLAN列表。

封装类型一般用IEEE 802.1Q,这是国际标准,各厂商设备都支持。另一个是ISL,那是早期某厂商的私有协议,现在基本不用了。配置时如果不指定封装类型,有些设备会默认用802.1Q,但为了保险起见,建议手动指定。

允许通过的VLAN列表,可以用allow-pass vlan all允许所有VLAN通过,也可以只允许需要的VLAN。生产环境建议只允许必要的VLAN,减少不必要的广播流量。实验环境为了方便,可以直接放通所有。

还有一个容易忽略的点:Trunk两端的Native VLAN必须一致。Native VLAN的流量在Trunk上不打标签,如果两端不一致,就会导致VLAN流量串扰。默认都是VLAN 1,实验里保持默认就行,但要知道这个概念。

2.3 二层交换机的VLAN划分与端口模式

二层交换机上的端口有两种模式:Access和Trunk。Access口连接终端设备,只属于一个VLAN;Trunk口连接上层设备,允许多个VLAN通过。

连接PC的端口必须配成Access模式,并且划入对应的VLAN。比如PC1属于VLAN 10,那连接PC1的端口就要配成Access口,划入VLAN 10。这样PC1发出的无标签帧进入交换机后,会被打上VLAN 10的标签。

上联到三层交换机的端口必须配成Trunk模式,允许VLAN 10、20、30通过。这样二层交换机上各个VLAN的流量才能带着标签传到三层交换机。

这里有个实操技巧:配置顺序很重要。先创建VLAN,再配端口模式,最后把端口划入VLAN。如果顺序反了,端口划入VLAN时会提示VLAN不存在,还得回头补创建。

2.4 静态路由与默认路由的取舍

这个实验里,三层交换机上的三个SVI接口都是直连路由,三层交换机自己就能感知到。所以VLAN间通信不需要额外配静态路由,SVI一配好,直连路由自动生成。

但如果实验拓扑里还有一台出口路由器,三层交换机就需要配一条默认路由指向路由器,路由器也需要配回程路由指向三层交换机下面的网段。这个实验里我们先不涉及出口路由器,专注于三层和二层交换机的配合。

提示:查看路由表用display ip routing-table,确认直连路由是否生成。如果SVI接口状态是down,路由表里就不会有这条路由。

3. 实操过程与核心环节实现

3.1 三层交换机的完整配置流程

先配三层交换机。第一步创建VLAN,第二步配置SVI接口IP,第三步配置下联Trunk口。

# 进入系统视图 system-view # 修改设备名称 sysname L3-SW1 # 创建VLAN vlan batch 10 20 30 # 配置VLAN 10的SVI接口 interface Vlanif 10 ip address 192.168.10.254 255.255.255.0 quit # 配置VLAN 20的SVI接口 interface Vlanif 20 ip address 192.168.20.254 255.255.255.0 quit # 配置VLAN 30的SVI接口 interface Vlanif 30 ip address 192.168.30.254 255.255.255.0 quit # 配置下联二层交换机的Trunk口 interface GigabitEthernet 0/0/1 port link-type trunk port trunk allow-pass vlan 10 20 30 quit interface GigabitEthernet 0/0/2 port link-type trunk port trunk allow-pass vlan 10 20 30 quit

配置完成后,用display ip interface brief查看SVI接口状态,确认三个Vlanif接口都是up状态。如果某个VLAN下没有活跃端口,SVI接口可能是down的,这时候需要检查Trunk口是否配好,或者该VLAN下是否有PC在线。

3.2 二层交换机的完整配置流程

二层交换机L2-SW1的配置:创建VLAN,配Access口连接PC,配Trunk口上联。

system-view sysname L2-SW1 # 创建VLAN vlan batch 10 20 # 配置连接PC1的端口 interface GigabitEthernet 0/0/1 port link-type access port default vlan 10 quit # 配置连接PC2的端口 interface GigabitEthernet 0/0/2 port link-type access port default vlan 20 quit # 配置上联三层交换机的Trunk口 interface GigabitEthernet 0/0/24 port link-type trunk port trunk allow-pass vlan 10 20 quit

L2-SW2的配置类似,只是VLAN和端口的对应关系不同:

system-view sysname L2-SW2 vlan batch 20 30 interface GigabitEthernet 0/0/1 port link-type access port default vlan 20 quit interface GigabitEthernet 0/0/2 port link-type access port default vlan 30 quit interface GigabitEthernet 0/0/24 port link-type trunk port trunk allow-pass vlan 20 30 quit

3.3 PC端的IP配置与验证

PC端的配置很简单,以PC1为例:

参数值
IP地址192.168.10.1
子网掩码255.255.255.0
网关192.168.10.254

PC2配192.168.20.1,网关192.168.20.254;PC3配192.168.20.2,网关192.168.20.254;PC4配192.168.30.1,网关192.168.30.254。

配完之后先ping网关,确认PC到三层交换机通。然后ping其他VLAN的PC,验证VLAN间路由是否生效。比如PC1 ping PC2(192.168.20.1),如果通,说明三层交换机的SVI路由正常工作。

如果ping不通,按这个顺序排查:先看PC的IP和网关配对了没有,再看二层交换机的端口VLAN划对了没有,然后看Trunk口允许的VLAN列表有没有漏,最后看三层交换机的SVI接口状态是不是up。

3.4 用tracert看数据包的路径

在PC1上tracert PC4的地址,你会发现第一跳就是192.168.10.254,也就是VLAN 10的SVI地址。这说明数据包先到了三层交换机,然后被转发到VLAN 30。如果中间经过了多台三层设备,tracert会显示每一跳的地址,非常直观。

这个验证方法比单纯ping更有说服力,因为它展示了数据包的完整路径。我在实际排错时经常用tracert来确认路由走向是否符合预期。

4. 常见问题与排查技巧实录

4.1 VLAN间ping不通的排查思路

这是这个实验里最高频的问题。我整理了一个排查顺序,按这个顺序走,基本能覆盖90%的情况。

排查步骤检查内容常见问题
1PC的IP、掩码、网关网关配错或没配
2二层交换机Access口VLAN端口划错VLAN或没划
3二层交换机Trunk口没配Trunk或允许列表漏了
4三层交换机Trunk口同上
5三层交换机SVI接口没配IP或接口down
6三层交换机路由功能路由功能未开启

我踩过的一个坑:三层交换机上创建了VLAN,但忘记配SVI接口的IP地址,结果PC能ping通同VLAN的其他PC,但跨VLAN就不通。因为同VLAN通信是二层转发,不需要网关;跨VLAN必须经过网关,网关没IP自然不通。

还有一个坑:Trunk口允许的VLAN列表里漏了某个VLAN。比如L2-SW1上联口只允许了VLAN 10和20,但PC4在VLAN 30,虽然PC4不在L2-SW1下面,但如果拓扑有变化,VLAN 30的流量经过L2-SW1时就会被丢弃。

4.2 SVI接口状态down的几种原因

SVI接口的up/down状态取决于两个条件:一是该VLAN至少有一个up的物理端口,二是该物理端口在Trunk允许列表里。

如果VLAN 10的SVI是down的,可能的原因有:三层交换机上没有VLAN 10的活跃端口;下联Trunk口没有允许VLAN 10通过;二层交换机上VLAN 10没有活跃端口。这三个条件缺一不可。

解决办法:先确认二层交换机上VLAN 10有PC在线且端口up,再确认Trunk两端都允许VLAN 10通过,最后确认三层交换机上VLAN 10已创建。都确认无误后,SVI接口会自动up。

提示:可以用display vlan查看VLAN状态和端口成员,用display interface brief查看端口up/down状态。

4.3 广播风暴与环路问题

这个实验拓扑是树形的,没有环路,所以不会产生广播风暴。但如果实际组网中不小心把两台二层交换机用网线连起来了,又没有配生成树协议,就会形成环路,导致广播风暴,整个网络瘫痪。

生成树协议默认是开启的,但有些低端交换机可能默认关闭。实验里如果发现网络时通时断,或者交换机CPU占用率飙升,就要怀疑是不是有环路。排查方法是看交换机的MAC地址表,如果同一个MAC地址出现在多个端口上,基本可以确定有环路。

避免这个问题的方法很简单:接入层交换机之间不要互连,所有接入交换机都单独上联到三层交换机。如果必须互连做冗余,一定要确认生成树协议正常工作。

4.4 实验环境与真实项目的差异

实验里我们只配了最基本的VLAN和路由,真实项目里还要考虑更多东西。比如DHCP服务,实验里是手动配IP,真实项目里几百台PC不可能手动配,需要三层交换机做DHCP服务器或者指向专门的DHCP服务器。再比如ACL访问控制,不同部门之间可能需要限制访问,这就要在三层交换机上配ACL规则。

还有VLAN规划,实验里用了10、20、30这种简单的编号,真实项目里VLAN编号往往有规律,比如按楼层、按部门、按设备类型来编,方便管理和排错。这些经验都是在实际项目中慢慢积累的,实验只是帮你把核心原理跑通。

5. 进阶扩展与性能优化建议

5.1 用DHCP替代手动配置IP

实验里手动配IP是为了理解原理,但真实环境一定要用DHCP。三层交换机可以开启DHCP服务,给每个VLAN分配地址池。配置命令大概是这样:

# 开启DHCP服务 dhcp enable # 配置VLAN 10的地址池 ip pool vlan10 network 192.168.10.0 mask 255.255.255.0 gateway-list 192.168.10.254 dns-list 114.114.114.114 quit # 在SVI接口上应用地址池 interface Vlanif 10 dhcp select global quit

这样PC端就不用手动配IP了,插上网线就能自动获取。DHCP的租期默认是一天,可以根据需要调整。地址池里还可以排除某些IP不参与分配,比如网关地址和服务器地址。

5.2 链路聚合提升带宽与可靠性

二层交换机和三层交换机之间如果只有一条千兆链路,带宽可能不够用。可以用链路聚合把多条物理链路捆绑成一条逻辑链路,既增加了带宽,又提供了冗余。如果其中一条物理链路断了,流量会自动切换到其他链路,业务不中断。

链路聚合的配置两端必须一致,包括聚合模式、成员端口数量等。常见的聚合模式有静态聚合和动态聚合,静态聚合配置简单,动态聚合通过协议协商,兼容性更好。实验环境用静态聚合就够了。

5.3 用ACL控制VLAN间访问

默认情况下,三层交换机上所有VLAN之间都能互相访问。但真实项目里,财务部门可能不允许被其他部门访问,服务器区可能只允许特定网段访问。这时候就需要ACL。

ACL的本质是一组规则,匹配源IP、目标IP、端口号等条件,然后执行允许或拒绝的动作。ACL可以应用在SVI接口的入方向或出方向。比如要禁止VLAN 10访问VLAN 30,可以在VLAN 10的SVI入方向应用一条拒绝规则。

ACL的规则顺序很重要,匹配是从上往下依次进行的,一旦匹配就执行动作,不再往下查。所以要把精确的规则放在前面,宽泛的规则放在后面。最后一般会跟一条允许所有流量的规则,防止误杀正常流量。

5.4 监控与日志的配置

网络配好之后不是就完事了,还需要监控运行状态。三层交换机可以配置SNMP,把设备状态上报给监控平台。还可以配置日志服务器,把设备日志集中存储,方便事后排查。

关键监控指标包括:CPU利用率、内存利用率、端口流量、端口错包率、SVI接口状态。这些指标异常时往往预示着网络故障。比如端口错包率突然升高,可能是网线质量有问题或者端口硬件故障。

日志级别一般设为informational,既能记录关键事件,又不会产生太多冗余日志。如果排查特定问题,可以临时把日志级别调低,问题解决后再调回来。

6. 实验心得与踩坑记录

这个实验我反复做过很多遍,每次都能发现之前忽略的细节。最开始学的时候,我以为三层交换机配了SVI就万事大吉了,结果Trunk口忘了配,PC连网关都ping不通。后来才知道,SVI接口的up状态依赖于VLAN内有活跃端口,而活跃端口又依赖于Trunk链路正常。

还有一个让我印象深刻的坑:有一次实验里PC1能ping通PC2,但ping不通PC4。排查了半天,发现是L2-SW2的上联Trunk口只允许了VLAN 20和30,但PC4在VLAN 30,按理说应该通。后来发现是L2-SW1的上联Trunk口没允许VLAN 30,而PC4的流量路径恰好经过了L2-SW1。这个拓扑设计有点绕,但暴露了一个问题:Trunk口的允许列表必须根据实际流量路径来配,不能想当然。

我的建议是,实验时先把拓扑画清楚,标出每个VLAN的流量要经过哪些链路,然后逐条链路检查Trunk允许列表。这个习惯在真实项目里同样适用,能避免很多低级错误。

最后分享一个实用技巧:配置完成后,用display current-configuration把配置导出来,和规划表逐项核对。这个动作花不了几分钟,但能发现很多配置遗漏。我现在的习惯是,每配完一台设备就导一次配置,核对无误再配下一台,这样排错时范围小,效率高。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询