您的当前位置:首页正文

vlan&trunk

2021-11-16 来源:欧得旅游网
基础应用-端口的trunk属性配置之交换机间vlan互通

端口的trunk属性配置(一)

1 功能需求及组网说明

端口的trunk 配置

『配置环境参数』

1. SwitchA 端口E0/1属于vlan10,E0/2属于vlan20,E0/3和SwitchB端口E0/3互连

2. SwitchB 端口E0/1属于vlan10,E0/2属于vlan20,E0/3和SwitchA端口E0/3互连 『组网需求』

1. 需要SwitchA的vlan10的PC和SwitchB的vlan10的PC互通 2. 需要SwitchA的vlan20的PC和SwitchB的vlan20的PC互通

2 数据配置步骤

『vlan透传转发流程』

报文在进入交换机端口时假如没有802.1Q标记将被打上端口的PVID(即defauld vlan ID),之后该数据包就只能在这个vlan域内进行转发,不同的vlan在二

层之间是隔离开的,不能实现互相访问。 【SwitchA相关配置】 1. 创建(进入)vlan10 [SwitchA] vlan 10

2. 将E0/1加入到vlan10 [SwitchA-vlan10]port Ethernet 0/1 3. 创建(进入)vlan20 [SwitchA]vlan 20

4. 将E0/2加入到vlan20 [SwitchA-vlan20]port Ethernet 0/2

5. 实际当中一般将上行端口配置成trunk属性,允许vlan透传 [SwitchA-Ethernet0/3]port link-type trunk

6. 允许任何的vlan从E0/3端口透传通过,也能够指定具体的vlan值 [SwitchA-Ethernet0/3]port trunk permit vlan all 【SwitchB相关配置】 1. 创建(进入)vlan10 [SwitchB] vlan 10

2. 将E0/1加入到vlan10 [SwitchB-vlan10]port Ethernet 0/1 3. 创建(进入)vlan20 [SwitchB]vlan 20

4. 将E0/2加入到vlan20 [SwitchB-vlan20]port Ethernet 0/2

5. 实际当中一般将上行端口配置成trunk属性,允许vlan透传 [SwitchB-Ethernet0/3]port link-type trunk

6. 允许任何的vlan从E0/3端口透传通过,也能够指定具体的vlan值 [SwitchB-Ethernet0/3]port trunk permit vlan all 【补充说明】

1. 假如一个端口是trunk端口,则该端口能够属于多个vlan;

2. 缺省情况下trunk端口的PVID为1,能够在端口模式下通过命令port trunk pvid vlan vlanid 来修改端口的PVID;

3. 假如从trunk转发出去的数据报文的vlan id和端口的PVID一致,则该报文的VLAN信息会被剥去,这点在配置trunk端口时需要注意。

4. 一台交换机上假如已配置了某个端口为hybrid端口,则不能够再把另外的端口配置为trunk端口。

5. 一般情况下最好指定端口允许通过哪些具体的VLAN,不要配置允许任何的VLAN通过。

3 测试验证

1. SwitchA vlan10内的PC能够和SwitchB vlan10内的PC互通 2. SwitchA vlan20内的PC能够和SwitchB vlan20内的PC互通 3. SwitchA vlan10内的PC不能和SwitchB vlan20内的PC互通 4. SwitchA vlan20内的PC不能和SwitchB vlan10内的PC互通

(一) ISL

ISL

ISL & DISL:思科交换链路内协议和动态 ISL 协议(ISL & DISL:Cisco Inter-Switch Link Protocol and Dynamic ISL Protocol)

交换链路内协议(ISL),是思科私有协议,主要用于维护交换机和路由器间的通信流量等 VLAN 信息。

