2.5 华为实现VLAN间通信

摘要
通过本实验,你将学习使用不同方案实现VLAN之间的通信。

在网络中,不同VLAN之间默认是无法直接通信的,这是VLAN技术的安全特性之一。要实现不同VLAN之间的通信,我们需要借助路由器。多端口路由是最直观的一种实现方式,即路由器使用多个物理接口分别连接到不同的VLAN。

按照下图建立网络拓扑结构:

网络拓扑图

连接说明

路由器使用“Router”,交换机使用“S3700”

请特别注意 R1 路由器和 LSW1 交换机之间的连线:

  • R1 的 G0/0/0 接口连接到 LSW1 的 G0/0/1 接口
  • R1 的 G0/0/1 接口连接到 LSW1 的 G0/0/2 接口
  • R1 的 G0/0/2 接口连接到 LSW1 的 Eth0/0/5 接口

为各个PC配置IP地址、子网掩码和默认网关:

PC IP地址 子网掩码 网关
PC1 192.1.2.1 255.255.255.0 192.1.2.254
PC2 192.1.2.2 255.255.255.0 192.1.2.254
PC3 192.1.3.1 255.255.255.0 192.1.3.254
PC4 192.1.4.1 255.255.255.0 192.1.4.254
IP地址规划
注意观察IP地址的规划:同一VLAN内的PC使用相同的网段,不同VLAN使用不同的网段。网关地址通常设置为该网段的最后一个可用地址。

首先打开交换机,关闭信息中心后创建3个VLAN:

text

vlan batch 2 3 4

按照拓扑图给端口划分VLAN(所有端口都配置为Access模式),另外将与路由器相连的三个端口,分别划分给VLAN 2、3、4。

以VLAN 2的端口划分为例:

text

# 连接PC1和PC2的端口
interface ethernet 0/0/1
port link-type access
port default vlan 2
quit

interface ethernet 0/0/2
port link-type access
port default vlan 2
quit

# 连接路由器的端口
interface gigabitethernet 0/0/1
port link-type access
port default vlan 2
quit

验证VLAN配置结果:

VLAN配置验证

配置完成后,我们需要验证同一VLAN内的设备可以通信,而不同VLAN之间的设备无法通信:

  • PC1与PC2(同属VLAN 2):✅ 可以通信
  • PC1与PC3(分属VLAN 2和VLAN 3):❌ 无法通信
  • PC1与PC4(分属VLAN 2和VLAN 4):❌ 无法通信
  • PC3与PC4(分属VLAN 3和VLAN 4):❌ 无法通信
验证方法

可以通过在PC上使用ping命令来验证连通性:

text

ping 192.1.2.2  # 从PC1 ping PC2
ping 192.1.3.1  # 从PC1 ping PC3

为路由器的各个接口配置IP地址,使其成为各个VLAN的网关:

接口 IP地址 子网掩码 备注
g0/0/0 192.1.2.254 255.255.255.0 交换机上对应的接口属于VLAN 2
g0/0/1 192.1.3.254 255.255.255.0 交换机上对应的接口属于VLAN 3
g0/0/2 192.1.4.254 255.255.255.0 交换机上对应的接口属于VLAN 4
接口对应
请根据你的实际接口连接情况进行配置!确保路由器接口的IP地址与对应VLAN的网关地址一致。

路由器配置示例:

路由器配置

首先查看路由器的路由表,确认路由器已经学习到了所有直连网段:

路由表

然后检查不同VLAN之间PC的通信情况:

  • PC1与PC3(分属VLAN 2和VLAN 3):✅ 可以通信
  • PC1与PC4(分属VLAN 2和VLAN 4):✅ 可以通信
  • PC3与PC4(分属VLAN 3和VLAN 4):✅ 可以通信
实验成功
如果以上测试都成功,说明我们已经成功实现了通过多端口路由的方式让不同VLAN之间进行通信。
工作原理

多端口路由实现VLAN间通信的原理是:

  1. 每个VLAN对应一个独立的IP子网
  2. 路由器的不同物理接口分别连接到不同的VLAN
  3. 路由器接口配置为对应VLAN的网关地址
  4. 当数据包需要跨VLAN通信时,会先发送到默认网关(路由器),然后由路由器根据路由表转发到目标VLAN

这种方式直观易懂,但在VLAN数量较多时,需要路由器有足够多的物理接口,不够灵活。

