vlan的概念
VLAN(Virtual Local Area Network)的中文名为"虚拟局域网"。可以理解为把物理交换机划分为多个逻辑交换机。
为什么划分vlan
1、提高交换机利用率,接口可以划分到任意vlan
2、不同vlan之间相互隔离
创建vlan
R2 f0/0 10.1.1.2/24 模拟电脑客户端
R3 f/0 10.1.1.3/24 模拟电脑客户端
R1 表示交换机

创建vlan10和vlan20示例:
R1#conf terminal
R1(config)#vlan 10
R1(config-vlan)#exit
R1(config)#vlan 20
R1(config-vlan)#exit
R1#show vlan-switch brief //真实环境中命令是show vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa1/0, Fa1/1, Fa1/2, Fa1/3
Fa1/4, Fa1/5, Fa1/6, Fa1/7
Fa1/8, Fa1/9, Fa1/10, Fa1/11
Fa1/12, Fa1/13, Fa1/14, Fa1/15
10 VLAN0010 active
20 VLAN0020 active
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup
vlan范围是1~4094,标准vlan:1-1005,1002-1005是特殊用途,不能修改,所以实际能用的是1-1001,1是系统默认创建的(新的交换机没有做特殊设置,只能使用标准vlan)
扩展vlan:1006-4094
接口划分到指定vlan
R1(config)#int f1/0
R1(config-if)#switchport mode access
R1(config-if)#switchport access vlan 10
R1(config-if)#exit
R1(config)#int f1/1
R1(config-if)#switchport mode access
R1(config-if)#switchport access vlan 20
R1(config-if)#end
R1#show vlan-switch brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa1/2, Fa1/3, Fa1/4, Fa1/5
Fa1/6, Fa1/7, Fa1/8, Fa1/9
Fa1/10, Fa1/11, Fa1/12, Fa1/13
Fa1/14, Fa1/15
10 VLAN0010 active Fa1/0
20 VLAN0020 active Fa1/1
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup
access表示主机模式:连接电脑或者路由器,只能属于一个vlan
假设有如下场景

同一个部门分散在另一个楼层,必须要设置vlan一致才能实现部门内通信,浪费交换机接口和网线。
Trunk的作用
交换机之间只用一根网线,可以跑不同的vlan,不管发送的是单播还是广播,只会发给相同的vlan。这就是Trunk技术。

图中红圈和黄圈配置了trunk后,数据包从交换机1的工程部发到交换机2,在出接口(红色圈)打上vlan10的标记,到交换机2后,在入接口(黄色圈)识别vlan标记,删除该标记,将数据包发送到vlan10内的客户端(数据包出access接口)
数据包出入access接口不需要打vlan标记,因为access接口已经明确指定属于哪个vlan
出trunk接口需要打标记,因为trunk接口不能指定属于某个vlan
配置接口为trunk模式
交换机1和交换机2通过f1/15接口连接,配置双方该接口为trunk模式
switch1(config)#int f1/15
switch1(config-if)#switchport trunk encapsulation dot1q //dot1q是公有协议,思科的ISL是私有的现在基本不用
switch1(config-if)#switchport mode trunk
switch1#show int trunk
Port Mode Encapsulation Status Native vlan
Fa1/15 on 802.1q trunking 1
Port Vlans allowed on trunk
Fa1/15 1-4094
Port Vlans allowed and active in management domain
Fa1/15 1,10
Port Vlans in spanning tree forwarding state and not pruned
Fa1/15 1,10
native vlan配置
查看trunk信息命令,最后一行有个native vlan对应的是vlan1,默认vlan1是native vlan,意思是vlan1从交换机trunk口出去时不需要打vlan标记。
两个交换机需要协商好,要配置相同的vlan为native,而且只能有一个native vlan,其他vlan必须打标记,这种特殊vlan就叫native vlan。
只有dot1q支持native vlan,思科的ISL不支持
可以通过命令修改某个vlan为native
switch1(config)#int f1/15
switch1(config-if)#switchport trunk native vlan 10
两边交换机都要修改相同的vlan为native,否则无法通信
trunk线路vlan允许列表设置
可以设置trunk线路允许哪些vlan通过
switch1(config)#int f1/15
switch1(config-if)#switchport trunk allowed vlan 1-200
Command rejected: Bad VLAN allowed list. You have to include all default vlans, e.g. 1-2,1002-1005.
switch1(config-if)#switchport trunk allowed vlan 1-200,1002-1005 //1,1002-1005必须允许
switch1#show int trunk
Port Mode Encapsulation Status Native vlan
Fa1/15 on 802.1q trunking 10
Port Vlans allowed on trunk
Fa1/15 1-200,1002-1005
Port Vlans allowed and active in management domain
Fa1/15 1,10
Port Vlans in spanning tree forwarding state and not pruned
Fa1/15 1,10
网友评论