学网络,就在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学员,加入我们,成就未来。