VLAN管理配置

VLAN管理配置

GVRP协议

什么是gvrp协议?

GVRP(GARP VLAN Registration Protocol),称为VLAN注册协议,是用来维护交换机中的VLAN动态注册信息,并传播该信息到其他交换机中,避免了我们手工一个个去配置静态VLAN,进而提高工作效率。

原理概述

GVRP(GARP VLAN Registration Protocol),中文名为GARP VLAN注册协议,是GARP通用属性注册协议的一种应用,用于注册和注销VLAN属性,GVRP使得交换机之间能够互相交换VLAN配置信息,动态创建和管理VLAN。手工配置的VLAN称为静态VLAN,而通过GVRP协议创建的VLAN称为动态VLAN,GVRP有三种注册模式,Normal模式、Fixed模式、Forbidden模式。

GVRP注册模式

1、normal 模式:允许该端口动态注册、注册vlan。传播静、动态vlan信息。(全通)
2、fixed 模式:禁止该端口动态注册、注销vlan,只传播静态vlan信息。(静态)
3、forbidden 模式:禁止该端口动态注册、注销vlan,不传播除vlan1之外的任何vlan信息。(禁止)

实验环境拓扑图

配置思路

1、全局启用 GVRP
2、将端口设置为 trunk 模式
3、对交换机接口启用 GVRP
4、对接口配置注册模式

配置过程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
*交换机1*
The device is running!
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.