单臂路由(Router-on-a-Stick)是一种只使用路由器的一个物理接口就能实现多个VLAN间通信的技术。它通过在路由器的物理接口上配置多个子接口,每个子接口对应一个VLAN,从而实现VLAN间的路由功能。

在多端口路由实验的基础上,我们需要删除多余的连接线,只保留一条路由器到交换机的连接:

网络拓扑图

拓扑变化
与多端口路由相比,单臂路由只需要一条物理链路连接路由器和交换机,大大节省了接口资源。

进入路由器,删除所有接口的IP配置。以删除G0/0/0接口的IP配置为例:

删除接口IP配置

text

system-view
interface g0/0/0
undo ip address
quit

验证接口配置已被清除:

text

display ip interface brief
# 可缩写为 dis ip int br

验证IP已删除

重要步骤

请重复上述步骤,删除所有接口的IP配置。这一步非常重要,因为我们将采用新的方式配置接口。

删除完成后,通过以下命令检查,所有接口都没有分配 IP 地址:

text

display ip interface brief # 查看接口信息

接口信息

由于物理连接发生了变化,我们需要删除交换机上不再使用的接口配置。以 Eth0/0/5 为例:

text

system-view
interface eth0/0/5
undo port default vlan
undo port link-type
quit

清除配置后的结果:

清除后的交换机配置

引用
检查 VLAN 2 3 4 均只有和 PC 相连的接入端口。
配置清理
在网络配置变更时,清理不再使用的配置是一个好习惯,可以避免潜在的配置冲突和排障困难。

单臂路由的核心是在路由器的一个物理接口上配置多个子接口,每个子接口对应一个VLAN。在系统视图下执行以下命令:

text

# 配置子接口 g0/0/0.1 对应VLAN 2
interface g0/0/0.1
vlan-type dot1q 2
ip address 192.1.1.254 255.255.255.0
quit

# 配置子接口 g0/0/0.2 对应VLAN 3
interface g0/0/0.2 
vlan-type dot1q 3  
ip address 192.1.2.254 255.255.255.0  
quit

# 配置子接口 g0/0/0.3 对应VLAN 4
interface g0/0/0.3 
vlan-type dot1q 4 
ip address 192.1.3.254 255.255.255.0 
quit
子接口说明
  • 子接口编号(如.1、.2、.3)可以自定义,但通常与VLAN编号保持某种对应关系以便管理
  • vlan-type dot1q 命令指定了802.1Q封装类型,用于识别不同VLAN的标签
  • 每个子接口的IP地址将作为对应VLAN的网关地址

验证配置是否正确:

text

display ip interface brief
# 可缩写为:
dis ip int br

子接口配置验证

为了让交换机能够将带有不同VLAN标签的数据包传输到路由器,我们需要将连接路由器的交换机端口配置为Trunk模式(共享端口)

text

system-view
interface g0/0/1
port link-type trunk
port trunk allow-pass vlan 2 3 4
quit
Trunk端口作用
在单臂路由中,交换机通过Trunk端口将带有VLAN标签的数据包发送给路由器,路由器的子接口根据VLAN标签识别并处理来自不同VLAN的数据包。

验证Trunk端口配置:

Trunk端口配置验证

通过查看路由表,确认路由器已经学习到了所有直连网段:

text

display ip routing-table 

路由表验证

验证不同VLAN之间的PC是否可以相互通信:

  • PC0与PC1(可能属于同一VLAN):✅ 可以通信
  • PC0与PC2(属于不同VLAN):✅ 可以通信
  • PC0与PC3(属于不同VLAN):✅ 可以通信
实验成功
如果以上测试都成功,说明我们已经成功实现了通过单臂路由的方式让不同VLAN之间进行通信。
工作原理

单臂路由实现VLAN间通信的原理是:

  1. 在路由器的一个物理接口上配置多个子接口(逻辑接口),每个子接口对应一个VLAN
  2. 每个子接口配置为对应VLAN的网关地址
  3. 交换机和路由器之间的连接配置为Trunk模式,允许多个VLAN的数据通过
  4. 当数据包需要跨VLAN通信时,会先发送到默认网关(路由器子接口),然后由路由器根据路由表转发到目标VLAN

与多端口路由相比,单臂路由的优点是节省物理接口资源,配置更加灵活;缺点是所有VLAN的流量都共享一条物理链路,可能会造成带宽瓶颈。

