trunk允许几个vlan通过 (trunk口默认允许所有vlan通过)

各位大家好,欢迎各位关注我的头条号,本头条号主要分享网络基本原理和测试方法。今天分享的内容是TRUNK工作模式的里的Allowed List。

我们都知道TRUNK端口可以允许不同VLAN的报文通过,这个在交换机内部是如何实现的呢,有没有什么表项可以查?答案是肯定的,交换机是通过Allowed VLAN List来控制是否允许某个VLAN的报文通过TRUNK端口,只有VLAN在List里,才允许通过TRUNK端口。

我们来设计一个用例验证Allowed List的功能,测试拓扑如下

vlanallowed原理,trunk允许几个vlan通过

测试拓扑

拓扑说明

  1. 和PC相连的交换机端口都配置为ACCESS模式,PC1、PC3所连端口配置为VLAN 10, PC2、PC4所连端口配置为VLAN 20
  2. 两个交换机之间的端口配置为TRUNK

测试用例

vlanallowed原理,trunk允许几个vlan通过

测试过程

测试配置

4台PC的配置,每台PC只配置一个IP地址即可

vlanallowed原理,trunk允许几个vlan通过

PC的配置

思科交换机连接PC的接口配置为ACCESS模式

vlanallowed原理,trunk允许几个vlan通过

ACCESS模式

两台思科交换机的TRUNK端口配置

vlanallowed原理,trunk允许几个vlan通过

配置端口为TRUNK模式

默认情况下的测试结果

此时,PC1能够访问PC3,PC2能够访问PC4

vlanallowed原理,trunk允许几个vlan通过

PC1和PC3能够互通

vlanallowed原理,trunk允许几个vlan通过

PC2和PC4能够互通

为啥会出现这种情况呢,是因为在思科交换机上,默认的Allowed List是1-4094,也就是默认允许所有的VLAN报文通过TRUNK端口,如下图查看Allowed List:发现默认是1-4094,也就是VLAN10和VLAN20的报文也是能够经过TRUNK端口转发的。

vlanallowed原理,trunk允许几个vlan通过

查看端口的TRUNK信息

此时如果我们在两个交换机之间抓包的话,也能抓到多个带VLAN的报文

vlanallowed原理,trunk允许几个vlan通过

带不同VLAN的报文

下面我们构造异常情况,在Allowed list里去除VLAN10,看这些PC之间的访问情况。

从Allowed List里删除VLAN 10

vlanallowed原理,trunk允许几个vlan通过

删除操作

查看端口配置:发现VLAN 10被移除了

vlanallowed原理,trunk允许几个vlan通过

端口配置

查看接口的TRUNK配置,发现Allowed List里没有VLAN 10了

vlanallowed原理,trunk允许几个vlan通过

Allowed list

此时,PC1就不能访问PC3了,因为PC1在VLAN10里,而VLAN10 被从Allowed List里删除了,所以此时的TRUNK接口就不转发带VLAN10的报文了

vlanallowed原理,trunk允许几个vlan通过

PC1不能访问PC3

PC2仍然能够访问PC4的,因为它们所在的VLAN 20仍然在Allowed List里,TRUNK接口仍然会转发带VLAN20的报文,所以他们是能够通信的。

在Allowed list里添加和移除VLAN的方法很多,如下面所示,可以来参考配置

vlanallowed原理,trunk允许几个vlan通过

添加和删除VLAN方法

经过上面的解释,各位对TRUNK的Allowed List功能有所了解了吧?其实不难的,因为这些都是基本内容,如果还有疑问,欢迎留言讨论!