1. 三层交换机到底解决了什么问题
做网络实验做过一轮二层的,再回过头来做三层交换机的综合实验,心里其实特别有感触。很多人一开始接触交换机,觉得它就是用来把几台电脑连在一起、配个VLAN隔离一下广播域,基本就到头了。但真正要打通不同VLAN之间的通信,或者让多个网段的终端自动获取IP地址,纯二层设备就明显不够用了——这时候就得靠三层交换机。
这个综合实验我前后做了两遍,第一遍是照着实验指导书一步步敲命令,第二遍是脱离指导书、完全按实际组网需求自己规划。两遍走下来,最大的体会是:三层交换机并不神秘,它的核心能力就一句话——既能像二层交换机一样转发数据帧,又能像路由器一样转发IP数据包。这个“二三层兼备”的特性,让它在企业园区网、学校机房、办公楼汇聚层这些场景里几乎是标配。
这个实验适合谁?如果你是刚学完VLAN、静态路由,想搞明白“交换机怎么做路由”的入门者,或者你正在准备华为数通认证、思科认证的实操考试,再或者你工作中遇到“多个VLAN之间ping不通”“跨网段拿不到DHCP地址”这类问题,这个实验都能给你一个完整的答案。
实验本身的内容其实不复杂,无非就是划分VLAN、配置VLANIF接口、开启DHCP服务、做DHCP中继、最后用PC跨网段ping通验证。但把每个步骤背后的原理吃透,比敲会几条命令值钱得多。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. VLAN间通信的三种思路:为什么最终选了三层交换机
2.1 从“不同网段怎么通信”这个热词说起
很多人搜“不同网段通信需要三层交换机吗”,这个问题其实有个隐藏前提——你是想用路由器来做,还是用三层交换机的VLANIF来做?
先说结论:不同网段通信,本质上必须经过三层转发。不管这个三层功能跑在路由器上,还是跑在交换机上,只要两个网段要互通,就必须有一个设备把源IP和目标IP进行路由转发。差别只在于这个“三层设备”以什么形态存在。
在真实组网里,我有三种常见做法:
- 用一台路由器,接两条物理链路分别连两个VLAN的接入交换机。缺点是每多一个VLAN就要多占用一个路由器接口,扩展性很差。
- 用单臂路由,路由器的一个物理接口划分子接口,配合交换机的Trunk口实现VLAN间路由。这种方式解决了接口不足的问题,但所有跨VLAN流量都要挤在同一条物理链路上,流量一大容易成瓶颈。
- 用三层交换机配置VLANIF接口,直接在交换机内部完成跨VLAN转发。这种方式既不需要额外物理接口,又能利用交换机的硬件转发能力,是目前园区网里最主流的做法。
我在实验里三种方式都试过。单臂路由适合学习和验证原理,但如果让我在真实项目中选,绝大多数场景我都首选三层交换机。原因很简单:VLANIF是逻辑接口,三层交换机的每个VLAN都能对应一个网关地址,数据包在设备内部就完成了路由,延迟低,配置也清爽。
2.2 三层交换机凭什么“能路由”
三层交换机本质上就是“二层交换机+路由模块”的集成体。它的SVI(Switch Virtual Interface,交换虚拟接口)也就是常说的VLANIF接口,可以理解成给某个VLAN配置了一个虚拟的三层网关。这个网关不仅能让该VLAN内的终端作为默认网关使用,还能参与路由协议、转发跨网段的数据包。
这里必须提一个容易混淆的概念:三层交换机虽然能做路由,但它最擅长的场景是“VLAN间路由”这种密集的南北向流量。对于互联网出口、跨园区的大规模路由,它通常还是会把流量甩给更专业的路由器或防火墙。我给很多刚入门的朋友说过一个类比:三层交换机相当于小区里的内部道路系统,能把各个楼栋(VLAN)之间高效连接;而园区出口路由器是小区大门,负责和外界打交道。两者各司其职,不要指望一个设备包打天下。
实验中配置VLANIF的格式很好记,比如要让VLAN 10的PC走网关192.168.10.254,就是在交换机上敲:
text复制interface Vlanif 10
ip address 192.168.10.254 255.255.255.0
配置完这一步,再把PC的网关指到这个地址,理论上VLAN 10和VLAN 20之间就能通了。但理论和实际之间,往往还隔着几个容易漏掉的细节,比如端口类型、Trunk放行、DHCP配置,这些我放在后面实操部分细说。
3. 综合实验整体设计与拓扑规划
3.1 实验目标与网络拓扑
我做这个实验没有用模拟器,而是直接拿了两台真实的华为S5700系列三层交换机、一台思科二层交换机和几台PC,搭了一个贴近实际机房的环境。拓扑设计是典型的“接入-汇聚”结构:
一台三层交换机作为核心汇聚设备,下接两台接入交换机;PC分别接在接入交换机上,划分到三个VLAN里。实验的目标是:
- VLAN 10(办公区):网段192.168.10.0/24
- VLAN 20(监控区):网段192.168.20.0/24
- VLAN 30(访客区):网段192.168.30.0/24
三个VLAN之间都能互相访问,并且所有PC都能通过核心三层交换机上的DHCP服务自动获取IP地址。
拓扑里我特意加入了两个容易踩坑的元素:一是接入交换机是二层设备,它必须通过Trunk口把VLAN信息传到核心交换机;二是DHCP服务放在核心交换机上,这台华为设备要么自己作为DHCP Server,要么在VLANIF接口上开启DHCP中继,把请求转发给真正的服务器。
3.2 地址规划表:先把一件事想清楚再动手
很多初学者拿到实验就是直接敲配置,敲到一半发现地址冲突、网关写错,才回头改。我自己的习惯是先在纸上把地址规划表列好,再动手配置。表格是这样的:
| 区域 | VLAN ID | 网段 | 网关(VLANIF) | DHCP地址池 |
|---|---|---|---|---|
| 办公区 | 10 | 192.168.10.0/24 | 192.168.10.254 | 192.168.10.100-192.168.10.200 |
| 监控区 | 20 | 192.168.20.0/24 | 192.168.20.254 | 192.168.20.100-192.168.20.200 |
| 访客区 | 30 | 192.168.30.0/24 | 192.168.30.254 | 192.168.30.100-192.168.30.200 |
这张表的价值有两层:一是它直接决定了交换机上的VLANIF配置,二是它让DHCP规划变得一目了然。比如VLAN 10的PC通过DHCP拿到地址后,它的默认网关就是192.168.10.254,而PC发出跨网段请求时,这个网关必须能响应ARP并做路由转发——如果VLANIF没配好,DHCP能拿到地址但ping不通别的网段,问题基本都出在网关这层。
3.3 为什么要专门把DHCP服务做进实验
搜“思科实验 dhcp、dhcp中继 三层交换机”的朋友应该知道,DHCP本身不难,难的是“跨网段下发地址”。在纯二层环境下,DHCP Discover报文是广播,只能在一个广播域里传播,所以每个VLAN都得单独放一台DHCP服务器或中继设备。而有了三层交换机,事情就可以统一起来:交换机直接给每个VLAN的PC发地址,或者做DHCP中继,把客户端的请求单播给远端服务器。
我在这个实验里把两种方式都做了对比,第一部分是核心交换机直接开启DHCP Server,给三个VLAN分别分配地址池;第二部分是模拟真实园区网场景,把DHCP Server放在单独一台服务器网段里,核心交换机通过DHCP中继把客户端的请求转发过去。两种方式能跑通,才算真正理解了DHCP在不同网段间工作的机制。
4. 核心配置实操:华为设备的详细步骤
4.1 接入交换机的基础配置:先解决VLAN划分
这次实验的接入层是两台思科二层交换机(或者华为S5700-LI,取决于手头设备),配置逻辑是一致的。说白了就是:在交换机上创建VLAN、把连接PC的端口设成Access并划分到对应VLAN、把上联核心的端口设成Trunk并放行所有VLAN。
以华为设备为例,接入交换机SW1的配置大概是这样的:
text复制system-view
sysname SW1
vlan batch 10 20
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/24
port link-type trunk
port trunk allow-pass vlan 10 20
这里我踩过一个比较典型的坑:如果Trunk口忘记设置 port trunk allow-pass vlan 10 20,上联口默认只放行VLAN 1,那么所有数据都到不了核心交换机。检查的时候光看端口状态是Up的,但PC就是不通。所以我在给初学者讲配置时,总会强调一句:端口物理通不代表逻辑通,VLAN放行是二层逻辑上最容易被忽略的一环。
4.2 核心三层交换机的路由配置:让VLAN之间有网关
核心交换机是整个实验的心脏。它需要完成的任务有四个:创建VLAN、配置VLANIF接口作为各网段的网关、开启DHCP服务、最后检查路由表。
华为S5700上核心的配置如下:
text复制system-view
sysname CoreSW
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.0
配置完这三条VLANIF,核心交换机已经成为一个具备路由能力的三层设备。你可以通过 display ip routing-table 查看路由表,会看到三个直连网段(Direct)都已经出现在路由表里。此时如果PC的网关都分别指向这三个VLANIF地址,理论上三个VLAN就已经可以互通了。
很多朋友在做实验时卡在这里:明明VLANIF配好了,PC网关也设了,为什么还是ping不通?这时候我建议先做三层检查,在核心交换机上直接ping对端网段的网关地址,如果通了,说明核心的路由和二层转发没问题,问题大概率出在接入交换机的Trunk放行或者PC的网关配置上。
4.3 搭建DHCP服务器:让终端自动获取地址
在核心交换机上直接配置DHCP Server,是华为设备上最方便的方式。配置分成两部分:全局启用DHCP、创建地址池并把地址池绑定到对应VLANIF接口。
text复制dhcp enable
ip pool pool_vlan10
network 192.168.10.0 mask 255.255.255.0
gateway-list 192.168.10.254
dns-list 114.114.114.114
excluded-ip-address 192.168.10.1 192.168.10.99
interface Vlanif10
dhcp select global
这里我建议把 excluded-ip-address 用上。如果不排除地址池中前面的IP,DHCP很可能会把网关地址或者服务器预留IP随意分配出去,造成冲突。我实验里排除的是1到99,确保动态分配的地址从100开始,和规划表保持一致。VLAN 20、30的地址池配置方式完全一样,只需把网段、网关、排除范围对应改掉即可。
如果你的环境里DHCP Server在独立服务器上,核心交换机要做中继,那么配置思路不同:
text复制interface Vlanif10
ip address 192.168.10.254 255.255.255.0
dhcp select relay
dhcp relay server-ip 192.168.100.10
中继的原理一句话能讲清楚:PC发广播DHCP请求,三层交换机收到后,把这个广播请求单播转发给指定的DHCP服务器,服务器回包再经交换机转给PC。实际做实验时,只要服务器和交换机之间路由能通,中继配置就会非常稳定。
4.4 验证结果:别只看“通了”,要有检查步骤
配置完成后,不能直接说“实验完成”。我习惯按顺序做以下验证:
- 在PC上执行ipconfig,确认获取到的IP地址、网关、DNS都在规划范围内。
- 在PC上ping同网段网关地址,验证二层链路和VLAN划分。
- 在PC上ping不同网段的PC地址,验证三层路由是否生效。
- 在核心交换机上执行
display dhcp server ip-in-use,查看地址池分配情况。 - 在核心交换机上执行
display ip routing-table,确认所有直连路由都在。
这五步做完,整个实验的闭环才算走完。尤其是第二和第三步,能快速定位问题是出在二层还是三层。
5. 用思科设备做一遍:命令差异对照
5.1 思科三层交换机的VLANIF配置
虽然实验主体我用的华为设备,但考虑到很多人学校实验室或者考试用的是思科,我专门用思科3560也做了一遍。思科里对应的“VLANIF”叫法略有不同,命令也有一点区别。以下是思科设备上的VLAN间路由配置:
text复制ip routing
vlan 10
name Office
vlan 20
name Monitor
vlan 30
name Guest
interface vlan 10
ip address 192.168.10.254 255.255.255.0
interface vlan 20
ip address 192.168.20.254 255.255.255.0
interface vlan 30
ip address 192.168.30.254 255.255.255.0
注意第一行 ip routing,这个是思科三层交换机开启三层路由功能的开关,华为设备默认就支持,不需要额外开启。这是两厂商之间最容易忽略的差异,很多人按华为的习惯配置思科,结果发现VLANIF配了但路由表里不出现直连路由,就是因为没敲这一条。
5.2 思科设备的DHCP与中继配置
思科设备上配置DHCP地址池,用的是ip dhcp pool命令:
text复制service dhcp
ip dhcp excluded-address 192.168.10.1 192.168.10.99
ip dhcp pool pool_vlan10
network 192.168.10.0 255.255.255.0
default-router 192.168.10.254
dns-server 114.114.114.114
DHCP中继的配置方式也类似:
text复制interface vlan 10
ip helper-address 192.168.100.10
ip helper-address这个概念在思科里很经典,它会把接口收到的DHCP广播请求转化为单播,转发给指定的DHCP服务器。我在实验中特意对比了华为的dhcp relay server-ip和思科的ip helper-address,本质完全一样,但初学的人一换设备就懵,所以我把两个版本的配置都贴在笔记里,方便以后工作遇到不同厂商设备时直接对照。
6. 登录认证方式:三层交换机远程管理的那些细节
6.1 华为三层交换机支持的登录认证方式
搜“华为三层交换机登录认证方式有哪些”的人,大多是想把交换机配置成支持远程登录,方便管理。三层交换机常见的登录方式有Console、Telnet、SSH、Web登录四种,每种方式的安全级别和使用场景不一样。
Console口登录是本地管理方式,只需要一根串口线连接电脑,不依赖网络,适合初始配置和故障排查。Telnet是早期远程管理的常用方式,但所有数据包括密码都是明文传输,在真实环境里我几乎不用它。SSH是目前远程管理最主流的方式,加密传输,安全性有保障。Web登录适合图形化界面管理,华为的Web网管功能对新手比较友好,但不适合批量配置。
6.2 配置SSH登录的完整过程
我这里给出华为设备开启SSH的完整配置思路:
text复制system-view
rsa local-key-pair create
stelnet server enable
ssh user admin
ssh user admin authentication-type password
ssh user admin service-type stelnet
user-interface vty 0 4
authentication-mode aaa
protocol inbound ssh
aaa
local-user admin password cipher Admin@123
local-user admin privilege level 15
local-user admin service-type ssh
配置好之后,就可以通过SSH客户端远程登录交换机做管理了。注意几个细节:rsa local-key-pair create是生成RSA密钥对,必须在启用SSH之前执行;protocol inbound ssh表示VTY只允许SSH接入,Telnet会被拒绝;privilege level 15是华为里的最高权限等级,对应思科的privilege 15。
我在很多实验中发现,学生配置完SSH后连接失败,最常见的原因就是忘记把VTY的登录协议从默认的Telnet改成SSH。这个细节如果你不专门记下来,很难一次排到。
7. 实操中的常见问题与排查技巧
7.1 现象:跨VLAN能ping通网关,但ping不通对端PC
这种情况我在实验里遇到过好几次,原因是PC的防火墙拦截了ICMP请求。Windows系统默认开启防火墙,会拦截来自其他网段的ping包。解决办法有几种:临时关闭防火墙、在防火墙高级设置里放行“文件和打印机共享(回显请求-ICMPv4-In)”,或者在测试时直接用两台Linux终端。
当然这里也要排查一种可能性:如果两台PC都在同一个接入交换机下,Trunk口如果没有放行对应VLAN,也会造成类似现象。排查方法是在核心交换机上看ARP表项,如果只有网关条目而看不到对端PC的IP-MAC对应关系,说明二层链路大概率有问题。
7.2 现象:DHCP能获取地址,但地址不在规划网段内
这是DHCP配置里一个很隐蔽的坑。华为设备上如果地址池比较多,容易把network后面的网段填错,或者多个地址池的网段重叠。另外如果接口配置的是dhcp select global,地址池选择逻辑是按接口IP所属网段自动匹配的。如果VLANIF的IP地址和地址池network不在同一网段,DHCP就无法正常分配。
我排查这类问题时,最常用的一条命令是:
text复制display dhcp server conflict
这条命令能看到冲突的IP地址列表。一旦发现冲突,通常就是地址池里包含了网关IP或服务器预留IP,用excluded-ip-address排除后重启接口或删除租约即可。
7.3 现象:静态路由配置了但ping不通
三层交换机综合实验一般不需要配置静态路由,因为VLANIF都是直连路由。但在扩展实验中,如果你把三层交换机接到一台路由器或者上级核心,可能就需要静态路由来保证回程路径明确。
比如核心交换机的上行网段是192.168.100.0/24,要访问更远端的10.10.0.0/16网段,就要写:
text复制ip route-static 10.10.0.0 16 192.168.100.254
这种场景下最容易出的问题是“有去无回”——你ping远端地址时,数据包到了对方,但对方不知道回程路径,没有写回来的路由。所以在排查路由问题时,不但要查本端路由表,还要查对端路由表,两边都通才真正通。
这个经验在很多实验里都适用:网络通信从来不是单方面的事,路由要双向可达,才能建立连接。
7.4 常用排查命令速查表
| 场景 | 华为命令 | 思科命令 |
|---|---|---|
| 查看VLAN信息 | display vlan | show vlan brief |
| 查看Trunk端口状态 | display port trunk | show interfaces trunk |
| 查看路由表 | display ip routing-table | show ip route |
| 查看ARP表 | display arp | show arp |
| 查看DHCP分配情况 | display dhcp server ip-in-use | show ip dhcp binding |
| 查看DHCP冲突 | display dhcp server conflict | show ip dhcp conflict |
| 测试连通性 | ping / tracert | ping / traceroute |
这张表我建议直接收藏,考试和工作里都会频繁用到。用熟了之后,遇到问题基本能在一分钟内定位是二层问题还是三层问题。
8. 我对这个实验的几点实际体会
三层交换机综合实验看起来只是一个教学实验,但它的内容覆盖了VLAN、路由、DHCP、远程管理、设备互联等大量真实网络工程的日常操作。做完这个实验后,我对“网络是分层的”这句话有了更具体的理解:二层管的是数据帧的转发,三层管的是数据包的路由,而三层交换机正好站在两者的交汇点上。
还有一点感受比较深:做实验不是把命令敲完就算完。我见过很多同学照着指导书敲完全部命令,在PC上ping通了就关掉实验,但实际上对配置的每一行都说不清为什么。等到真正在工作中遇到问题,就只能靠试错,效率极低。如果你正在做这个实验,建议你每配完一条命令,就主动思考一下“这条命令删掉会怎样”,多做几次破坏性测试,多查看路由表、ARP表、DHCP绑定性,你会发现这些表项才是网络设备真正的“工作痕迹”,比干背命令有价值得多。
最后分享一个小技巧:实验做完后,可以把华为的配置文件导出备份,然后删除配置让设备恢复出厂状态,再用思科设备把同样的拓扑重做一遍。两个平台的命令差异会逼着你去理解配置背后的逻辑,而不仅仅是记命令。这样练过一遍之后,不管以后在什么厂商的设备上做配置,你都能很快上手。