在本实验中,我们将使用两种型号的交换机:接入层使用S3700交换机,核心层使用S5700三层交换机。

网络拓扑图

技巧
S5700是一款三层交换机,它具备VLAN间路由功能,可以直接在设备内部实现不同VLAN之间的通信,无需额外的路由器。

在开始配置前,我们需要在各个交换机上创建VLAN并将端口分配到相应的VLAN中。

text

# 创建VLAN 2和VLAN 3
vlan batch 2 3

#
interface  eth0/0/1
port link-type access
port default vlan 2

# 配置上行链路为trunk模式,允许VLAN 2和3通过
interface g0/0/1
port link-type trunk
port trunk allow-pass vlan 2 3

text

# 创建VLAN 2和VLAN 3
vlan batch 2 3

# 配置第一个接入端口,使用VLAN 2
interface eth0/0/1
port link-type access
port default vlan 2

# 配置第二个接入端口,使用VLAN 3
interface eth0/0/2
port link-type access
port default vlan 3

# 配置上行链路为trunk模式,允许VLAN 2和3通过
interface g0/0/1
port link-type trunk
port trunk allow-pass vlan 2 3

text

# 创建VLAN 2和VLAN 3
vlan batch 2 3

# 配置两个下行链路为trunk模式,允许VLAN 2和3通过
interface g0/0/1
port link-type trunk
port trunk allow-pass vlan 2 3

interface g0/0/2
port link-type trunk
port trunk allow-pass vlan 2 3
PC IP地址 子网掩码 默认网关
PC1 192.1.2.1 255.255.255.0 192.1.2.254
PC2 192.1.2.2 255.255.255.0 192.1.2.254
PC3 192.1.3.1 255.255.255.0 192.1.3.254
注意
注意观察VLAN的划分:PC0和PC1属于VLAN 2/192.1.2.0网段,PC2属于VLAN 3/192.1.3.0网段。不同VLAN使用不同的网段和网关地址。

在配置VLAN后,但在配置三层交换机路由功能前,先验证VLAN内部的连通性:

PC1 与 PC2 ✅(同属VLAN 2)
PC1 与 PC3 ❌(分属VLAN 2和VLAN 3)
PC2 与 PC3 ❌(分属VLAN 2和VLAN 3)

初步结论
此时相同VLAN内的设备可以相互通信,但不同VLAN间的设备无法通信。这是因为我们还没有配置VLAN间路由功能。

接下来在三层交换机(LSW3)上配置虚拟接口(VLANIF),为每个VLAN分配网关IP地址:

text

# 创建VLAN 2的虚拟接口并分配IP地址
interface vlanif 2
ip address 192.1.2.254 24
quit

# 创建VLAN 3的虚拟接口并分配IP地址
interface vlanif 3
ip address 192.1.3.254 24
quit

# 注意:华为三层交换机默认已启用IP路由功能,无需额外配置
VLANIF接口说明
VLANIF接口是三层交换机上的虚拟接口,它代表一个VLAN的网关。通过配置VLANIF接口,三层交换机可以在不同VLAN之间进行路由。每个VLANIF接口都需要配置对应VLAN的网关IP地址。

验证接口IP配置情况:

text

display ip interface brief

接口IP配置

验证路由表:

text

display ip routing-table

路由表信息

路由表解读
从路由表中可以看到,192.1.2.0/24和192.1.3.0/24两个网段都已经在路由表中,并且是直连路由(Direct)。这意味着三层交换机可以直接转发这两个网段之间的数据包。

完成所有配置后,再次测试各PC之间的连通性:

PC1 与 PC2 ✅(同属VLAN 2)
PC1 与 PC3 ✅(分属VLAN 2和VLAN 3,通过三层交换机路由)
PC2 与 PC3 ✅(分属VLAN 2和VLAN 3,通过三层交换机路由)

最终结论
配置三层交换机的VLANIF接口后,不同VLAN之间的设备可以成功通信。这证明三层交换机成功实现了VLAN间路由功能,无需额外的路由器设备。
工作原理
  1. 当PC1(VLAN 2)向PC2(VLAN 3)发送数据时,数据包首先发往默认网关192.1.2.254
  2. 三层交换机收到数据包后,查询路由表,发现目标网段192.1.3.0/24是直连的
  3. 数据包通过三层交换机的内部路由转发到VLANIF 3接口
  4. 最后,数据包从VLANIF 3发送到PC2

相关内容