前置:

为了解决传统以太网的问题,我们使用VLAN技术来进一步的分割广播域,致使不同VLAN间无法进行访问,但是这样的设计也有一些不足。比如说:在实际业务中,不同部门或功能组需要相互访问资源和数据。例如,销售部门可能需要访问财务部门的报表系统。VLAN间通信可以实现这些业务需求,而不必将所有设备都放在一个VLAN中。在一些企业应用场景中,多个应用需要跨VLAN通信。例如,在数据中心中,存储设备、应用服务器和管理系统可能分别在不同的VLAN中,但它们需要进行数据交换。那么这样我们就会涉及到一个要学的新技术,叫VLAN间的通信。

如何实现VLAN间的通信:

  • 使用路由器物理接口实现(只讲一下缺点,不详细讲配置方法)
  • 使用路由器子接口实现
  • 使用三层交换机的vlanif技术实现

使用路由器物理接口实现:

缺点:(摘自上课笔记)

  1. 硬件资源消耗:每个VLAN需要一个单独的物理接口,这会消耗大量的路由器接口。
  2. 成本高:为了支持多个物理接口,你可能需要更昂贵的路由器或额外的接口模块。
  3. 维护复杂:每个物理接口需要单独配置和维护,这可能会增加配置和管理的复杂性。
  4. 扩展性差:当网络规模扩大时,增加新的VLAN会需要更多的物理接口。这种方法不够灵活,扩展时需要更多的硬件支持。
  5. 不便于管理:每个物理接口对应一个VLAN,管理这些接口可能会导致管理上的困难。特别是在需要频繁调整VLAN设置时,物理接口的管理可能会成为瓶颈。

使用路由器子接口实现:

首先先展示一下拓扑图:
使用路由器子接口实现vlan间通信
在拓扑图中,我以vlan 10 和vlan 20做演示,pc1和pc2的ip地址分别为192.168.10.2/24和192.168.20.2/24,pc1和s5700中的GE0/0/1相连,pc2和s5700中的GE0/0/2相连,s5700的GE0/0/24和AR2220的GE0/0/0相连。(和图片对应接口有出入)
在s5700交换机中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<Huawei>sys # 进入系统视图模式
[Huawei]sys LSW1 # 将设备命名为LSW1
[LSW1]vlan batch 10 20 # 批量创建VLAN 10和VLAN 20
[LSW1]int g0/0/1 # 进入千兆以太网接口0/0/1的配置模式
[LSW1-GigabitEthernet0/0/1]port link-type access # 设置端口为接入模式
[LSW1-GigabitEthernet0/0/1]port default vlan 10 # 将端口默认VLAN设置为10
[LSW1-GigabitEthernet0/0/1]q # 退出当前接口配置模式
[LSW1]int g0/0/2 # 进入千兆以太网接口0/0/2的配置模式
[LSW1-GigabitEthernet0/0/2]port link-type access # 设置端口为接入模式
[LSW1-GigabitEthernet0/0/2]port default vlan 20 # 将端口默认VLAN设置为20
[LSW1-GigabitEthernet0/0/2]q # 退出当前接口配置模式
[LSW1]int g0/0/24 # 进入千兆以太网接口0/0/24的配置模式
[LSW1-GigabitEthernet0/0/24]port link-type trunk # 设置端口为中继模式
[LSW1-GigabitEthernet0/0/24]port trunk allow-pass vlan 10 20 # 允许VLAN 10和20通过trunk端口
[LSW1-GigabitEthernet0/0/24]q # 退出当前接口配置模式

在AR2220路由器中

1
2
3
4
5
6
7
8
9
10
11
12
<Huawei>sys # 进入系统视图模式
[Huawei]sys AR1 # 将设备命名为AR1
[AR1]int g0/0/0.10 # 创建并进入子接口GigabitEthernet0/0/0.10
[AR1-GigabitEthernet0/0/0.10]dot1q termination vid 10 # 设置子接口终结VLAN 10的标签
[AR1-GigabitEthernet0/0/0.10]ip address 192.168.10.254 24 # 配置IP地址192.168.10.254,子网掩码24位(255.255.255.0)
[AR1-GigabitEthernet0/0/0.10]arp broadcast enable # 启用ARP广播功能
[AR1-GigabitEthernet0/0/0.10]q # 退出子接口配置模式
[AR1]int g0/0/0.20 # 创建并进入子接口GigabitEthernet0/0/0.20
[AR1-GigabitEthernet0/0/0.20]dot1q termination vid 20 # 设置子接口终结VLAN 20的标签
[AR1-GigabitEthernet0/0/0.20]ip address 192.168.20.254 24 # 配置IP地址192.168.20.254,子网掩码24位
[AR1-GigabitEthernet0/0/0.20]arp broadcast enable # 启用ARP广播功能
[AR1-GigabitEthernet0/0/0.20]q # 退出子接口配置模式

使用三层交换机的vlanif技术实现:

