VLAN之端口类型、标签的实验
要求和拓扑如下:
你们可以搭建拓扑,直接刷命令进行测试验证。
思路整理:
首先 要跨VLAN通信,我们通常选择交换机之间设置trunk。
- 先解决左边:VLAN10和VLAN100的通信
a. 先让相同VLAN10之间能够通信:
PC1 发送数据包,经过G0/0/1 打上 VLAN10的标签,通过G0/0/3发出;
带着VLAN10的标签来到G0/0/1, 我们必须让它过S2的G0/0/1、G0/0/2口,S3的G0/0/1口,到达G0/0/2, access口会将与PVID相同的标签去掉转发给PC3, PC3回包时进行同样的过程。
预设一下配置:
在所有交换机上创建现有VLAN,否则交换机收到数据后发现无该VLAN会直接丢弃。
sy
sy S1
VLAN batch 10 20 100 200
int g0/0/1
port link-type access
port default vlan 10
int g0/0/3
port link-type trunk
port trunk allow-pass vlan 10 100
sy
sy S2
VLAN batch 10 20 100 200
int g0/0/1
port link-type trunk
port trunk allow-pass vlan 10 100
int g0/0/2
port link-type trunk
port trunk allow-pass vlan 10 100
int g0/0/3
port link-type access
port default vl 100
sy
sy S3
VLAN batch 10 20 100 200
int g0/0/1
port link-type trunk
port trunk allow-pass vlan 10 100
int g0/0/2
port link-type access
port default vlan 10
此时VLAN10之间可以正常通信。
b. 让VLAN10和VLAN100之间通信:
分析一下现在他们不能通信的原因是什么:到S2之后,带VLAN10的标签无法到达VLAN100,则必须去掉VLAN100的标签。
写到这里,发现如果都用hybrid接口设置加、去标签会很方便。
让PC与交换机相连的端口设置为hybrid接口。
sy S1
int g0/0/1
undo port default vlan
p l h
p h u v 100 10
p h p v 10
!!!收到VLAN100、VALN10去掉它!!!
!!!收到无标签时加上VLAN10标签用PVID,tagged 只在发送的时候加!!!
sy s2
int g0/0/3
undo port default vlan
p l h
p h u v 10 100
p h p v 100
sy s3
int g0/0/2
undo port default vlan
p l h
p h u v 100 10
p h p v 10
此时VLAN10之间能通信,也能跨VLAN通信:
c. 剩下右边的VLAN20 和 VLAN200
看看上面的配置,我们并没有对S1、S2、S3之间的链路一条公有资源给占用,没有设置PVID,仅仅是设置了vlan的通过列表。
所以右边可以同样如法炮制:加入VLAN通过列表,设置hybrid接口即可。
sy
sy S1
int g0/0/2
p l h
p h u v 200 20
p h p v 20
int g0/0/3
port trunk allow-pass vlan 20 200
# 收到VLAN200 、20去掉它
# 发送无标签时加上20
sy
sy s2
int g0/0/4
p l h
p h u v 20 200
p h p v 200
int g0/0/1
port trunk allow-pass vlan 20 200
int g0/0/2
port trunk allow-pass vlan 20 200
sy s3
int g0/0/3
p l h
p h u v 200 20
p h p v 20
int g0/0/1
port trunk allow-pass vlan 20 200
测试:
VLAN20通信:
VLAN20 与 VLAN 200通信:
完成实验要求了,互通的方法不止这一种,根据端口、标签的收发规则可以去尝试下别的途径。