vlan之间的互通
要实现 VLAN 10(192.168.150.0/24)、VLAN 100(192.168.100.0/24)、VLAN 200(192.168.200.0/24) 之间的互联互通,核心原理是:二层交换机仅负责 VLAN 内流量转发,跨 VLAN 流量需通过三层设备(核心交换机)的 “VLAN 间路由” 功能转发(依赖核心交换机的三层路由能力,主流思科核心交换机均支持)。
前提条件
- 核心交换机需支持 三层路由功能(如思科 Catalyst 3650/3850/9300 等,默认已开启三层转发,部分旧型号需手动开启
ip routing
)。 - 核心交换机与二层交换机之间的链路需配置为 Trunk 模式(允许所有 VLAN 的流量透传)。
- 所有终端需正确配置 网关(网关为对应 VLAN 在核心交换机上的 “虚拟接口 IP”)。
完整配置步骤(分设备操作)
第一步:配置二层交换机(连接 4 台终端)
二层交换机的核心任务:①创建 VLAN;②将终端接口设为 Access 模式并划入对应 VLAN;③将上联核心的接口设为 Trunk 模式。
-
进入全局配置模式
Switch> enable # 进入特权模式 Switch# configure terminal # 进入全局配置模式 Switch(config)# hostname L2-Switch # 重命名(方便区分)
-
创建所需 VLAN(需与核心交换机一致)
L2-Switch(config)# vlan 10 L2-Switch(config-vlan)# name VLAN10-150 L2-Switch(config-vlan)# exitL2-Switch(config)# vlan 100 L2-Switch(config-vlan)# name VLAN100-100 L2-Switch(config-vlan)# exitL2-Switch(config)# vlan 200 L2-Switch(config-vlan)# name VLAN200-200 L2-Switch(config-vlan)# exit
-
配置终端接口为 Access 模式(划入对应 VLAN)
假设二层交换机连接终端的接口如下(需根据实际接线调整接口编号,如 FastEthernet0/1~0/4):
- 终端 1(192.168.150.2)→ 接口 Fa0/1 → VLAN10
- 终端 2(192.168.150.3)→ 接口 Fa0/2 → VLAN10
- 终端 3(192.168.100.2)→ 接口 Fa0/3 → VLAN100
- 终端 4(192.168.200.2)→ 接口 Fa0/4 → VLAN200(注:原需求 “终端 1 重复”,此处修正为终端 4)
配置命令(以 Fa0/1 为例,其他接口同理)
# 配置终端1的接口(Fa0/1) L2-Switch(config)# interface FastEthernet0/1 L2-Switch(config-if)# switchport mode access # 强制为Access模式 L2-Switch(config-if)# switchport access vlan 10 # 划入VLAN10 L2-Switch(config-if)# no shutdown # 启用接口 L2-Switch(config-if)# exit# 配置终端2的接口(Fa0/2) L2-Switch(config)# interface FastEthernet0/2 L2-Switch(config-if)# switchport mode access L2-Switch(config-if)# switchport access vlan 10 L2-Switch(config-if)# no shutdown L2-Switch(config-if)# exit# 配置终端3的接口(Fa0/3) L2-Switch(config)# interface FastEthernet0/3 L2-Switch(config-if)# switchport mode access L2-Switch(config-if)# switchport access vlan 100 L2-Switch(config-if)# no shutdown L2-Switch(config-if)# exit# 配置终端4的接口(Fa0/4) L2-Switch(config)# interface FastEthernet0/4 L2-Switch(config-if)# switchport mode access L2-Switch(config-if)# switchport access vlan 200 L2-Switch(config-if)# no shutdown L2-Switch(config-if)# exit
-
配置上联核心的接口为 Trunk 模式(允许所有 VLAN 透传)
假设二层交换机上联核心的接口为 GigabitEthernet0/1(核心侧对应接口需同样配置 Trunk):
Core-Switch(config-if)# switchport trunk encapsulation dot1q # 指定为802.1Q封装(不一定需要这句) Core-Switch(config-if)# switchport mode trunk # 此时即可成功配置 Core-Switch(config-if)# switchport trunk allowed vlan 10,100,200 # 允许指定VLAN透传 Core-Switch(config-if)# no shutdown # 确保接口启用
第二步:配置核心交换机(实现 VLAN 间路由)
核心交换机的核心任务:①创建相同 VLAN;②将下联二层的接口设为 Trunk;③为每个 VLAN 创建 SVI(交换虚拟接口) 并配置 IP(作为终端的网关);④开启三层路由功能(部分型号默认开启)。
-
进入全局配置模式
Switch> enable Switch# configure terminal Switch(config)# hostname Core-Switch # 重命名
-
创建与二层交换机一致的 VLAN
Core-Switch(config)# vlan 10 Core-Switch(config-vlan)# name VLAN10-150 Core-Switch(config-vlan)# exitCore-Switch(config)# vlan 100 Core-Switch(config-vlan)# name VLAN100-100 Core-Switch(config-vlan)# exitCore-Switch(config)# vlan 200 Core-Switch(config-vlan)# name VLAN200-200 Core-Switch(config-vlan)# exit
-
配置下联二层的接口为 Trunk 模式
假设核心交换机下联二层的接口为 GigabitEthernet0/2(需与二层交换机上联接口对应):
Core-Switch(config)# interface GigabitEthernet0/2 Core-Switch(config-if)# switchport trunk encapsulation dot1q # 指定为802.1Q封装(不一定需要这句) Core-Switch(config-if)# switchport mode trunk Core-Switch(config-if)# switchport trunk allowed vlan 10,100,200 # 与二层一致 Core-Switch(config-if)# no shutdown Core-Switch(config-if)# exit
-
为每个 VLAN 创建 SVI 并配置网关 IP
SVI 是核心交换机上 “代表 VLAN 的三层接口”,其 IP 即为对应 VLAN 终端的网关(需与终端网段同网段):
# 配置VLAN10的SVI(网关:192.168.150.1/24) Core-Switch(config)# interface Vlan10 # 进入VLAN10的SVI接口 Core-Switch(config-if)# ip address 192.168.150.1 255.255.255.0 # 配置网关IP Core-Switch(config-if)# no shutdown # 启用SVI(必须开启,否则无法转发) Core-Switch(config-if)# exit# 配置VLAN100的SVI(网关:192.168.100.1/24) Core-Switch(config)# interface Vlan100 Core-Switch(config-if)# ip address 192.168.100.1 255.255.255.0 Core-Switch(config-if)# no shutdown Core-Switch(config-if)# exit# 配置VLAN200的SVI(网关:192.168.200.1/24) Core-Switch(config)# interface Vlan200 Core-Switch(config-if)# ip address 192.168.200.1 255.255.255.0 Core-Switch(config-if)# no shutdown Core-Switch(config-if)# exit
-
开启三层路由功能(关键!部分旧型号默认关闭)
Core-Switch(config)# ip routing # 启用IP路由(允许跨网段转发)
第三步:配置终端的网关(必做!)
所有终端需手动配置 网关地址(指向对应 VLAN 的 SVI IP),否则无法跨 VLAN 通信:
- 终端 1/2(VLAN10,192.168.150.x):网关 → 192.168.150.1
- 终端 3(VLAN100,192.168.100.x):网关 → 192.168.100.1
- 终端 4(VLAN200,192.168.200.x):网关 → 192.168.200.1
常见问题排查
- 跨 VLAN ping 不通?
- 检查终端网关是否配置正确(最常见原因)。
- 检查核心交换机 SVI 是否
no shutdown
(执行show ip interface brief
查看 SVI 状态是否为up/up
)。 - 检查 Trunk 链路是否正常(执行
show interfaces trunk
确认 VLAN 10/100/200 在 Trunk 允许列表中)。
- 核心交换机没有 Vlan 接口?
- 确认核心交换机支持三层功能(纯二层核心需额外接路由器实现 VLAN 间路由,不推荐)。
- 部分旧型号需先开启 “三层接口模式”(如
switchport nonegotiate
,但主流型号无需此操作)。
常用命令
- show vlan # 显示更详细的 VLAN 信息(包括 VLAN 类型、MTU、所属接口等)
- show vlan brief # 显示 VLAN 的简要信息(包括 VLAN ID、名称、状态和所属端口)
- show ip interface brief # 快速列出所有接口状态(辅助确认接口名称)- show interfaces switchport # 列出所有接口的详细交换配置(包含模式)
- Switch# show interfaces GigabitEthernet0/1 switchport # 列出某个接口的详细交换配置(包含模式)