首先展示一下拓扑图:
使用三层交换机的vlanif技术实现
在拓扑图中,我以vlan 10 和vlan 20做演示,pc1和pc2的ip地址分别为192.168.10.2/24和192.168.20.2/24,pc1和s5700中的GE0/0/1相连,pc2和s5700中的GE0/0/2相连。
在s5700交换机中:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<Huawei>sys # 进入系统视图模式
[Huawei]sys LSW1 # 将设备命名为LSW1
[LSW1]vlan batch 10 20 # 批量创建VLAN 10和VLAN 20
[LSW1]int g0/0/1 # 进入千兆以太网接口0/0/1的配置模式
[LSW1-GigabitEthernet0/0/1]port link-type access # 设置端口为接入模式
[LSW1-GigabitEthernet0/0/1]port default vlan 10 # 将端口默认VLAN设置为10
[LSW1-GigabitEthernet0/0/1]q # 退出当前接口配置模式
[LSW1]int g0/0/2 # 进入千兆以太网接口0/0/2的配置模式
[LSW1-GigabitEthernet0/0/2]port link-type access # 设置端口为接入模式
[LSW1-GigabitEthernet0/0/2]port default vlan 20 # 将端口默认VLAN设置为20
[LSW1-GigabitEthernet0/0/2]q # 退出当前接口配置模式
[LSW1]int vlanif 10 # 创建并进入VLANIF 10接口(三层虚拟接口)
[LSW1-Vlanif10]ip address 192.168.10.254 24 # 为VLAN 10配置网关IP地址192.168.10.254/24
[LSW1-Vlanif10]q # 退出VLANIF接口配置模式
[LSW1]int vlanif 20 # 创建并进入VLANIF 20接口(三层虚拟接口)
[LSW1-Vlanif20]ip address 192.168.20.254 24 # 为VLAN 20配置网关IP地址192.168.20.254/24
[LSW1-Vlanif20]q # 退出VLANIF接口配置模式

与之使用路由器子接口的主要区别:

  • 三层交换机功能:S5700是三层交换机,可以直接在交换机上实现VLAN间路由
  • VLANIF接口:使用vlanif虚拟接口作为各VLAN的网关,替代了路由器的单臂路由功能
  • 集成化设计:在单一设备上同时完成二层交换和三层路由功能

拓展(在ospf场景下):

首先展示一下拓扑图:
ospf.png
首先分别对两台s5700进行基础配置(LSW1和LSW2)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<Huawei>sys # 进入系统视图模式
[Huawei]sys LSW1 # 将设备命名为LSW1
[LSW1]vlan batch 10 12 20 # 批量创建VLAN 10、12和20
[LSW1]int g0/0/1 # 进入千兆以太网接口0/0/1
[LSW1-GigabitEthernet0/0/1]port link-type access # 设置端口为接入模式
[LSW1-GigabitEthernet0/0/1]port default vlan 10 # 将端口默认VLAN设置为10
[LSW1-GigabitEthernet0/0/1]q # 退出接口配置模式
[LSW1]int g0/0/2 # 进入千兆以太网接口0/0/2
[LSW1-GigabitEthernet0/0/2]port link-type access # 设置端口为接入模式
[LSW1-GigabitEthernet0/0/2]port default vlan 20 # 将端口默认VLAN设置为20
[LSW1-GigabitEthernet0/0/2]q # 退出接口配置模式
[LSW1]int g0/0/24 # 进入千兆以太网接口0/0/24(连接LSW2的互联端口)
[LSW1-GigabitEthernet0/0/24]port link-type trunk # 设置端口为中继模式
[LSW1-GigabitEthernet0/0/24]port trunk allow-pass vlan 10 12 20 # 允许VLAN 10、12、20通过
[LSW1-GigabitEthernet0/0/24]q # 退出接口配置模式
[LSW1]int vlanif 12 # 创建并进入VLANIF 12接口(互联VLAN)
[LSW1-Vlanif12]ip address 192.168.12.1 24 # 配置互联地址192.168.12.1/24
[LSW1-Vlanif12]q # 退出VLANIF接口配置模式
[LSW1]int vlanif 10 # 创建并进入VLANIF 10接口
[LSW1-Vlanif10]ip address 192.168.10.254 24 # 配置VLAN 10网关地址192.168.10.254/24
[LSW1-Vlanif10]q # 退出VLANIF接口配置模式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<Huawei>sys # 进入系统视图模式
[Huawei]sys LSW2 # 将设备命名为LSW2
[LSW2]vlan batch 10 12 20 # 批量创建VLAN 10、12和20
[LSW2]int g0/0/1 # 进入千兆以太网接口0/0/1
[LSW2-GigabitEthernet0/0/1]port link-type access # 设置端口为接入模式
[LSW2-GigabitEthernet0/0/1]port default vlan 10 # 将端口默认VLAN设置为10
[LSW2-GigabitEthernet0/0/1]q # 退出接口配置模式
[LSW2]int g0/0/2 # 进入千兆以太网接口0/0/2
[LSW2-GigabitEthernet0/0/2]port link-type access # 设置端口为接入模式
[LSW2-GigabitEthernet0/0/2]port default vlan 20
[LSW2-GigabitEthernet0/0/2]q # 退出接口配置模式
[LSW2]int g0/0/24 # 进入千兆以太网接口0/0/24(连接LSW1的互联端口)
[LSW2-GigabitEthernet0/0/24]port link-type trunk # 设置端口为中继模式
[LSW2-GigabitEthernet0/0/24]port trunk allow-pass vlan 10 12 20 # 允许VLAN 10、12、20通过
[LSW2-GigabitEthernet0/0/24]q # 退出接口配置模式
[LSW2]int vlanif 12 # 创建并进入VLANIF 12接口(互联VLAN)
[LSW2-Vlanif12]ip address 192.168.12.2 24 # 配置互联地址192.168.12.2/24
[LSW2-Vlanif12]q # 退出VLANIF接口配置模式
[LSW2]int Vlanif 20 # 创建并进入VLANIF 20接口
[LSW2-Vlanif20]ip address 192.168.20.254 24 # 配置VLAN 20网关地址192.168.20.254/24
[LSW2-Vlanif20]q # 退出VLANIF接口配置模式

