- 黑桃云
-
VLAN技术把一个物理的LAN在逻辑上划分为多个广播域,VLAN之间的主机可以直接通信,而VLAN间不能直接通信。广播报文被限制在一个VLAN中,同时提高了网络安全性。
access接口仅属于一个VLAN,只能接受发送相应VLAN的帧。而trunk接口默认属于所有VLAN,任何tagged帧都能通经过trunk接收和发送。hydird接口则介于两者之间,可以自主定义端口上能接受和发送哪些vlan tag的帧,并可以决定vlan tag是否继续携带或者剥离。
access接口(接入链路)是交换机上用来连接用户主机的接口,当access接口从主机收到一个不带VLAN标签的数据帧时,会给数据帧加上与PVID一致的VLAN标签。当ACCESS接口要发送一个带VLAN标签的数据帧给主机时,首先检查该数据帧的VLAN ID是否与自己PVID相同,如相同则去掉VLAN标签后发送该数据给主机,如不相同直接丢弃该数据。
除默认的VLAN1,其余的VLAN需要手动创建。使用vlan命令可以创建单个vlan,vlan batch可以创建多个vlan。 范围为1-4094,0和4095保留。
SW1配置access及vlan:
[SW1]vlan batch 10 20
[SW1]int g0/0/1
[SW1-GigabitEthernet0/0/1]port link-type access
[SW1-GigabitEthernet0/0/1]port default vlan 10
[SW1-GigabitEthernet0/0/1]int g0/0/3
[SW1-GigabitEthernet0/0/3]port link-type access
[SW1-GigabitEthernet0/0/3]port default vlan 10
[SW1-GigabitEthernet0/0/3]int g0/0/4
[SW1-GigabitEthernet0/0/4]port link-type access
[SW1-GigabitEthernet0/0/4]port default vlan 20
[SW1-GigabitEthernet0/0/4]q
SW2配置access及vlan:
[SW2]vlan batch 30 40
[SW2]int g0/0/2
[SW2-GigabitEthernet0/0/2]port link-type access
[SW2-GigabitEthernet0/0/2]port default vlan 30
[SW2-GigabitEthernet0/0/2]int g0/0/3
[SW2-GigabitEthernet0/0/3]port link-type acces
[SW2-GigabitEthernet0/0/3]port default vlan 40
[SW2-GigabitEthernet0/0/3]q
可以通过display vlan查看配置的vlan信息。也可以通过display port vlan查看。
在以太网中通过划分VLAN来隔离广播域和增强网络通信的安全性。为了使VLAN的数据帧跨越多台交换机传递,交换机之间互联的链路需要配置成干道链路(trunk link)。和接入链路不同,干道链路用来在不同的设备间(交换机与路由器、交换机与交换机)承载多个不同vlan数据的。
当trunk收到数据帧时,该帧不包含vlan标签则打VPID,包含vlan标签则不改变。trunk端口发送数据时,如果该帧的VLAN ID与端口的PVID不同时,检查是否允许该VLAN通过,不允许则丢弃,当该帧的VLAN ID与端口的PVID相同时,则剥离VLAN标签后转发。
交换机相连的接口配置成trunk接口,配置时明确要被允许通过的vlan,实现对vlan流量传输的控制。
首先配置PC的IP地址,这个可以参考上面配置ACCESS接口来完成具体配置,在这里就不阐述了。
配置交换机相连接口为trunk接口,并规定允许vlan10 20 通过。
[SW3-GigabitEthernet0/0/2]port link-type trunk
[SW3-GigabitEthernet0/0/2]port trunk allow-pass vlan 10 20
[SW2-GigabitEthernet0/0/1]port link-type trunk
[SW2-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20
[SW1-GigabitEthernet0/0/1]port link-type trunk
[SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[SW1-GigabitEthernet0/0/1]int g0/0/2
[SW1-GigabitEthernet0/0/2]port link-type trunk
[SW1-GigabitEthernet0/0/2]port trunk allow-pass vlan all
配置好后就可以在PC上ping测试,相同vlan的PC可以通信。
hybird接口既可以连通终端接入链路又可以连接交换机间的干道链路,它允许多个vlan帧通过,并可以在出接口方向将某些vlan标签剥掉。
hybird接口处理vlan帧的过程:
1、收到二层帧,判断是否有vlan标签,没有则记上hybird接口的PVID;有有vlan标签判断是否允许该vlan的帧进入。
2、数据帧从hybird接口发出时,,交换机判断VLAN在本接口的属性是untagged还是tagged,untagged先剥离帧的vlan标签再发送,tagged则直接发送。
通过对hybird接口,能够实现对vlan标签的灵活控制,既能够实现access接口功能,又能够实现trunk接口功能。下图需求是PC1 PC3可以相互访问,PC2 PC4可以相互访问,PC5(管理员)可以访问所有。
可以使用access和trunk配置,S1和S2的ge0/0/2配置为access接口,加入到vlan20;S1和S2的ge0/0/1配置为access接口,加入到vlan10。具体配置方法请参考上面步骤。
同样的需求可以使用hydird接口实现会更加灵活。
SW1配置:
[sw1]vlan batch 10 20
[sw1]int g0/0/2
[sw1-GigabitEthernet0/0/2]port link-type hybrid
[sw1-GigabitEthernet0/0/2]port hybrid untagged vlan 20 #剥离vlan标签发送给PC
[sw1-GigabitEthernet0/0/2]port hybrid pvid vlan 20 #pc发来的帧加上vlan20标签
[sw1-GigabitEthernet0/0/2]int g0/0/3
[sw1-GigabitEthernet0/0/3]port link-type hybrid
[sw1-GigabitEthernet0/0/3]port hybrid untagged vlan 10
[sw1-GigabitEthernet0/0/3]port hybrid pvid vlan 10
[sw1-GigabitEthernet0/0/3]int g0/0/1
[sw1-GigabitEthernet0/0/1]port link-type hybrid
[sw1-GigabitEthernet0/0/1]port hybrid tagged vlan 10 20 #交换机仅通过vlan 10 20
sw2配置:
[sw2]vlan batch 10 20
[sw2]int g0/0/2
[sw2-GigabitEthernet0/0/2]port link-type hybrid
[sw2-GigabitEthernet0/0/2]port hybrid untagged vlan 20
[sw2-GigabitEthernet0/0/2]port hybrid pvid vlan 20
[sw2-GigabitEthernet0/0/2]int g0/0/3
[sw2-GigabitEthernet0/0/3]port link-type hybrid
[sw2-GigabitEthernet0/0/3]port hybrid pvid vlan 10 #pc发来的帧加上vlan10标签
[sw2-GigabitEthernet0/0/3]port hybrid untagged vlan 10 #剥离vlan标签发送给PC
[sw2-GigabitEthernet0/0/3]int g0/0/1
[sw2-GigabitEthernet0/0/1]port link-type hybrid
[sw2-GigabitEthernet0/0/1]port hybrid tagged vlan 10 20 #交换机仅通过vlan 10 20
剩下最后一个功能,PC5(管理员)可以访问所有。即vlan30可以访问vlan10 20.。
[sw1]vlan 30
[sw1-vlan30]q
[sw1]int g0/0/4
[sw1-GigabitEthernet0/0/4]port hybrid pvid vlan 30
[sw1-GigabitEthernet0/0/4]port hybrid untagged vlan 10 20 30 #三个vlan的帧以untagged发送给pc5
[sw1-GigabitEthernet0/0/4]int g0/0/2
[sw1-GigabitEthernet0/0/2]port hybrid untagged vlan 20 30 #两个个vlan的帧以untagged发送给pc1
[sw1-GigabitEthernet0/0/2]int g0/0/3
[sw1-GigabitEthernet0/0/3]port hybrid untagged vlan 10 30 #两个个vlan的帧以untagged发送给pc2
[sw1-GigabitEthernet0/0/3]int g0/0/1
[sw1-GigabitEthernet0/0/1]port hybrid tagged vlan 10 20 30 #三个个vlan的帧以tagged发送给SW2
那么在sw2上也需要配置:
[sw2]int g0/0/1
[sw2-GigabitEthernet0/0/1]port hybrid tagged vlan 10 20 30 #三个个vlan的帧以tagged发送给SW1
[sw2-GigabitEthernet0/0/1]int g0/0/2
[sw2-GigabitEthernet0/0/2]port hybrid untagged vlan 20 30 #两个个vlan的帧以untagged发送给pc3
[sw2-GigabitEthernet0/0/2]int g0/0/3
[sw2-GigabitEthernet0/0/3]port hybrid untagged vlan 10 30 #两个个vlan的帧以untagged发送给pc4
最后可以ping测试了。
troubleshooting。PC2 与PC4和 PC5与PC4无法通信,display vlan发现sw2的ge0/0/3端口配置错误。vlan20居然配置在了ge0/0/3端口上。
具体可以进入端口进行查看,undo port hybrid tagged vlan 20取消配置。最后测试成功。
[sw2]int g0/0/3
[sw2-GigabitEthernet0/0/3]display this
总结:hybrid接口作为终端使用时port hybrid untagged vlan 10,要将vlan标签剥离,作为交换机间连接时port hybrid tagged vlan 10 30 保留标签转发。