网工知识角|VLAN间路由快速完成小型企业网搭建「附实验」

2022-05-03 03:13:06

学网络,就在IE-LAB

国内高端网络工程师培养基地

什么是Vlan?想必各位网络工程师都已经是熟悉得不能再熟悉了,其隔离了广播域使得不同Vlan之间的主机无法直接通信。

而通常很多网络项目中却我们需要进行Vlan划分让这些主机之间完成通信,今天我们来研究一下怎么让不同Vlan之间的主机也可以互相进行访问。

很多刚开始学习或接触网络的小伙伴现在肯定是一头雾水:“刚学了怎么让主机之间通过划分vlan的方式不能通信,怎么现在又要让它们通信?如果一开始就是想让这些主机之间可以通信的话,为什么还要划分Vlan?”

其实是因为当我们的网络达到了一定规模,设备量庞大的时候,二层网络中会充斥着大量的广播报文,大家可以设想一下,上千台设备一起发送ARP广播时的样子,交换机忙着广播泛洪都忙不过来,哪里还有时间处理正常的数据流量,这无疑是对硬件资源的浪费。

而Vlan的一个最基本的作用就是隔离广播域,先用Vlan将我们的广播域范围限制住,然后再利用三层技术实现不同Vlan间的通信,从而解决大规模网络中广播报文数量过多占用资源的问题。


话不多说,现在就来跟着老师开始今天的实验:


实验一

利用单臂路由实现Vlan间通信


实验拓扑:

基本配置:

switch1(config)#vlan 10

switch1(config-vlan)#vlan 20

switch1(config-vlan)#exit //创建vlan10和vlan20

switch1(config)#interface e0/0

switch1(config-if)#switchport mode access

switch1(config-if)#switchport access vlan 10

switch1(config-if)#exit

switch1(config)#interface e0/1

switch1(config-if)#switchport mode access

switch1(config-if)#switchport access vlan 20

switch1(config-if)#exit //将相应接口划入对应的vlan

switch1(config)#interface e0/2

switch1(config-if)#switchport trunk encapsulation dot1q

switch1(config-if)#switchport mode trunk

switch1(config-if)#exit //将两台交换机之间的链路设置为trunk链路

switch2的配置与switch1相同,vlan10的pc机使用192.168.1.0/24网段,vlan20的pc机使用192.168.2.0/24网段,网关地址为192.168.x.254。

验证配置:

使用show vlan brief命令验证相应vlan是否被创建,对应接口是否划分正确

同一Vlan的主机可以正常通信,不同Vlan的主机目前无法通信。


接下来开始配置单臂路由,利用单臂路由实现Vlan间通信的基本思想是,在交换机和路由器之间的链路上起trunk,然后将路由器的子接口封装IEEE802.1q,使其在转发相应的数据包时能打上对应Vlan的标签,并将子接口的地址作为对应Vlan的网关地址,利用路由器的路由功能实现不同Vlan间的互相访问。

单臂路由配置:

switch1(config)#int e0/3

switch1(config-if)#switchport trunk encapsulation dot1q

switch1(config-if)#switchport mode trunk

switch1(config-if)#exit //先将交换机和路由器之间的接口配置为trunk

router1(config)#interface e0/0

router1(config-if)#no shutdown

router1(config-if)#exit

router1(config)#interface e0/0.1

router1(config-subif)#encapsulation dot1Q 10

router1(config-subif)#ip add 192.168.1.254 255.255.255.0

router1(config-subif)#no shutdown

router1(config-subif)#exit

router1(config)#interface e0/0.2

router1(config-subif)#encapsulation dot1Q 20

router1(config-subif)#ip add 192.168.2.254 255.255.255.0

router1(config-subif)#no shutdown

router1(config-subif)#exit //启用子接口,封装相应的vlan标签,并配置IP地址

再次测试连通性

可以看到所有的ip地址均能互通,实现了Vlan间的互相访问。


实验二

利用三层交换机的SVI接口实现Vlan间通信


实验拓扑:

背景介绍:

SVI接口即交换虚拟接口,它是三层交换机上给Vlan虚拟出的三层接口,可以配置ip地址并利用三层交换机的路由功能实现Vlan间的通信访问。此次实验的二层基本配置与实验一相同,我们主要关注三层交换机的SVI接口配置。


三层交换机配置:

switch2(config)#ip routing //在三层交换机上开启路由功能

switch2(config)#interface vlan 10

switch2(config-if)#ip address 192.168.1.254 255.255.255.0

switch2(config-if)#no shutdown

switch2(config-if)#exit //创建vlan10的SVI接口并配置ip地址

switch2(config)#interface vlan 20

switch2(config-if)#ip address 192.168.2.254 255.255.255.0

switch2(config-if)#no shutdown

switch2(config-if)#exit //创建vlan20的SVI接口并配置ip地址

验证SVI接口是否成功启用并配置正确的IP地址

这里要注意的是,SVI接口up的条件除了不能是管理性shutdown以外,还必须有一个交换机的接口在此vlan内,并且处于up状态。如果vlan内所有接口都是down状态或者没有任何接口划入vlan,SVI接口时不会up的。因此如果出现SVI接口down的现象可以参考这一思路进行排错。

验证连通性:

成功利用三层交换机的SVI接口实现不同Vlan间的互相访问

总结:要做Vlan间路由的原因是既要缩小广播域范围,又要保证网络内的主机互相可以通信。

实现Vlan间路由有两种方法:一种是当我们的交换机是二层交换机,可以使用单臂路由封装802.1q标签的方式实现Vlan间通信;

另一种是如果网络内存在三层交换机,可以利用三层交换机的SVI接口实现Vlan间通信。

无论哪种方法,基本思路都是在主机上配置网关地址,将数据包转发给网关后,由网关进行路由转发实现Vlan间互访,所以这两种技术统称为Vlan间路由技术。

这里留下一个小思考:如果实验中主机只配置ip地址不配置网关,那么不同Vlan间的主机还能正常通信吗?如果可以正常通信那么它转发的原理是什么呢?

快在评论区讨论起来吧!

2022,IE-LAB网络实验室【网工知识角】技术分享专题板块,强势回归IE-LAB有好师资,全面的学习平台和完善的教学服务,我们培养了一批又一批的CCIE学员,加入我们,成就未来。