接下来配置LSW1和LSW2的ospf

1
2
3
4
5
[LSW1]ospf 1 router-id 1.1.1.1 # 启动OSPF进程1,设置路由器ID为1.1.1.1
[LSW1-ospf-1]area 0 # 进入OSPF区域0(骨干区域
[LSW1-ospf-1-area-0.0.0.0]network 192.168.12.0 0.0.0.255 # 宣告网络192.168.12.0/24到OSPF
[LSW1-ospf-1-area-0.0.0.0]network 192.168.10.0 0.0.0.255 # 宣告网络192.168.10.0/24到OSPF
[LSW1-ospf-1-area-0.0.0.0]q # 退出区域视图
1
2
3
4
5
[LSW2]ospf 1 router-id 2.2.2.2 # 启动OSPF进程1,设置路由器ID为2.2.2.2
[LSW2-ospf-1]area 0 # 进入OSPF区域0(骨干区域)
[LSW2-ospf-1-area-0.0.0.0]network 192.168.12.0 0.0.0.255 # 宣告网络192.168.12.0/24到OSPF
[LSW2-ospf-1-area-0.0.0.0]network 192.168.20.0 0.0.0.255 # 宣告网络192.168.20.0/24到OSPF
[LSW2-ospf-1-area-0.0.0.0]q # 退出区域视图

当ospf配置成功后终端会有如下提示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Oct 25 2025 22:58:38-08:00 LSW1 %%01OSPF/4/NBR_CHANGE_E(l)[1]:Neighbor changes e
vent: neighbor status changed. (ProcessId=1, NeighborAddress=192.168.12.2, Neigh
borEvent=HelloReceived, NeighborPreviousState=Down, NeighborCurrentState=Init)
Oct 25 2025 22:58:44-08:00 LSW1 %%01OSPF/4/NBR_CHANGE_E(l)[2]:Neighbor changes e
vent: neighbor status changed. (ProcessId=1, NeighborAddress=192.168.12.2, Neigh
borEvent=2WayReceived, NeighborPreviousState=Init, NeighborCurrentState=ExStart)
Oct 25 2025 22:58:44-08:00 LSW1 %%01OSPF/4/NBR_CHANGE_E(l)[3]:Neighbor changes e
vent: neighbor status changed. (ProcessId=1, NeighborAddress=192.168.12.2, Neigh
borEvent=NegotiationDone, NeighborPreviousState=ExStart, NeighborCurrentState=Ex
change)
Oct 25 2025 22:58:44-08:00 LSW1 %%01OSPF/4/NBR_CHANGE_E(l)[4]:Neighbor changes e
vent: neighbor status changed. (ProcessId=1, NeighborAddress=192.168.12.2, Neigh
borEvent=ExchangeDone, NeighborPreviousState=Exchange, NeighborCurrentState=Load
ing)
Oct 25 2025 22:58:44-08:00 LSW1 %%01OSPF/4/NBR_CHANGE_E(l)[5]:Neighbor changes e
vent: neighbor status changed. (ProcessId=1, NeighborAddress=192.168.12.2, Neigh
borEvent=LoadingDone, NeighborPreviousState=Loading, NeighborCurrentState=Full)

在最后的一段中,NeighborCurrentState=Full代表已经完成了从建立到学习的过程,我们可以在终端中输入dis ospf peer brief会得到以下的结果

1
2
3
4
5
6
7
[LSW1]dis ospf peer brief
OSPF Process 1 with Router ID 1.1.1.1
Peer Statistic Information
----------------------------------------------------------------------------
Area Id Interface Neighbor id State
0.0.0.0 Vlanif12 2.2.2.2 Full
----------------------------------------------------------------------------

同时我们还能输入dis ip routing-table protocol ospf 能得到以下结果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[LSW1]dis ip routing-table protocol  ospf 
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 1 Routes : 1

OSPF routing table status : <Active>
Destinations : 1 Routes : 1

Destination/Mask Proto Pre Cost Flags NextHop Interface

192.168.20.0/24 OSPF 10 2 D 192.168.12.2 Vlanif12

OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0

最后我们实现了VLAN间的互通