ISL 标签(Tagging)能与 802.1Q 干线执行相同任务,只是所采用的帧格式不同。ISL 干线(Trunks)是 Cisco 私有,即指两设备间(如交换机)的一条点对点连接线路。在“交换链路内协议”名称中即包含了这层含义。ISL 帧标签采用一种低延迟(Low-Latency)机制为单个物理路径上的多 VLANs 流量提供复用技术。ISL 主要用于实现交换机、路由器以及各节点(如服务器所使用的网络接口卡)之间的连接操作。为支持 ISL 功能特征,每台连接设备都必须采用 ISL 配置。ISL 所配置的路由器支持 VLAN 内通信服务。非 ISL 配置的设备,则用于接收由 ISL 封装的以太帧(Ethernet Frames),通常情况下,非 ISL 配置的设备将这些接收的帧及其大小归因于协议差错。

和 802.1Q 一样,ISL 作用于 OSI 模型第2层。所不同的是,ISL 协议头和协议尾封装了整个第2层的以太帧。正因为此,ISL 被认为是一种能在交换机间传送第2层任何类型的帧或上层协议的独立协议。ISL 所封装的帧可以是令牌环(Token Ring)或快速以太网(Fast Ethernet),它们在发送端和接收端之间维持不变地实现传送。ISL 具有以下特征:

由专用集成电路执行(ASIC:application-specific integrated circuits) 不干涉客户机站;客户机不会看到 ISL 协议头

ISL NICs 为交换机与交换机、路由器与交换机、交换机与服务器等之间的运行提供高效性能。

动态交换链路内协议(DISL),也属于思科协议。它简化了两台相互连接的快速以太网设备上 ISL 干线的创建过程。快速以太信道技术为高性能中枢连接提供了两个全双工快速以太网链路是集中性。由于 DISL 中只允许将一个链路终端配置为干线,所以 DISL 实现了最小化 VLAN 干线。 ISL 星际链路(Intersatellite link,ISL) 交换机间链路(ISL)协议

ISL(Interior Switching Link)协议用于实现交换机间的VLAN中继。它是一个信息包标记协议,在支持ISL接口上发送的帧由一个标准以太网帧及相关的VLAN信息组成。如下图所示,在支持ISL的接口上可以传送来自不同VLAN的数据。 注意

CISCO2950不支持ISL协议

Step 1 配置交换机的基本参数

Step 2 为PC配置正确的IP地址,子网掩码和缺省网关

Step 3 检测连通性

由switch ping两台PC机,检测连通性

Step 4 显示VLAN的接口信息

Switch_A#show vlan

Step 5 在Switch_A上创建,命名VLAN

Switch_A#vlan database

Switch_A(vlan)#vlan 10 name Accounting Switch_A(vlan)#vlan 20 name Marketing Switch_A(vlan)#vlan 30 name Engineering Switch_A(vlan)#exit

Step 6 安排4,5,6端口到VLAN 10

Switch_A(config)#interface fastethernet 0/4 Switch_A(config-if)#switchport mode access Switch_A(config-if)#switchport access vlan 10 Switch_A(config-if)#interface fastethernet 0/5 Switch_A(config-if)#switchport mode access

Switch_A(config-if)#switchport access vlan 10 Switch_A(config-if)#interface fastethernet 0/6 Switch_A(config-if)#switchport mode access Switch_A(config-if)#switchport access vlan 10 Switch_A(config-if)#end

Step 7 安排端口7,8,9到VLAN 20

Switch_A#configure terminal

Switch_A(config)#interface fastethernet 0/7 Switch_A(config-if)#switchport mode access Switch_A(config-if)#switchport access vlan 20 Switch_A(config-if)#interface fastethernet 0/8 Switch_A(config-if)#switchport mode access Switch_A(config-if)#switchport access vlan 20 Switch_A(config-if)#interface fastethernet 0/9 Switch_A(config-if)#switchport mode access Switch_A(config-if)#switchport access vlan 20 Switch_A(config-if)#end

Step 8 安排端口10,11,12到VLAN 30

Switch_A#configure terminal

