如何实现不同VLAN间互通?

时间:2024-10-10 07:24:52

问题描述

客户要求不同VLAN的PC机互通,如下图拓扑所示。

此外,仅允许在设备 LSW3 上进行配置修改。

分析

由于所有的PC都在同一个网段,当任何一个设备想要和另一个设备通信时,它会首先根据数据交互的流程广播一个ARP请求报文来获取目的设备的MAC地址。

但是,由于 PC 都在不同的 VLAN 中,这会导致广播 ARP 请求消息无法转发到相应的目标设备。

也就是说,要解决这个问题,我们需要解决如何将一个VLAN的ARP请求报文桥接到另一个VLAN。

然而,首先想到的是路由 ARP 代理,因为 PC1 到 PC4 的 IP 地址分别为 10.1.1.1/24
10.1.1.2/24
10.1.1.3/24
 和 10.1.1.4/24
,不可能为每台 PC 配置四个不同的 IP 网关。

还有另一种技术:VLAN 聚合,它涉及多个 VLAN,需要不同 VLAN 之间的通信。

在 VLAN 聚合中,它定义了 super-VLAN 和 sub-VLAN。我们可以在super-VLAN下配置VLAN间ARP代理,代理不同子VLAN之间的ARP请求。

配置

  1. 在LSW3上创建VLAN 2、3、4、5、10,并将接口VLANif 10的IP地址设置为10.1.1.10/24。

  1. 将LSW3的接口G0/0/1配置为Trunk接口,允许VLAN 2、3、4通过。

  1. 将LSW3上的接口G0/0/2配置为接入端口,默认VLAN为5。

  1. 在 LSW3 上配置 VLAN 聚合。配置VLAN 10为super-VLAN,VLAN 2、3、4、5为sub-VLAN。

  1. 在 R1 上测试,它可以互连所有其他 PC。

在 LSW1 和 LSW3 之间的链路上捕获的数据包(下图)显示 LSW3 响应了来自 PC1 的 ARP 请求。

  • PC1广播ARP请求包,请求MAC地址10.1.1.2。

  • LSW3代理PC1请求MAC地址10.1.1.2。

  • PC2 应答 LSW3 的 ARP 请求包。

  • 由于 PC1 没有得到 10.1.1.2 的 ARP 响应,它向 10.1.1.2 发起另一个 ARP 请求,LSW3 响应这个 ARP 响应。

  • 另一方面,LSW3 将回答来自 PC2 的 ARP 请求。

  • 之后,PC1和PC2之间的互通成功。