[Huawei]sysname switch1
[switch1]info-center source ds channel 0 log state off trap state off
[switch1]vlan batch 10 20
Info: This operation may take a few seconds. Please wait for a moment...done.
[switch1]gvrp
[switch1]interface g0/0/1
[switch1-GigabitEthernet0/0/1]port link-type trunk
[switch1-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[switch 2-GigabitEthernet0/0/2]gvrp
[switch1-GigabitEthernet0/0/1]gvrp registration normal
[switch1-GigabitEthernet0/0/1]quit
[switch1]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
*交换机2*
The device is running!
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname switch 2
[switch 2]vlan batch 20 30
Info: This operation may take a few seconds. Please wait for a moment...done.
[switch 2]info-center source ds channel 0 log state off trap state off
[switch 2]gvrp
[switch 2]interface g0/0/1
[switch 2-GigabitEthernet0/0/1]port link-type trunk
[switch 2-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[switch 2-GigabitEthernet0/0/2]gvrp
[switch 2-GigabitEthernet0/0/1]gvrp registration normal
[switch 2-GigabitEthernet0/0/1]quit
[switch 2]interface g0/0/2
[switch 2-GigabitEthernet0/0/2]port link-type trunk
[switch 2-GigabitEthernet0/0/2]port trunk allow-pass vlan all
[switch 2-GigabitEthernet0/0/2]gvrp
[switch 2-GigabitEthernet0/0/2]gvrp registration fixed
[switch 2-GigabitEthernet0/0/2]quit
[switch 2]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
*交换机3*
The device is running!
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname switch 3
[switch 3]gvrp
[switch 3]info-center source ds channel 0 log state off trap state off
[switch 3]vlan batch 50 60
Info: This operation may take a few seconds. Please wait for a moment...done.
[switch 3]interface g0/0/1
[switch 3-GigabitEthernet0/0/1]port link-type trunk
[switch 3-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[switch 3-GigabitEthernet0/0/1]gvrp
[switch 3-GigabitEthernet0/0/1]gvrp registration normal
[switch 3-GigabitEthernet0/0/1]quit
[switch 3]

验证结果

可以看到因为第二台服务器的G0/0/2口配置的模式是fixed的,所以它只能从第一台学习vlan,不能从第三台学习vlan

但是第三台的G0/0/1口配置的是normal,所以它能学习到第二台的vlan。

VCMP

VCMP(VLAN Central Management Protocol)介绍

VLAN集中管理协议VCMP

可以实现VLAN的集中维护和管理

VCMP是华为的私有协议,工作于链路层,提供了一种在二层网络中传播VLAN配置信息,从而保证整个二层网络中VLAN配置信息一致

相较于手工配置,VCMP具有维护工作量小、VLAN配置一致的优点

管理域

VCMP使用域来管理交换机,这个域就称为VCMP管理域

通过角色定义来确定设备的属性,称为VCMP的角色

VCMP共定义了Server、Client、Transparent和Silent四种角色。

VCMP管理域

VCMP管理域由一组域名相同的交换机通过Trunk或Hybrid链路类型的接口互连构成。同一域内的每台交换机都必须使用相同的域名,且一台交换机只能加入一个VCMP管理域,不同域的交换机间不能同步VLAN信息。

VCMP管理域确定了VCMP管理设备的范围,凡是加入域的交换机,均会受到域内管理设备的管理。域中只能有一台管理设备,但可以有多台被管理设备。

角色

Transparent和Silent不属于任何VCMP管理域

VCMP管理域的边缘设备如果希望受VCMP的管理,也可设置为Client角色,但为防止本域的VCMP报文传输到其他域中,需要将连接其他域的接口去使能VCMP功能

应用场景

某企业有部门A和部门B两个部门,分别属于不同二层网络,各部门规模较大,需要配置和维护的VLAN信息很多。为了方便VLAN的配置和维护,可在部门A和部门B内分别部署VCMP,管理域分别为VCMP1和VCMP2,并选择汇聚交换机AGG1作为VCMP1的Sever,接入交换机ACC1~ACC2作为VCMP1的Client,汇聚交换机AGG2作为VCMP2的Server,接入交换机ACC3~ACC4作为VCMP2的Client。这样,网络管理员只需分别在AGG1和AGG2上创建、删除VLAN或修改VLAN的名称、描述,ACC1~ACC2和ACC3~ACC4会分别同步AGG1和AGG2上的VLAN信息,实现了VLAN的统一配置和管理。
同时,为免去手工设置链路类型的麻烦,配置通过LNP自动协商链路类型。

采用如下的思路配置VCMP:

配置LNP,实现链路类型自动协商,简化用户配置。

指定各设备的角色,以确定VCMP管理范围、管理与被管理对象。

在角色为Server和Client的设备上分别配置VCMP相关参数,包括认证密码、设备ID等,以保证Server和Client间能安全通信和身份识别。

使能VCMP,使VCMP功能生效。

VCMP协议报文

VCMP通过在各角色设备间交互VCMP报文实现VLAN的集中管理,VCMP报文只能在Trunk或Hybrid类型接口的VLAN 1上传输。为确保在各种场景下Server与Client的VLAN信息保持一致,VCMP协议定义了Summary-Advert、Subset-Advert和Advert-Request三种组播方式的报文。三种报文的作用及触发场景

其中,由Server发送的Summary-Advert和Subset-Advert报文会携带配置修订号。配置修订号用来确定Server发送的VLAN信息是否比当前的更新,Client使用它来判断是否需要同步Server的VLAN信息。它以8位十六进制数体现,高四位用来标识VCMP管理域或设备ID的变更,低四位用来标识VLAN的变更。只要Server有VLAN变更,配置修订号就会自动递增。而当VCMP管理域名或设备ID变更时,配置修订号的高四位会重新计算,低四位会清零。

实现机制

Server上配置变更的VLAN同步机制

当Server上的配置变更(包括创建、删除VLAN,修改VLAN的名称、描述,VCMP管理域名、设备ID修改,以及Server重启等情况)时,Server会发送携带变更信息的Summary-Advert和Subset-Advert报文,以通告VCMP管理域内的Client进行同步。

新增Client的VLAN同步机制

为确保Server与Client上的VLAN信息的同步,Server每5分钟发送一次Summary-Advert报文,向全域通告VCMP管理域名、设备ID和配置修订号,Server还会发送Subset-Advert报文来通告发生变更的VLAN名称和VLAN描述。当新加入一台Client或Client重启时,为了及时获取Server上的VLAN配置信息,新Client和重启的Client会发送Advert-Request组播报文,请求Server的VLAN配置信息。

多Server告警机制

VCMP管理域内只能有一台Server。为防止用户假冒Server攻击网络,Server在收到Summary-Advert报文后,会将报文中的VCMP管理域名、设备ID、源MAC地址与本地的进行匹配。如果VCMP管理域名和设备ID匹配,但报文中的源MAC地址与本地的系统MAC地址不同,则会向网管发送“多Server”事件告警。

为了防止告警太多影响Server性能,VCMP抑制告警的发送次数,每30分钟向网管发送一次告警。

VCMP认证机制

未知交换机加入VCMP管理域,可能会将其设备上的VLAN信息同步到域内,进而影响域内网络的稳定。为防止未知交换机加入,使VCMP管理域更安全,可以为域中的Server和Client配置域认证密码。

如果Server或Client配置了域认证密码,则用该密码字符串(默认使用空字符串)作为Key值,对报文中的VCMP管理域名、设备ID等字段进行SHA-256摘要计算,并把得到的摘要信息随Summary-Advert报文、Subset-Advert报文或Advert-Request报文发送。域内每台Client在收到的Server的Summary-Advert或Subset-Advert报文时,则用本地配置的认证密码对报文中的VCMP管理域名、设备ID和配置修订号等字段进行SHA-256摘要计算,并把得到的摘要信息与报文中携带的摘要信息进行比较。如果匹配,则认证通过,进行后续VCMP处理;否则,丢弃该Summary-Advert或Subset-Advert报文。Server收到Client的Advert-Request报文时进行同样的认证处理。
如果未配置域密码,则直接认证通过。

实验要求

例如,某公司内部有部门A和部门B两个部门,为方便VLAN的配置和维护,需在两个部门分别部署VCMP1和VCMP2两个VCMP管理域,选择汇聚层交换机LSW2和LSW3为VCMP1和VCMP2的Server,从而实现网络管理员在LSW1和LSW2上创建、删除VLAN或修改VLAN的名称、描述,会同步到相应的VCMP管理域内的设备。

拓扑图如下:

实验内容

配置PC

首先配置各PC机的IP地址、子网掩码和网关(默认网关都为192.168.1.1),如下:


测试连通性,通过ping命令测试各PC机是否连通:

配置交换机接口的链路类型

我们知道VCMP管理域中,通过Trunk或Hybrid链路接口连接的同组域名相同的交换机,所以执行命令port link-type { trunk | hybrid }指定接口的链路类型为Trunk或Hybrid,即在进入相应接口后,输入命令port link-type类型,指定配置接口类型。

设置VCMP角色

首先对LSW2和LSW3配置其VCMP角色为Server(服务器),命令如下,进入其CLI输入命令:

system-view
[Huawei]vcmp role server

由于在缺省情况下,VCMP管理域中的设备角色是Client,所以对于LSW4、LSW5、LSW6、LSW7不用通过vcmp role命令配置设备角色。

配置管理域的域名

根据题设,对两个不同VCMP管理域进行配置管理域的域名和设备ID,这里要注意在同一VCMP管理域内的每台交换机的域名必须是相同的,这里我们设置VCMP1的域名为domain1,而VCMP2的域名都为domain2,它们的设备ID为其他值,打开LSW2的CLI进行设置:


[Huawei]vcmp doamin domain1 //设备域名
[Huawei]vcmp device-id server1 //设备ID

打开LSW3的CLI进行设置:


[Huawei]vcmp doamin domain2 //设备域名
[Huawei]vcmp device-id server2 //设备ID

对LSW4、LSW5、LSW6、LSW7进行配置,LSW4和LSW5与LSW2为同一VCMP管理域,所以它们的域名是相同的,都为domain1;而,LSW6和LSW7与LSW3为同一VCMP管理域,所以它们的域名是相同的,都为domain2,这里的配置不再展开。

配置VCMP管理域的认证密码

这一步是可选的,即也可以不配置认证密码,缺省情况下,没有配置认证密码,VCMP报文直接认证通过。要注意若设置了认证密码,则Server与所有Client上的密码是要保持一致的,执行命令vcmp authentication sha2-256 password 认证密码,配置VCMP管理域的认证密码。

进入要使能VCMP功能的接口使能

通过interface命令后跟接口名称,进入需要使能VCMP功能的接口视图,使二层以太网处于使能状态,这里以LSW2的接口为例:

1
2
3
4
5
[Huawei]GE 1/0/1
[Huawei-GigabitEthernet1/0/1]
...
[Huawei]GE 1/0/2
[Huawei-GigabitEthernet1/0/2]

通过执行undo vcmp disable使基于接口使能VCMP功能,缺省情况下,交换机上的所有接口的VCMP功能处于使能状态,这里以LSW2的两个以太网接口使能VCMP功能为例:

1
2
3
4
5
[Huawei-GigabitEthernet1/0/1]vcmp disable
[Huawei-GigabitEthernet1/0/1]q
...
[Huawei-GigabitEthernet1/0/2]vcmp disable
[Huawei-GigabitEthernet1/0/2]q

配置过程结束。

实验结果

查看VCMP配置信息

可以通过display vcmp status命令查看当前VCMP配置的信息,包括VCMP管理域域名、设备角色、设备ID、配置序列号和域密码,这里借用华为-技术支持里面的文章——配置VCMP实现VLAN集中管理示例里面的图:

创建VLAN并同步

1、分别在LSW2和LSW3上面创建相应的VLAN100、VLAN200和VLAN300、VLAN400,执行命令vlan batch VLAN编号1 VLAN编号2 …,创建指定编号的VLAN。

进入LSW2的CLI:

system-view
[Huawei]vlan batch 100 200 //单独创建VLAN100和VLAN200
[Huawei]q

进入LSW3的CLI:

system-view
[Huawei]vlan batch 300 400 //单独创建VLAN300和VLAN400
[Huawei]q

2、同步VLAN信息

然后在LSW4、LSW5的CLI中执行命令display vlan summary,即可看到LSW4、LSW5上同步了LSW2上的VLAN信息,如下:


Static VLAN:
Total 2 static VLAN.
100 200

同时在LSW6、LSW7的的CLI中执行相同的命令,可看到同步了LSW3上的VLAN信息,如下:


Static VLAN:
Total 2 static VLAN.
300 400

此时我们再通过ping命令,对处于两组不同VCMP管理域的PC机进行测试,可发现无法ping通。