Switch_A(config)#interface fastethernet 0/10 Switch_A(config-if)#switchport mode access Switch_A(config-if)#switchport access vlan 30 Switch_A(config-if)#interface fastethernet 0/11 Switch_A(config-if)#switchport mode access Switch_A(config-if)#switchport access vlan 30 Switch_A(config-if)#interface fastethernet 0/12 Switch_A(config-if)#switchport mode access Switch_A(config-if)#switchport access vlan 30 Switch_A(config-if)#end

Step 9 在Switch_B上创建,命名VLAN

重复5-8步,在Switch_B创建,命名VLAN

Step 10 显示VLAN的接口信息

Switch_A#show vlan

Step 11 测试VLANs

Step 12 创建ISL trunk

Switch_A(config)#interface fastethernet 0/1 Switch_A(config-if)#switchport mode trunk

Switch_A(config-if)#switchport trunk encapsulation isl Switch_A(config-if)#end

Switch_B(config)#interface fastethernet 0/1 Switch_B(config-if)#switchport mode trunk

Switch_B(config-if)#switchport trunk encapsulation isl Switch_B(config-if)#end

Step 13 测试ISL trunk

(二) dot1q

Step 1 配置交换机的基本参数

Step 2 为PC配置正确的IP地址,子网掩码和缺省网关

Step 3 检测连通性

由switch ping两台PC机,检测连通性

Step 4 显示VLAN的接口信息

Switch_A#show vlan

Step 5 在Switch_A上创建,命名VLAN

Switch_A#vlan database

Switch_A(vlan)#vlan 10 name Accounting Switch_A(vlan)#vlan 20 name Marketing Switch_A(vlan)#vlan 30 name Engineering Switch_A(vlan)#exit

Step 6 安排4,5,6端口到VLAN 10

Switch_A(config)#interface fastethernet 0/4 Switch_A(config-if)#switchport mode access Switch_A(config-if)#switchport access vlan 10 Switch_A(config-if)#interface fastethernet 0/5 Switch_A(config-if)#switchport mode access Switch_A(config-if)#switchport access vlan 10 Switch_A(config-if)#interface fastethernet 0/6 Switch_A(config-if)#switchport mode access Switch_A(config-if)#switchport access vlan 10 Switch_A(config-if)#end

Step 7 安排端口7,8,9到VLAN 20

Switch_A#configure terminal

Switch_A(config)#interface fastethernet 0/7 Switch_A(config-if)#switchport mode access Switch_A(config-if)#switchport access vlan 20 Switch_A(config-if)#interface fastethernet 0/8 Switch_A(config-if)#switchport mode access Switch_A(config-if)#switchport access vlan 20 Switch_A(config-if)#interface fastethernet 0/9 Switch_A(config-if)#switchport mode access Switch_A(config-if)#switchport access vlan 20 Switch_A(config-if)#end

Step 8 安排端口10,11,12到VLAN 30

Switch_A#configure terminal

Switch_A(config)#interface fastethernet 0/10 Switch_A(config-if)#switchport mode access Switch_A(config-if)#switchport access vlan 30 Switch_A(config-if)#interface fastethernet 0/11 Switch_A(config-if)#switchport mode access Switch_A(config-if)#switchport access vlan 30

Switch_A(config-if)#interface fastethernet 0/12 Switch_A(config-if)#switchport mode access Switch_A(config-if)#switchport access vlan 30 Switch_A(config-if)#end

Step 9 在Switch_B上创建,命名VLAN

重复5-8步,在Switch_B创建,命名VLAN

Step 10 显示VLAN的接口信息

Switch_A#show vlan

Step 11 测试VLANs

Step 12 创建dot1q trunk

Switch_A(config)#interface fastethernet 0/1 Switch_A(config-if)#switchport mode trunk

Switch_A(config-if)#switchport trunk encapsulation dot1q Switch_A(config-if)#end

Switch_B(config)#interface fastethernet 0/1

Switch_B(config-if)#switchport mode trunk

Switch_B(config-if)#switchport trunk encapsulation dot1q Switch_B(config-if)#end

Step 13 测试dot1q trunk

801.q的TRUNK中可以存在多个VLAN。各个VLAN都被加上一个头,并在该头部说明VLAN号码,但是有一个VLAN,不加头,不进行封装。就是native vlan。 简单的来说Native Vlan 是802。1Q协议封装下的一种特殊Vlan,来自该VLAN的流量在穿越TRUNK接口时不打TAG,缺省时VLAN1为Native Vlan .

而VLAN1 为交换机的缺省VLAN,一般不承载用户DATA也不承载管理流量,只承载控制信息:如CDP,DTP,BPDU,VTP,Pagp等。

Native Vlan是对于中继接口为对象,不是trunk接口谈不上Native Vlan。一般在trunk接口传送的是打了标签的数据包,那么如果有没有打标签的数据呢,这才用到Native Vlan,把这些没有打标签的数据打了Native Vlan的标签进入交换机,cisco里管理vlan和native vlan默认都是vlan 1。

如果两台通信的交换机配置的native vlan不一致,就会报mismatch错误,一个支持vlan的交换机,互连一个不支持vlan的交换机。之间则是通过native lan来交换数据。

在IP电话系统中,电话机是可以直接把数据打上标签的,但是普通PC不行,很多情况,电话机和PC是 用同一条网线的,这时候,这个接口就被设定为trunk模式,电话机就用打了标签的数据传,PC没法打,交换机在收到没有标签的数据就按照隐含的 switchport trunk native vlan 1为数据打上native vlan标签进入交换机传输。

vlan也是有其安全隐患的,黑客利用vlan hopping 穿过vlan。杜绝此种安全隐患方法:

1.把native vlan干掉,不让这vlan的数据在Trunk链路上跑 2.不把native vlan分配给普通用户使用

3.强制native vlan在通过trunk的时候打tag。命令vlan dot1q tag native

实验

此次试验使用2台ZXR10 3952 (LayerIII)交换机,2台windowsxp PC。 分三次使用Access (access vlan 2 | access vlan 3)、Trunk(native vlan 1| native

vlan 1)、Trunk(native vlan 2| native vlan 3)模式使2台交换机互相连接。

交换机A :

Ip:192.168.1.2/24 添加Vlan:2

Fei1/1:Trunk (native vlan 1) Fei1/13、14:Access Vlan 2

Fei1/25:Trunk (native vlan 2) 交换机B :

Ip:192.168.1.3/24 添加Vlan:3

Fei1/1:Trunk (native vlan 1) Fei1/13、14:Access Vlan 3

Fei1/25:Trunk (native vlan 3) PC-A:

Ip:192.168.1.5/24 PC-B:

Ip:192.168.1.6/24

交换机间使用trunk(native vlan 1)和trunk(native vlan 1)互联,pc-a (access vlan

2)与pc-b(access vlan 3)ping不通。Vlan2、3管理地址ping不通。[不能跨vlan通信]

交换机间使用trunk(native vlan 1)和trunk(native vlan 1)互联,pc-a (access vlan

1)与pc-b(access vlan 1)可以ping通。Vlan2、3管理地址ping不通。[没有接入设备,vlan2、3没有启动]

交换机间使用trunk(native vlan 2)和 trunk(native vlan 3)互联,pc-a (access vlan

2)与pc-b(access vlan 3)可以ping通。Vlan2、3管理地址可以ping通。[vlan2、3在trunk中使用无标签帧通信]

交换机间使用trunk(native vlan 2)和 trunk(native vlan 3)互联,pc-a (access vlan

1)与pc-b(access vlan 1)ping不通,vlan2、3管理地址可以ping通。

交换机间使用Access(Access vlan 2)和 Access(Access vlan 3)互联,pc-a

(access vlan 2)与pc-b(access vlan 3)可以ping通。Vlan管理地址可以ping通。[Access接口之间传的是解除标签后的帧]

not enough space on flash to store vlan database. trying squeeze...First create squeeze log by erasing the entire device error squeezing flash - (Missing or corrupted log) Error on database apply 40: NV storage failure Use 'abort' command to exit

因篇幅问题不能全部显示,请点此查看更多更全内容