04-VLAN配置
本章节下载: 04-VLAN配置 (646.05 KB)
目 录
2.6 配置Primary VLAN和Secondary VLAN间的映射关系
2.9 配置Primary VLAN下指定Secondary VLAN间三层互通
2.11.1 Private VLAN配置举例(promiscuous模式)
2.11.2 Private VLAN配置举例(trunk promiscuous模式)
2.11.3 Private VLAN配置举例(trunk promiscuous & trunk secondary模式)
2.11.4 Secondary VLAN间三层互通配置举例
VLAN(Virtual Local Area Network,虚拟局域网)技术把一个物理LAN划分成多个逻辑的LAN——VLAN,处于同一VLAN的主机能直接互通,而处于不同VLAN的主机则不能直接互通,从而增强了局域网的安全性。划分VLAN后,广播报文被限制在同一个VLAN内,即每个VLAN是一个广播域,有效地限制了广播域的范围。通过VLAN可以将不同的主机划分到不同的工作组,同一工作组的主机可以位于不同的物理位置,网络构建和维护更方便灵活。
要使网络设备能够分辨不同VLAN的报文,需要在报文中添加标识VLAN的字段。IEEE 802.1Q协议规定,在以太网报文的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN Tag,用以标识VLAN的相关信息。
图1-1 VLAN Tag的组成字段
如图1-1所示,VLAN Tag包含四个字段,分别是TPID(Tag Protocol Identifier,标签协议标识符)、Priority、CFI(Canonical Format Indicator,标准格式指示位)和VLAN ID。
· TPID:协议规定TPID取值为0x8100时表示报文带有VLAN Tag,但各设备厂商可以自定义该字段的值。当邻居设备将TPID值配置为非0x8100时,为了能够识别这样的报文,实现互通,必须在本设备上修改TPID值,确保和邻居设备的TPID值配置一致。如果报文的TPID值为配置值或0x8100,则该报文被认为带有VLAN Tag。配置TPID值的相关命令请参见“二层技术-以太网交换命令参考”中的“QinQ”。
· Priority:用来表示报文的802.1p优先级,长度为3比特,相关内容请参见“ACL和QoS配置指导/QoS”中的“附录”。
· CFI:用来表示MAC地址在不同的传输介质中是否以标准格式进行封装,长度为1比特。取值为0表示MAC地址以标准格式进行封装,为1表示以非标准格式封装。在以太网中,CFI取值为0。
· VLAN ID:用来表示该报文所属VLAN的编号,长度为12比特。由于0和4095为协议保留取值,所以VLAN ID的取值范围为1~4094。
网络设备根据报文是否携带VLAN Tag以及携带的VLAN Tag信息,来对报文进行处理,利用VLAN ID来识别报文所属的VLAN。
· 以太网支持Ethernet II、802.3/802.2 LLC、802.3/802.2 SNAP和802.3 raw封装格式,本文以Ethernet II型封装为例。802.3/802.2 LLC、802.3/802.2 SNAP和802.3 raw封装格式添加VLAN Tag字段的方式请参见相关协议规范。
· 对于携带有多层VLAN Tag的报文,设备会根据其最外层VLAN Tag进行处理,而内层VLAN Tag会被视为报文的普通数据部分。
VLAN根据划分方式不同可以分为不同类型,下面列出了几种最常见的VLAN类型:
· 基于端口的VLAN
· 基于MAC地址的VLAN
· 基于IP子网的VLAN
如果某个接口下同时使能以上三种VLAN,则缺省情况下VLAN的匹配将按照MAC VLAN、IP子网VLAN、端口VLAN的先后顺序进行。
基于端口划分VLAN是最简单、最有效的VLAN划分方法。它按照设备端口来定义VLAN成员,将指定端口加入到指定VLAN中之后,该端口就可以转发该VLAN的报文。
端口的链路类型分为三种,端口的链路类型决定了端口能否加入多个VLAN。不同链路类型的端口在转发报文时对VLAN Tag的处理方式不同:
· Access:端口只能发送一个VLAN的报文,发出去的报文不带VLAN Tag。一般用于和不能识别VLAN Tag的用户终端设备相连,或者不需要区分不同VLAN成员时使用。
· Trunk:端口能发送多个VLAN的报文,发出去的端口缺省VLAN的报文不带VLAN Tag,其他VLAN的报文都必须带VLAN Tag。通常用于网络传输设备之间的互连。
· Hybrid:端口能发送多个VLAN的报文,端口发出去的报文可根据需要配置某些VLAN的报文带VLAN Tag,某些VLAN的报文不带VLAN Tag。
端口缺省VLAN简称为PVID(Port VLAN ID)。当端口收到Untagged报文时,会认为该报文所属的VLAN为PVID。
Access端口的PVID就是它所在的VLAN。
Trunk端口和Hybrid端口可以允许多个VLAN通过,能够配置端口PVID。
端口对报文的接收和发送的处理有几种不同情况,具体情况请参看表1-1。
端口类型 |
对接收报文的处理 |
对发送报文的处理 |
|
当接收到的报文不带Tag时 |
当接收到的报文带有Tag时 |
||
Access端口 |
为报文添加端口PVID的Tag |
· 当报文的VLAN ID与端口的PVID相同时,接收该报文 · 当报文的VLAN ID与端口的PVID不同时,丢弃该报文 |
去掉Tag,发送该报文 |
Trunk端口 |
· 当端口的PVID在端口允许通过的VLAN ID列表里时,接收该报文,给报文添加PVID的Tag · 当端口的PVID不在端口允许通过的VLAN ID列表里时,丢弃该报文 |
· 当报文的VLAN ID在端口允许通过的VLAN ID列表里时,接收该报文 · 当报文的VLAN ID不在端口允许通过的VLAN ID列表里时,丢弃该报文 |
· 当报文的VLAN ID与端口的PVID相同,且是该端口允许通过的VLAN ID时:去掉Tag,发送该报文 · 当报文的VLAN ID与端口的PVID不同,且是该端口允许通过的VLAN ID时:保持原有Tag,发送该报文 |
Hybrid端口 |
当报文的VLAN ID是端口允许通过的VLAN ID时,发送该报文,并可以配置端口在发送该VLAN的报文时是否携带Tag |
基于MAC的VLAN是根据报文的源MAC地址来划分VLAN。设备维护的MAC VLAN表记录了MAC地址和VLAN的对应关系。这种划分方法的最大优点就是当用户物理位置发生变化,VLAN不用重新配置。所以这种根据MAC地址的划分方法也称为基于用户的VLAN。
手动配置静态MAC VLAN常用于VLAN中用户相对较少的网络环境。在该方式下,用户需要手动配置MAC VLAN表项,开启基于MAC地址的VLAN功能,并将端口加入MAC VLAN。其原理为:
· 当端口收到的报文为Untagged报文时,根据报文的源MAC地址匹配MAC VLAN表项。首先进行模糊匹配,即查询MAC VLAN表中掩码不是全F的表项,将源MAC地址和掩码相与运算后与MAC VLAN表项中的MAC地址匹配,如果完全相同,则模糊匹配成功,给报文添加表项中对应的VLAN Tag并转发该报文;如果模糊匹配失败,则进行精确匹配,即查询表中掩码为全F的表项。如果报文中的源MAC地址与某MAC VLAN表项中的MAC地址完全相同,则精确匹配成功,给报文添加表项中对应的VLAN Tag并转发该报文;如果没有找到匹配的MAC VLAN表项,则继续按照其他原则(基于IP子网的VLAN、基于协议的VLAN、基于端口的VLAN)确定报文所属的VLAN,给报文添加对应的VLAN Tag并转发该报文。
· 当端口收到的报文为Tagged报文时,如果报文的VLAN ID在该端口允许通过的VLAN ID列表里,则转发该报文;否则丢弃该报文。
手动配置静态MAC VLAN时,如果不能确定从哪些端口收到指定VLAN的报文,就不能把相应端口加入到MAC VLAN。此时可以采用动态触发端口加入静态MAC VLAN的方式。在该方式下,配置MAC VLAN表项后,需要在端口上开启基于MAC的VLAN功能和MAC VLAN的动态触发功能,不需要手动把端口加入MAC VLAN。
配置动态触发端口加入静态MAC VLAN后,端口在收到报文时,首先判断报文是否携带VLAN Tag,若带VLAN Tag,则直接获取报文源MAC地址;若不带VLAN Tag,则先进行报文VLAN选择(按照基于MAC的VLAN->基于IP子网的VLAN->基于协议的VLAN->基于端口的VLAN的优先次序为该Untagged报文添加对应的VLAN Tag,并获取该VLAN Tag),再获取报文源MAC地址,然后根据报文的源MAC地址和VLAN查询静态MAC VLAN表项:
· 如果报文源MAC地址与MAC VLAN表项中的MAC地址精确匹配,再检查报文的VLAN ID是否与对应表项中的VLAN ID一致,若一致,通过该报文动态触发端口加入相应VLAN,同时转发该报文;否则丢弃该报文。
· 如果报文源MAC地址与MAC VLAN表项的MAC地址不精确匹配,当报文VLAN ID为PVID,判断端口是否允许报文在PVID内转发,若允许,则在PVID中转发该报文,否则丢弃该报文。当报文VLAN ID不为PVID,判断是否报文VLAN ID为Primary VLAN ID且PVID为对应的Secondary VLAN ID,若是,则转发该报文;否则丢弃该报文。处理流程如图1-2所示:
动态MAC VLAN是由接入认证过程来动态决定接入用户报文所属的VLAN。该功能需要和接入认证功能配合使用,以实现终端的安全、灵活接入。在设备上配置动态MAC VLAN功能以后,还需要在接入认证服务器上配置用户名和VLAN的绑定关系。
如果用户发起认证请求,接入认证服务器先对用户名和密码进行验证,如果验证通过,服务器下发VLAN信息。此时设备根据请求报文的源MAC地址和下发的VLAN信息生成动态MAC VLAN表项(要求与已有的静态MAC VLAN表项不能冲突),并将MAC VLAN添加到端口允许通过的VLAN列表中。用户下线后,设备自动删除MAC VLAN表项,并将MAC VLAN从端口允许通过的VLAN列表中删除。
有关接入认证功能的详细介绍请参见“安全配置指导”中的“MAC地址认证”。
基于IP子网的VLAN(简称子网VLAN)是根据报文源IP地址及子网掩码来进行划分的。设备从端口收到Untagged报文后,会根据报文的源IP地址来确定报文所属的VLAN,然后将报文自动划分到指定VLAN中传输。
此特性主要用于将指定网段或IP地址的报文划分到指定的VLAN中传送。
不同VLAN间的主机不能直接通信,通过在设备上创建并配置VLAN接口,可以实现VLAN间的三层互通。
VLAN接口是一种三层的虚拟接口,它不作为物理实体存在于设备上。每个VLAN对应一个VLAN接口,在为VLAN接口配置了IP地址后,该IP地址即可作为本VLAN内网络设备的网关地址,此时该VLAN接口能对需要跨网段的报文进行三层转发。
与VLAN相关的协议规范有:
· IEEE 802.1Q:IEEE Standard for Local and Metropolitan Area Networks-Virtual Bridged Local Area Networks
VLAN 1为系统缺省VLAN,用户不能手工创建和删除。
动态学习到的VLAN,以及被其他应用锁定不让删除的VLAN,都不能使用undo vlan命令直接删除。只有将相关配置删除之后,才能删除相应的VLAN。
VLAN配置任务如下:
(1) 创建VLAN
(2) (可选)开启VLAN的流量统计功能
(1) 进入系统视图。
system-view
(2) 创建VLAN。请至少选择其中一项进行配置。
¡ 创建一个VLAN,并进入VLAN视图。
vlan vlan-id
¡ 批量创建VLAN,然后进入VLAN视图。
vlan { vlan-id-list | all }
vlan vlan-id
缺省情况下,系统只有一个缺省VLAN(VLAN 1)。
(3) (可选)指定VLAN的名称。
name text
缺省情况下,VLAN的名称为“VLAN vlan-id”,其中vlan-id为该VLAN的四位数编号,如果该VLAN的编号不足四位,则会在编号前增加0,补齐四位。例如,VLAN 100的名称为“VLAN 0100”。
(4) (可选)配置VLAN的描述信息。
description text
缺省情况下,VLAN的描述信息为“VLAN vlan-id”,其中vlan-id为该VLAN的四位数编号,如果该VLAN的编号不足四位,则会在编号前增加0,补齐四位。例如,VLAN 100的描述信息为“VLAN 0100”。
当您需要检查网络状况或者处理网络故障时,可以在设备上打开VLAN的流量统计功能,对通过VLAN的流量总数(包括所有单播、组播和广播报文)进行统计。
VLAN的流量统计功能会占用一定的系统资源,请在不需要统计信息时及时关闭该功能。
VLAN的流量统计信息是不断累加的,系统不会自动清除,如需清空VLAN的流量统计信息,可执行reset vlan statistics命令清除指定VLAN的统计信息。
(1) 进入系统视图。
system-view
(2) 进入VLAN视图。
vlan vlan-id
(3) 开启VLAN的流量统计功能。
statistics enble
缺省情况下,VLAN的流量统计功能处于关闭状态。
· 当执行undo vlan命令删除的VLAN是某个端口的PVID时,对Access端口,端口的PVID会恢复到VLAN 1;对Trunk或Hybrid端口,端口的PVID配置不会改变,即它们可以使用已经不存在的VLAN作为端口PVID。
· 建议本端设备端口的PVID和相连的对端设备端口的PVID保持一致。
· 建议保证端口的PVID为端口允许通过的VLAN。如果端口不允许某VLAN通过,但是端口的PVID为该VLAN,则端口会丢弃收到的该VLAN的报文或者不带VLAN Tag的报文。
配置基于Access端口的VLAN有两种方法:一种是在VLAN视图下进行配置,另一种是在接口视图下进行配置。
(1) 进入系统视图。
system-view
(2) 进入VLAN视图。
vlan vlan-id
(3) 向当前VLAN中添加一个或一组Access端口。
port interface-list
缺省情况下,系统将所有端口都加入到VLAN 1。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入二层以太网接口视图。
interface interface-type interface-number
¡ 进入二层聚合接口视图。
interface bridge-aggregation interface-number
(3) 配置端口的链路类型为Access类型。
port link-type access
缺省情况下,端口的链路类型为Access。
(4) 将Access端口加入到指定VLAN。
port access vlan vlan-id
缺省情况下,所有Access端口都属于VLAN 1。
在将Access端口加入到指定VLAN之前,该VLAN必须已经存在。
Trunk端口可以加入多个VLAN。基于Trunk端口的VLAN只能在接口视图下配置。
Trunk端口不能直接切换为Hybrid端口,只能先将Trunk端口配置为Access端口,再配置为Hybrid端口。
配置端口PVID后,必须使用port trunk permit vlan命令配置允许PVID的报文通过,接口才能转发PVID的报文。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入二层以太网接口视图。
interface interface-type interface-number
¡ 进入二层聚合接口视图。
interface bridge-aggregation interface-number
(3) 配置端口的链路类型为Trunk类型。
port link-type trunk
缺省情况下,端口的链路类型为Access类型。
(4) 允许指定的VLAN通过当前Trunk端口。
port trunk permit vlan { vlan-id-list | all }
缺省情况下,Trunk端口只允许VLAN 1的报文通过。
(5) (可选)配置Trunk端口的PVID。
port trunk pvid vlan vlan-id
缺省情况下,Trunk端口的PVID为VLAN 1。
Hybrid端口可以加入多个VLAN。基于Hybrid端口的VLAN只能在接口视图下配置。将Hybrid端口加入VLAN时,指定VLAN必须已经存在。
Hybrid端口不能直接切换为Trunk端口,只能先将Hybrid端口配置为Access端口,再配置为Trunk端口。
配置端口PVID后,必须使用port hybrid vlan命令配置允许PVID的报文通过,出接口才能转发PVID的报文。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入二层以太网接口视图。
interface interface-type interface-number
¡ 进入二层聚合接口视图。
interface bridge-aggregation interface-number
(3) 配置端口的链路类型为Hybrid类型。
port link-type hybrid
缺省情况下,端口的链路类型为Access类型。
(4) 允许指定的VLAN通过当前Hybrid端口。
port hybrid vlan vlan-id-list { tagged | untagged }
缺省情况下,Hybrid端口只允许该端口在链路类型为Access时的所属VLAN的报文以Untagged方式通过。
(5) (可选)配置Hybrid端口的PVID。
port hybrid pvid vlan vlan-id
缺省情况下,Hybrid端口的PVID为该端口在链路类型为Access时的所属VLAN。
· 基于MAC的VLAN只对Hybrid端口配置有效。
· 基于MAC的VLAN功能主要在用户的接入设备的下行端口上进行配置,不能和聚合功能同时使用。
(1) 进入系统视图。
system-view
(2) 配置MAC VLAN表项。
mac-vlan mac-address mac-address [ mask mac-mask ] vlan vlan-id [ dot1p priority ]
(3) 进入二层以太网接口视图。
interface interface-type interface-number
(4) 配置端口的链路类型为Hybrid类型。
port link-type hybrid
缺省情况下,所有端口的链路类型均为Access类型。
(5) 允许基于MAC的VLAN通过当前Hybrid端口。
port hybrid vlan vlan-id-list { tagged | untagged }
缺省情况下,Hybrid端口只允许该端口在链路类型为Access时的所属VLAN的报文以Untagged方式通过。
(6) 开启MAC VLAN功能。
mac-vlan enable
缺省情况下,MAC VLAN功能处于关闭状态。
(7) (可选)配置接口的VLAN优先匹配方式。
vlan precedence { mac-vlan | ip-subnet-vlan }
缺省情况下,对于基于MAC的VLAN和基于IP子网的VLAN,优先根据MAC地址来匹配VLAN。
当端口接收报文的源MAC地址精确匹配了MAC VLAN表项时,动态触发端口加入MAC VLAN。源MAC地址匹配的VLAN必须是静态VLAN(本地手工创建的VLAN)。
端口自动加入MAC VLAN表项中相应的VLAN时,若端口此前未配置允许该VLAN通过,则端口自动以Untagged方式加入该VLAN;若端口此前已配置允许该VLAN通过,则不改变原有配置。
当端口对MAC VLAN的中的报文进行转发时,根据MAC VLAN的优先级(MAC地址对应VLAN的802.1p优先级)高低来决定报文传输的优先程度。
· 如果用户在同一端口上同时配置了1.4.2 手动配置静态MAC VLAN和1.4.3 配置动态触发端口加入静态MAC VLAN,此时该端口选择使用后者的功能。
· 不建议MAC VLAN的动态触发功能和MAC地址认证功能同时使用,否则会影响MAC地址认证功能的正常工作。
· 不建议同时配置MAC VLAN的动态触发功能和MAC地址禁止学习功能,否则仅精确匹配了MAC VLAN的流量能够正常转发,未精确匹配MAC VLAN的流量将被丢弃。
· 配置MSTP情况下,如果端口在要加入的VLAN对应的MSTP实例中是阻塞状态,则端口会丢弃收到的报文,造成MAC地址不能上送,不能完成动态触发端口加入静态MAC VLAN,因此不建议本功能和多实例MSTP同时使用。
(1) 进入系统视图。
system-view
(2) 配置MAC VLAN表项。
mac-vlan mac-address mac-address vlan vlan-id [ dot1p priority ]
(3) 进入二层以太网接口视图。
interface interface-type interface-number
(4) 配置端口的链路类型为Hybrid类型。
port link-type hybrid
缺省情况下,所有端口的链路类型均为Access类型。
(5) 开启MAC VLAN功能。
mac-vlan enable
缺省情况下,MAC VLAN功能处于关闭状态。
(6) 开启MAC VLAN的动态触发功能。
mac-vlan trigger enable
缺省情况下,MAC VLAN的动态触发功能处于关闭状态。
(7) (可选)配置接口优先根据MAC地址来匹配VLAN。
vlan precedence mac-vlan
缺省情况下,对于基于MAC的VLAN和基于IP子网的VLAN,优先根据MAC地址来匹配VLAN。
(8) (可选)配置当报文源MAC地址与MAC VLAN表项的MAC地址未精确匹配时,禁止该报文在PVID内转发。
port pvid forbidden
缺省情况下,当报文源MAC地址与MAC VLAN表项的MAC地址未精确匹配时,允许该报文在PVID内转发。
(1) 进入系统视图。
system-view
(2) 进入二层以太网接口视图。
interface interface-type interface-number
(3) 配置端口的链路类型为Hybrid类型。
port link-type hybrid
缺省情况下,所有端口的链路类型均为Access类型。
(4) 允许基于MAC的VLAN通过当前Hybrid端口。
port hybrid vlan vlan-id-list { tagged | untagged }
缺省情况下,Hybrid端口只允许该端口在链路类型为Access时的所属VLAN的报文以Untagged方式通过。
(5) 开启MAC VLAN功能。
mac-vlan enable
缺省情况下,MAC VLAN功能处于关闭状态。
(6) (可选)配置接口的VLAN优先匹配方式。
vlan precedence { mac-vlan | ip-subnet-vlan }
缺省情况下,对于基于MAC的VLAN和基于IP子网的VLAN,优先根据MAC地址来匹配VLAN。
(7) 配置MAC地址认证。请参见“安全命令参考”中的“MAC地址认证”。
基于IP子网的VLAN只对Hybrid端口配置有效,只对Untagged报文应用。
(1) 进入系统视图。
system-view
(2) 进入VLAN视图。
vlan vlan-id
(3) 配置VLAN与指定的IP子网或IP地址关联。
ip-subnet-vlan [ ip-subnet-index ] ip ip-address [ mask ]
缺省情况下,VLAN未关联IP子网或IP地址。
VLAN关联的IP网段或IP地址不允许是组播网段或组播地址。
(4) 退回系统视图。
quit
(5) 进入接口视图。
¡ 进入二层以太网接口视图。
interface interface-type interface-number
¡ 进入二层聚合接口视图。
interface bridge-aggregation interface-number
(6) 配置端口的链路类型为Hybrid类型。
port link-type hybrid
缺省情况下,所有端口的链路类型均为Access类型。
(7) 允许子网VLAN通过当前端口。
port hybrid vlan vlan-id-list { tagged | untagged }
缺省情况下,Hybrid端口只允许该端口在链路类型为Access时的所属VLAN的报文以Untagged方式通过。
(8) 配置端口与子网VLAN关联。
port hybrid ip-subnet-vlan vlan vlan-id
缺省情况下,端口未关联子网VLAN。
VLAN组是一组VLAN的集合。VLAN组内可以添加多个VLAN列表,一个VLAN列表表示一组VLAN ID连续的VLAN。
认证服务器可以通过下发VLAN组名的方式为通过MAC地址认证的用户下发一组授权VLAN。有关MAC地址认证的详细介绍,请参见“安全配置指导”中的“MAC地址认证”。
(1) 进入系统视图。
system-view
(2) 创建一个VLAN组,并进入VLAN组视图。
vlan-group group-name
(3) 在VLAN组内添加VLAN成员。
vlan-list vlan-id-list
缺省情况下,当前VLAN组中不存在VLAN列表。
可以多次在当前VLAN组内添加VLAN成员。
配置VLAN接口基本属性时,需要注意的是不能对Primary VLAN interface下配置了三层互通的Secondary VLAN创建对应的VLAN接口。有关Secondary VLAN的详细介绍,请参见“二层技术-以太网交换配置指导”中的“Private VLAN”。
VLAN接口配置任务如下:
(1) 创建VLAN接口
(2) (可选)恢复VLAN接口的缺省配置
在创建VLAN接口之前,对应的VLAN必须已经存在,否则将不能创建指定的VLAN接口。
(1) 进入系统视图。
system-view
(2) 创建VLAN接口,并进入VLAN接口视图。
interface vlan-interface interface-number
(3) 配置VLAN接口的IP地址。
ip address ip-address { mask | mask-length } [ sub ]
缺省情况下,未配置VLAN接口的IP地址。
(4) (可选)配置VLAN接口的描述信息。
description text
缺省情况下,VLAN接口的描述信息为该VLAN接口的接口名,如“Vlan-interface1 Interface”。
(5) (可选)配置VLAN接口的MTU值。
mtu size
缺省情况下,VLAN接口的MTU值为1500字节。
(6) (可选)配置VLAN接口的期望带宽。
bandwidth bandwidth-value
缺省情况下,接口的期望带宽=接口的波特率÷1000(kbps)。
(7) 取消手工关闭VLAN接口。
undo shutdown
缺省情况下,VLAN接口未手工关闭。
您可以在执行default命令后通过display this命令确认执行效果。对于未能成功恢复缺省的配置,建议您查阅相关功能的命令手册,手工执行恢复该配置缺省情况的命令。如果操作仍然不能成功,您可以通过设备的提示信息定位原因。
(1) 进入系统视图。
(2) system-view
(3) 进入VLAN接口视图。
interface vlan-interface interface-number
(4) 恢复VLAN接口的缺省配置。
Default
接口下的某些配置恢复到缺省情况后,会对设备上当前运行的业务产生影响。建议您在执行该命令前,完全了解其对网络产生的影响。
缺省情况下,设备发送的协议报文的802.1p优先级为6。但某些设备收到优先级为6的报文后会丢弃或不处理,影响了各类协议在网络中的正常运行。此时需要通过本命令修改本设备发送的协议报文的802.1p优先级。
配置本功能后,会修改设备发送的以下类型协议报文的802.1p优先级:ARP、NTP、OSPF、PIM、SSH和Telnet。
(1) 进入系统视图。
system-view
(2) 配置设备发送的协议报文的802.1p优先级。
control-packet dot1p priority
缺省情况下,设备发送的协议报文的802.1p优先级为6。
在完成上述配置后,在任意视图下执行display命令可以显示配置后VLAN的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除VLAN接口统计信息。
表1-2 VLAN显示和维护
操作 |
命令 |
|
显示VLAN接口相关信息 |
display interface [ vlan-interface [ interface-number ] ] [ brief [ description | down ] ] |
|
显示端口关联的子网VLAN的信息 |
display ip-subnet-vlan interface { interface-type interface-number1 [ to interface-type interface-number2 ] | all } |
|
显示指定的或所有子网VLAN的信息 |
display ip-subnet-vlan vlan { vlan-id1 [ to vlan-id2 ] | all } |
|
显示MAC VLAN表项 |
display mac-vlan { all | dynamic | mac-address mac-address [ mask mac-mask ] | static | vlan vlan-id } |
|
显示所有开启了MAC VLAN功能的接口 |
display mac-vlan interface |
|
显示设备上存在的Hybrid或Trunk端口 |
display port { hybrid | trunk } |
|
显示VLAN相关信息 |
display vlan [ vlan-id1 [ to vlan-id2 ] | all | dynamic | reserved | static ] |
|
显示设备上所有已创建VLAN的概要信息 |
display vlan brief |
|
显示VLAN的流量统计信息 |
display vlan vlan-id statistics [ slot slot-number ] |
|
显示创建的VLAN组及其VLAN成员列表 |
display vlan-group [ group-name ] |
|
清除VLAN接口的统计信息 |
reset counters interface [ vlan-interface [ interface-number ] ] |
|
清除VLAN的流量统计信息 |
reset vlan vlan-id statistics [ slot slot-number ] |
|
· Host A和Host C属于部门A,但是通过不同的设备接入公司网络;Host B和Host D属于部门B,也通过不同的设备接入公司网络。
· 为了通信的安全性,也为了避免广播报文泛滥,公司网络中使用VLAN技术来隔离部门间的二层流量。其中部门A使用VLAN 100,部门B使用VLAN 200。
图1-3 基于端口的VLAN组网图
(1) 配置Device A
# 创建VLAN 100,并将GigabitEthernet1/0/21加入VLAN 100。
<DeviceA> system-view
[DeviceA] vlan 100
[DeviceA-vlan100] port gigabitethernet 1/0/21
[DeviceA-vlan100] quit
# 创建VLAN 200,并将GigabitEthernet1/0/22加入VLAN 200。
[DeviceA] vlan 200
[DeviceA-vlan200] port gigabitethernet 1/0/22
[DeviceA-vlan200] quit
# 为了使Device A上VLAN 100和VLAN 200的报文能发送给Device B,将GigabitEthernet1/0/23的链路类型配置为Trunk,并允许VLAN 100和VLAN 200的报文通过。
[DeviceA] interface gigabitethernet 1/0/23
[DeviceA-GigabitEthernet1/0/23] port link-type trunk
[DeviceA-GigabitEthernet1/0/23] port trunk permit vlan 100 200
(2) Device B上的配置与Device A上的配置相同,不再赘述。
(3) 将Host A和Host C配置在一个网段,比如192.168.100.0/24;将Host B和Host D配置在一个网段,比如192.168.200.0/24。
(1) Host A和Host C能够互相ping通,但是均不能ping通Host B和Host D。Host B和Host D能够互相ping通,但是均不能ping通Host A和Host C。
(2) 通过查看显示信息验证配置是否成功。
# 查看Device A上VLAN 100和VLAN 200的配置信息,验证以上配置是否生效。
[DeviceA-GigabitEthernet1/0/23] display vlan 100
VLAN ID: 100
VLAN type: Static
Route interface: Not configured
Description: VLAN 0100
Name: VLAN 0100
Tagged ports:
GigabitEthernet1/0/23(U)
Untagged ports:
GigabitEthernet1/0/21(U)
[DeviceA-GigabitEthernet1/0/23] display vlan 200
VLAN ID: 200
VLAN type: Static
Route interface: Not configured
Description: VLAN 0200
Name: VLAN 0200
Tagged ports:
GigabitEthernet1/0/23(U)
Untagged ports:
GigabitEthernet1/0/22(U)
· 如下图所示,Device A和Device C的GigabitEthernet1/0/21端口分别连接到两个会议室,Laptop1和Laptop2是会议用笔记本电脑,会在两个会议室间移动使用。
· Laptop1和Laptop2分别属于两个部门,两个部门间使用VLAN 100和VLAN 200进行隔离。现要求这两台笔记本电脑无论在哪个会议室使用,均只能访问自己部门的服务器,即Server1和Server2。
图1-4 基于MAC的VLAN组网图
(1) Device A的配置
# 创建VLAN 100和VLAN 200。
<DeviceA> system-view
[DeviceA] vlan 100
[DeviceA-vlan100] quit
[DeviceA] vlan 200
[DeviceA-vlan200] quit
# 将Laptop1的MAC地址与VLAN 100关联,Laptop2的MAC地址与VLAN 200关联。
[DeviceA] mac-vlan mac-address 000d-88f8-4e71 vlan 100
[DeviceA] mac-vlan mac-address 0014-222c-aa69 vlan 200
# 配置终端的接入端口:Laptop1和Laptop2均可能从GigabitEthernet1/0/21接入,将GigabitEthernet1/0/21的端口类型配置为Hybrid,并使其在发送VLAN 100和VLAN 200的报文时去掉VLAN Tag;开启GigabitEthernet1/0/21端口的MAC VLAN功能。
[DeviceA] interface gigabitethernet 1/0/21
[DeviceA-GigabitEthernet1/0/21] port link-type hybrid
[DeviceA-GigabitEthernet1/0/21] port hybrid vlan 100 200 untagged
[DeviceA-GigabitEthernet1/0/21] mac-vlan enable
[DeviceA-GigabitEthernet1/0/21] quit
# 为了终端能够访问Server1和Server2,需要将上行端口GigabitEthernet1/0/22的端口类型配置为Trunk,并允许VLAN 100和VLAN 200的报文通过。
[DeviceA] interface gigabitethernet 1/0/22
[DeviceA-GigabitEthernet1/0/22] port link-type trunk
[DeviceA-GigabitEthernet1/0/22] port trunk permit vlan 100 200
[DeviceA-GigabitEthernet1/0/22] quit
(2) Device B的配置
# 创建VLAN 100和VLAN 200,并将GigabitEthernet1/0/23加入VLAN 100,GigabitEthernet1/0/24加入VLAN 200。
<DeviceB> system-view
[DeviceB] vlan 100
[DeviceB-vlan100] port gigabitethernet 1/0/23
[DeviceB-vlan100] quit
[DeviceB] vlan 200
[DeviceB-vlan200] port gigabitethernet 1/0/24
[DeviceB-vlan200] quit
# 配置GigabitEthernet1/0/21和GigabitEthernet1/0/22端口为Trunk端口,均允许VLAN 100和VLAN 200的报文通过。
[DeviceB] interface gigabitethernet 1/0/21
[DeviceB-GigabitEthernet1/0/21] port link-type trunk
[DeviceB-GigabitEthernet1/0/21] port trunk permit vlan 100 200
[DeviceB-GigabitEthernet1/0/21] quit
[DeviceB] interface gigabitethernet 1/0/22
[DeviceB-GigabitEthernet1/0/22] port link-type trunk
[DeviceB-GigabitEthernet1/0/22] port trunk permit vlan 100 200
[DeviceB-GigabitEthernet1/0/22] quit
(3) Device C的配置
Device C的配置与Device A完全一致,这里不再赘述。
(1) Laptop1只能访问Server1,不能访问Server2;Laptop2只能访问Server2,不能访问Server1。
(2) 在Device A和Device C上可以查看到Laptop1和VLAN 100、Laptop2和VLAN 200的静态MAC VLAN地址表项已经生成。以Device A为例:
[DeviceA] display mac-vlan all
The following MAC VLAN addresses exist:
S:Static D:Dynamic
MAC address Mask VLAN ID Dot1p State
000d-88f8-4e71 ffff-ffff-ffff 100 0 S
0014-222c-aa69 ffff-ffff-ffff 200 0 S
Total MAC VLAN address count: 2
如下图所示,办公区的主机属于不同的网段192.168.5.0/24和192.168.50.0/24,Device C在收到来自办公区主机的报文时,根据报文的源IP地址,使来自不同网段主机的报文分别在指定的VLAN中传输,其中,来自网段192.168.5.0/24的报文在VLAN 100中传输,来自网段192.168.50.0/24的报文在VLAN 200中传输。
图1-5 基于IP子网的VLAN组网图
(1) 配置Device C
# 配置子网192.168.5.0/24与VLAN 100关联。
<DeviceC> system-view
[DeviceC] vlan 100
[DeviceC-vlan100] ip-subnet-vlan ip 192.168.5.0 255.255.255.0
[DeviceC-vlan100] quit
# 配置子网192.168.50.0/24与VLAN 200关联。
[DeviceC] vlan 200
[DeviceC-vlan200] ip-subnet-vlan ip 192.168.50.0 255.255.255.0
[DeviceC-vlan200] quit
# 配置端口GigabitEthernet1/0/22为Hybrid端口,允许VLAN 100通过,并且在发送VLAN 100的报文时携带VLAN Tag。
[DeviceC] interface gigabitethernet 1/0/22
[DeviceC-GigabitEthernet1/0/22] port link-type hybrid
[DeviceC-GigabitEthernet1/0/22] port hybrid vlan 100 tagged
[DeviceC-GigabitEthernet1/0/22] quit
# 配置端口GigabitEthernet1/0/23为Hybrid端口,允许VLAN 200通过,并且在发送VLAN 200的报文时携带VLAN Tag。
[DeviceC] interface gigabitethernet 1/0/23
[DeviceC-GigabitEthernet1/0/23] port link-type hybrid
[DeviceC-GigabitEthernet1/0/23] port hybrid vlan 200 tagged
[DeviceC-GigabitEthernet1/0/23] quit
# 配置端口GigabitEthernet1/0/21为Hybrid端口,允许VLAN 100、200通过,并且在发送VLAN 100、200的报文时不携带VLAN Tag。
[DeviceC] interface gigabitethernet 1/0/21
[DeviceC-GigabitEthernet1/0/21] port link-type hybrid
[DeviceC-GigabitEthernet1/0/21] port hybrid vlan 100 200 untagged
# 配置端口GigabitEthernet1/0/21和基于IP子网的VLAN 100、200关联。
[DeviceC-GigabitEthernet1/0/21] port hybrid ip-subnet-vlan vlan 100
[DeviceC-GigabitEthernet1/0/21] port hybrid ip-subnet-vlan vlan 200
[DeviceC-GigabitEthernet1/0/21] quit
(2) 配置Device A和Device B
配置Device A和Device B允许对应VLAN通过,配置过程略。
# 查看所有子网VLAN的信息。
[DeviceC] display ip-subnet-vlan vlan all
VLAN ID: 100
Subnet index IP address Subnet mask
0 192.168.5.0 255.255.255.0
VLAN ID: 200
Subnet index IP address Subnet mask
0 192.168.50.0 255.255.255.0
# 查看端口GigabitEthernet1/0/21关联的子网VLAN的信息。
[DeviceC] display ip-subnet-vlan interface gigabitethernet 1/0/21
Interface: GigabitEthernet1/0/21
VLAN ID Subnet index IP address Subnet mask Status
100 0 192.168.5.0 255.255.255.0 Active
200 0 192.168.50.0 255.255.255.0 Active
在采用以太网接入的场景中,基于用户安全和管理计费等方面的考虑,一般会要求接入用户互相隔离。VLAN是天然的隔离手段,于是很自然的想法是每个用户一个VLAN。但是,根据IEEE 802.1Q规定,最多可以提供4094个VLAN。如果每个用户一个VLAN,4094个VLAN远远不能满足需求。
Private VLAN采用二层VLAN结构,它在同一台设备上配置Primary VLAN和Secondary VLAN两类VLAN,既能够保证接入用户之间相互隔离,又能将接入的VLAN ID屏蔽掉,从而节省了VLAN资源。
· Primary VLAN:用于连接上行设备,一个Primary VLAN可以和多个Secondary VLAN相对应。上行连接的设备只需知道Primary VLAN,而不必关心Secondary VLAN,Primary VLAN下面的Secondary VLAN对上行设备不可见。
· Secondary VLAN:用于连接用户,Secondary VLAN之间二层报文互相隔离。如果希望实现同一Primary VLAN下Secondary VLAN用户之间报文的互通,可以通过配置上行设备(如图2-1中的L3 Device A)的本地代理ARP/ND功能来实现三层报文的互通。
如图2-1所示,L2 Device B上启动了Private VLAN功能。其中VLAN 10是Primary VLAN,VLAN 2、VLAN 5、VLAN 8是Secondary VLAN,VLAN 2、VLAN 5、VLAN 8都映射到VLAN 10,VLAN 2、VLAN 5、VLAN 8对L3 Device A不可见。
如果配置Private VLAN功能的设备为三层设备,Secondary VLAN间及Secondary VLAN与外部需要进行三层互通,则可以通过在本地设备上创建Secondary对应的VLAN接口(即Secondary VLAN interface),并在该Secondary VLAN interface上配置IP地址来实现;或者通过在本地设备上配置Primary VLAN下指定Secondary VLAN间三层互通,同时创建Primary VLAN interface(但不能创建Secondary VLAN interface),并在Primary VLAN interface上配置IP地址和本地代理ARP/ND功能来实现。
在完成Private VLAN的配置后,建议用户作如下确认:
· 对于工作模式为promiscuous的端口,确保该端口的PVID为Primary VLAN,该端口以Untagged方式加入Primary VLAN和Secondary VLAN;
· 对于工作模式为trunk promiscuous/trunk secondary的端口,确保该端口以Tagged方式加入Primary VLAN和Secondary VLAN;
· 对于工作模式为host的端口,确保该端口的PVID为Secondary VLAN,该端口以Untagged方式加入Primary VLAN和Secondary VLAN。
配置Primary VLAN后,系统会自动将Secondary VLAN的动态MAC地址表项同步到Primary VLAN。
系统缺省VLAN(VLAN 1)不支持Private VLAN相关配置。
Private VLAN配置任务如下:
(1) 创建Primary VLAN
(2) 创建Secondary VLAN
(3) 配置Primary VLAN和Secondary VLAN间的映射关系
(4) 配置上行端口
(5) 配置下行端口
(6) (可选)配置Primary VLAN下指定Secondary VLAN间三层互通
(1) 进入系统视图。
system-view
(2) 创建VLAN,并进入VLAN视图。
vlan vlan-id
(3) 配置VLAN的类型为Primary VLAN。
private-vlan primary
缺省情况下,VLAN的类型不是Primary VLAN。
(1) 进入系统视图。
system-view
(2) 创建一个或多个Secondary VLAN。
vlan { vlan-id-list | all }
(1) 进入系统视图。
system-view
(2) 进入Primary VLAN视图。
vlan vlan-id
(3) 建立Primary VLAN和Secondary VLAN的映射关系。
private-vlan secondary vlan-id-list
缺省情况下,未建立Primary VLAN和Secondary VLAN的映射关系。
当上行端口(如图2-1中L2 Device B上与L3 Device A相连的端口)只对应一个Primary VLAN时,配置该端口工作在promiscuous模式,可以实现上行端口加入Primary VLAN及同步加入对应的Secondary VLAN的功能;当上行端口对应多个Primary VLAN时,配置该端口工作在trunk promiscuous模式,可以实现上行端口加入多个Primary VLAN及同步加入各自对应的Secondary VLAN的功能。
(1) 进入系统视图。
system-view
(2) 进入上行端口视图。
interface interface-type interface-number
(3) 配置上行端口工作模式。请选择其中一项进行配置。
¡ 配置上行端口在指定VLAN中工作在promiscuous模式。
port private-vlan vlan-id promiscuous
¡ 配置上行端口在指定VLAN中工作在trunk promiscuous模式。
port private-vlan vlan-id-list trunk promiscuous
缺省情况下,端口在指定VLAN中不工作在promiscuous/trunk promiscuous模式。
当下行端口(如图2-1中L2 Device B上与用户相连的端口)只对应一个Secondary VLAN时,配置该端口工作在host模式,可以实现下行端口同步加入Secondary VLAN对应的Primary VLAN的功能;当下行端口对应多个Secondary VLAN时,配置该端口工作在trunk secondary模式,可以实现下行端口加入多个Secondary VLAN及同步加入各自对应的Primary VLAN的功能。
(1) 进入系统视图。
system-view
(2) 进入下行端口视图。
interface interface-type interface-number
(3) 配置端口的链路类型。
port link-type { access | hybrid | trunk }
(4) 配置下行端口加入Secondary VLAN。请选择其中一项进行配置。
¡ 将Access端口加入Secondary VLAN。
port access vlan vlan-id
¡ 将Trunk端口加入Secondary VLAN。
port trunk permit vlan { vlan-id-list | all }
¡ 将Hybrid端口加入Secondary VLAN。
port hybrid vlan vlan-id-list { tagged | untagged }
(5) 配置下行端口的工作模式。请选择其中一项进行配置。
¡ 配置下行端口在指定VLAN中工作在trunk secondary模式。
port private-vlan vlan-id-list trunk secondary
¡ 配置下行端口工作在host模式。
port private-vlan host
缺省情况下,端口不工作在trunk secondary/host模式。
(6) (可选)配置同一Secondary VLAN内各端口二层互通。
a. 退回系统视图。
quit
b. 进入Secondary VLAN视图。
vlan vlan-id
c. 请选择其中一项进行配置。
undo private-vlan isolated
private-vlan community
缺省情况下,同一Secondary VLAN内的端口能够二层互通。
(1) 进入系统视图。
system-view
(2) 进入Primary VLAN interface视图。
interface vlan-interface interface-number
(3) 配置当前Primary VLAN下指定的Secondary VLAN间三层互通。
private-vlan secondary vlan-id-list
缺省情况下,Secondary VLAN之间三层不互通。
(4) 配置Primary VLAN接口的IP地址。请选择其中一项进行配置。
¡ 在IPv4环境,为Primary VLAN接口配置IPv4地址。
ip address ip-address { mask-length | mask } [ sub ]
¡ 在IPv6环境,为Primary VLAN接口配置IPv6地址。
ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length }
缺省情况下,没有配置VLAN接口的IP地址。
(5) 开启本地代理ARP功能或本地代理ND功能。请选择其中一项进行配置。
¡ 在IPv4环境,开启本地代理ARP功能。
local-proxy-arp enable
缺省情况下,本地代理ARP功能处于关闭状态。
本地代理ARP功能的相关介绍请参见“三层技术-IP业务配置指导”中的“代理ARP”。
¡ 在IPv6环境,开启本地代理ND功能。
local-proxy-nd enable
缺省情况下,本地代理ND功能处于关闭状态。
本地代理ND功能的相关介绍请参见“三层技术-IP业务配置指导”中的“IPv6基础”。
在完成上述配置后,在任意视图下执行display命令可以显示配置后Private VLAN的运行情况,通过查看显示信息验证配置的效果。
表2-1 Private VLAN显示和维护
操作 |
命令 |
显示Primary VLAN和其包含的Secondary VLAN的信息 |
display private-vlan [ primary-vlan-id ] |
· Device B上的Primary VLAN 5包含上行端口GigabitEthernet1/0/17,并关联两个Secondary VLAN(VLAN 2和VLAN 3),其中,VLAN 2包含端口GigabitEthernet1/0/22,VLAN 3包含端口GigabitEthernet1/0/23。
· Device C上的Primary VLAN 6包含上行端口GigabitEthernet1/0/17,并关联两个Secondary VLAN(VLAN 3和VLAN 4),其中,VLAN 3包含端口GigabitEthernet1/0/23,VLAN 4包含端口GigabitEthernet1/0/24。
· 从Device A看,下接的Device B只有一个VLAN(VLAN 5),下接的Device C只有一个VLAN(VLAN 6)。
图2-2 组网图
下面只列出Device B和Device C的配置过程。
(1) 配置Device B
# 配置VLAN 5为Primary VLAN。
<DeviceB> system-view
[DeviceB] vlan 5
[DeviceB-vlan5] private-vlan primary
[DeviceB-vlan5] quit
# 创建Secondary VLAN 2、3。
[DeviceB] vlan 2 to 3
# 配置Primary VLAN 5和Secondary VLAN 2、3的映射关系。
[DeviceB] vlan 5
[DeviceB-vlan5] private-vlan secondary 2 to 3
[DeviceB-vlan5] quit
# 配置上行端口GigabitEthernet1/0/17在VLAN 5中工作在promiscuous模式。
[DeviceB] interface gigabitethernet 1/0/17
[DeviceB-GigabitEthernet1/0/17] port private-vlan 5 promiscuous
[DeviceB-GigabitEthernet1/0/17] quit
# 将下行端口GigabitEthernet1/0/22、GigabitEthernet1/0/23分别添加到VLAN 2、VLAN 3,并配置它们工作在host模式。
[DeviceB] interface gigabitethernet 1/0/22
[DeviceB-GigabitEthernet1/0/22] port access vlan 2
[DeviceB-GigabitEthernet1/0/22] port private-vlan host
[DeviceB-GigabitEthernet1/0/22] quit
[DeviceB] interface gigabitethernet 1/0/23
[DeviceB-GigabitEthernet1/0/23] port access vlan 3
[DeviceB-GigabitEthernet1/0/23] port private-vlan host
[DeviceB-GigabitEthernet1/0/23] quit
(2) 配置Device C
# 配置VLAN 6为Primary VLAN。
<DeviceC> system-view
[DeviceC] vlan 6
[DeviceC–vlan6] private-vlan primary
[DeviceC–vlan6] quit
# 创建Secondary VLAN 3、4。
[DeviceC] vlan 3 to 4
# 配置Primary VLAN 6和Secondary VLAN 3、4的映射关系。
[DeviceC] vlan 6
[DeviceC-vlan6] private-vlan secondary 3 to 4
[DeviceC-vlan6] quit
# 配置上行端口GigabitEthernet1/0/17在VLAN 6中工作在promiscuous模式。
[DeviceC] interface gigabitethernet 1/0/17
[DeviceC-GigabitEthernet1/0/17] port private-vlan 6 promiscuous
[DeviceC-GigabitEthernet1/0/17] quit
# 将下行端口GigabitEthernet1/0/23、GigabitEthernet1/0/24分别添加到VLAN 3、VLAN 4,并配置它们工作在host模式。
[DeviceC] interface gigabitethernet 1/0/23
[DeviceC-GigabitEthernet1/0/23] port access vlan 3
[DeviceC-GigabitEthernet1/0/23] port private-vlan host
[DeviceC-GigabitEthernet1/0/23] quit
[DeviceC] interface gigabitethernet 1/0/24
[DeviceC-GigabitEthernet1/0/24] port access vlan 4
[DeviceC-GigabitEthernet1/0/24] port private-vlan host
[DeviceC-GigabitEthernet1/0/24] quit
# 显示Device B上的Private VLAN配置情况(Device C的显示结果类似,这里不再列出)。
[DeviceB] display private-vlan
Primary VLAN ID: 5
Secondary VLAN ID: 2-3
VLAN ID: 5
VLAN type: Static
Private VLAN type: Primary
Route interface: Not configured
Description: VLAN 0005
Name: VLAN 0005
Tagged ports: None
Untagged ports:
GigabitEthernet1/0/22
GigabitEthernet1/0/23
GigabitEthernet1/0/17
VLAN ID: 2
VLAN type: Static
Private VLAN type: Secondary
Route interface: Not configured
Description: VLAN 0002
Name: VLAN 0002
Tagged ports: None
Untagged ports:
GigabitEthernet1/0/22
GigabitEthernet1/0/17
VLAN ID: 3
VLAN type: Static
Private VLAN type: Secondary
Route interface: Not configured
Description: VLAN 0003
Name: VLAN 0003
Tagged Ports: None
Untagged Ports:
GigabitEthernet1/0/23
GigabitEthernet1/0/17
可以看到,工作在promiscuous模式的端口GigabitEthernet1/0/17和工作在host模式的端口GigabitEthernet1/0/22和GigabitEthernet1/0/23均以Untagged方式允许VLAN报文通过。
· Device B上的VLAN 5和VLAN 10为Primary VLAN,其上行端口GigabitEthernet1/0/21需要允许VLAN 5和VLAN 10的报文携带VLAN Tag通过。
· Device B的下行端口GigabitEthernet1/0/22允许Secondary VLAN 2通过,GigabitEthernet1/0/23允许Secondary VLAN 3通过,Secondary VLAN 2、3映射到Primary VLAN 5。
· Device B的下行端口GigabitEthernet1/0/24允许Secondary VLAN 6通过,GigabitEthernet1/0/17允许Secondary VLAN 8通过,Secondary VLAN 6、8映射到Primary VLAN 10。
· 从Device A看,下接的Device B只有VLAN 5和VLAN 10。
图2-3 组网图
(1) 配置Device B
# 配置VLAN 5和VLAN 10为Primary VLAN。
<DeviceB> system-view
[DeviceB] vlan 5
[DeviceB-vlan5] private-vlan primary
[DeviceB-vlan5] quit
[DeviceB] vlan 10
[DeviceB-vlan10] private-vlan primary
[DeviceB-vlan10] quit
# 创建Secondary VLAN 2、3、6、8。
[DeviceB] vlan 2 to 3
[DeviceB] vlan 6
[DeviceB-vlan6] quit
[DeviceB] vlan 8
[DeviceB-vlan8] quit
# 配置Primary VLAN 5和Secondary VLAN 2、3的映射关系。
[DeviceB] vlan 5
[DeviceB-vlan5] private-vlan secondary 2 to 3
[DeviceB-vlan5] quit
# 配置Primary VLAN 10和Secondary VLAN 6、8的映射关系。
[DeviceB] vlan 10
[DeviceB-vlan10] private-vlan secondary 6 8
[DeviceB-vlan10] quit
# 配置上行端口GigabitEthernet1/0/21在VLAN 5和VLAN 10中工作在trunk promiscuous模式。
[DeviceB] interface gigabitethernet 1/0/21
[DeviceB-GigabitEthernet1/0/21] port private-vlan 5 10 trunk promiscuous
[DeviceB-GigabitEthernet1/0/21] quit
# 将下行端口GigabitEthernet1/0/22加入VLAN 2,GigabitEthernet1/0/23加入VLAN 3,并配置它们工作在host模式。
[DeviceB] interface gigabitethernet 1/0/22
[DeviceB-GigabitEthernet1/0/22] port access vlan 2
[DeviceB-GigabitEthernet1/0/22] port private-vlan host
[DeviceB-GigabitEthernet1/0/22] quit
[DeviceB] interface gigabitethernet 1/0/23
[DeviceB-GigabitEthernet1/0/23] port access vlan 3
[DeviceB-GigabitEthernet1/0/23] port private-vlan host
[DeviceB-GigabitEthernet1/0/23] quit
# 将下行端口GigabitEthernet1/0/24加入VLAN 6,GigabitEthernet1/0/17加入VLAN 8,并配置它们工作在host模式。
[DeviceB] interface gigabitethernet 1/0/24
[DeviceB-GigabitEthernet1/0/24] port access vlan 6
[DeviceB-GigabitEthernet1/0/24] port private-vlan host
[DeviceB-GigabitEthernet1/0/24] quit
[DeviceB] interface gigabitethernet 1/0/17
[DeviceB-GigabitEthernet1/0/17] port access vlan 8
[DeviceB-GigabitEthernet1/0/17] port private-vlan host
[DeviceB-GigabitEthernet1/0/17] quit
(2) 配置Device A
# 创建VLAN 5和VLAN 10。
[DeviceA] vlan 5
[DeviceA-vlan5] quit
[DeviceA] vlan 10
[DeviceA-vlan10] quit
# 配置端口GigabitEthernet1/0/21为Hybrid端口,并允许VLAN 5和VLAN 10携带Tag通过。
[DeviceA] interface gigabitethernet 1/0/21
[DeviceA-GigabitEthernet1/0/21] port link-type hybrid
[DeviceA-GigabitEthernet1/0/21] port hybrid vlan 5 10 tagged
[DeviceA-GigabitEthernet1/0/21] quit
# 显示Device B上的Primary VLAN 5配置情况(Primary VLAN 10的显示结果类似,这里不再列出)。
[DeviceB] display private-vlan 5
Primary VLAN ID: 5
Secondary VLAN ID: 2-3
VLAN ID: 5
VLAN type: Static
Private VLAN type: Primary
Route interface: Not configured
Description: VLAN 0005
Name: VLAN 0005
Tagged ports:
GigabitEthernet1/0/21
Untagged ports:
GigabitEthernet1/0/22
GigabitEthernet1/0/23
VLAN ID: 2
VLAN type: Static
Private VLAN type: Secondary
Route interface: Not configured
Description: VLAN 0002
Name: VLAN 0002
Tagged ports:
GigabitEthernet1/0/21
Untagged ports:
GigabitEthernet1/0/22
VLAN ID: 3
VLAN type: Static
Private VLAN type: Secondary
Route interface: Not configured
Description: VLAN 0003
Name: VLAN 0003
Tagged ports:
GigabitEthernet1/0/21
Untagged ports:
GigabitEthernet1/0/23
可以看到,工作在trunk promiscuous模式的端口GigabitEthernet1/0/21以Tagged方式允许VLAN报文通过,工作在host模式的端口GigabitEthernet1/0/22和GigabitEthernet1/0/23以Untagged方式允许VLAN报文通过。
· Device A上的VLAN 10和VLAN 20为Primary VLAN,上行端口GigabitEthernet1/0/17需要允许VLAN 10和VLAN 20的报文携带VLAN Tag通过。
· Device A上的VLAN 11、12、21、22为Secondary VLAN,下行端口GigabitEthernet1/0/22允许Secondary VLAN 11、21的报文携带VLAN Tag通过,下行端口GigabitEthernet1/0/21允许Secondary VLAN 22通过,下行端口GigabitEthernet1/0/23允许Secondary VLAN 12通过。
· Secondary VLAN 11、12映射到Primary VLAN 10;Secondary VLAN 21、22映射到Primary VLAN 20。
图2-4 组网图
(1) 配置Device A
# 配置VLAN 10和VLAN 20为Primary VLAN。
<DeviceA> system-view
[DeviceA] vlan 10
[DeviceA-vlan10] private-vlan primary
[DeviceA-vlan10] quit
[DeviceA] vlan 20
[DeviceA-vlan20] private-vlan primary
[DeviceA-vlan20] quit
# 创建Secondary VLAN 11、12、21、22。
[DeviceA] vlan 11 to 12
[DeviceA] vlan 21 to 22
# 配置Primary VLAN 10和Secondary VLAN 11、12的映射关系。
[DeviceA] vlan 10
[DeviceA-vlan10] private-vlan secondary 11 12
[DeviceA-vlan10] quit
# 配置Primary VLAN 20和Secondary VLAN 21、22的映射关系。
[DeviceA] vlan 20
[DeviceA-vlan20] private-vlan secondary 21 22
[DeviceA-vlan20] quit
# 配置上行端口GigabitEthernet1/0/17在VLAN 10和VLAN 20中工作在trunk promiscuous模式。
[DeviceA] interface gigabitethernet 1/0/17
[DeviceA-GigabitEthernet1/0/17] port private-vlan 10 20 trunk promiscuous
[DeviceA-GigabitEthernet1/0/17] quit
# 将下行端口GigabitEthernet1/0/21加入VLAN 22,并配置其工作在host模式。
[DeviceA] interface gigabitethernet 1/0/21
[DeviceA-GigabitEthernet1/0/21] port access vlan 22
[DeviceA-GigabitEthernet1/0/21] port private-vlan host
[DeviceA-GigabitEthernet1/0/21] quit
# 将下行端口GigabitEthernet1/0/23加入VLAN 12,并配置其工作在host模式。
[DeviceA] interface gigabitethernet 1/0/23
[DeviceA-GigabitEthernet1/0/23] port access vlan 12
[DeviceA-GigabitEthernet1/0/23] port private-vlan host
[DeviceA-GigabitEthernet1/0/23] quit
# 配置下行端口GigabitEthernet1/0/22在VLAN 11和VLAN 21中工作在trunk secondary模式。
[DeviceA] interface gigabitethernet 1/0/22
[DeviceA-GigabitEthernet1/0/22] port private-vlan 11 21 trunk secondary
[DeviceA-GigabitEthernet1/0/22] quit
(2) 配置Device B
# 创建VLAN 11和VLAN 21。
<DeviceB> system-view
[DeviceB] vlan 11
[DeviceB-vlan11] quit
[DeviceB] vlan 21
[DeviceB-vlan21] quit
# 配置端口GigabitEthernet1/0/22为Hybrid端口,并允许VLAN 11和VLAN 21携带Tag通过。
[DeviceB] interface gigabitethernet 1/0/22
[DeviceB-GigabitEthernet1/0/22] port link-type hybrid
[DeviceB-GigabitEthernet1/0/22] port hybrid vlan 11 21 tagged
[DeviceB-GigabitEthernet1/0/22] quit
# 将端口GigabitEthernet1/0/23加入VLAN 11。
[DeviceB] interface gigabitethernet 1/0/23
[DeviceB-GigabitEthernet1/0/23] port access vlan 11
[DeviceB-GigabitEthernet1/0/23] quit
# 将端口GigabitEthernet1/0/24加入VLAN 21。
[DeviceB] interface gigabitethernet 1/0/24
[DeviceB-GigabitEthernet1/0/24] port access vlan 21
[DeviceB-GigabitEthernet1/0/24] quit
(3) 配置Device C
# 创建VLAN 10和VLAN 20。
<DeviceC> system-view
[DeviceC] vlan 10
[DeviceC-vlan10] quit
[DeviceC] vlan 20
[DeviceC-vlan20] quit
# 配置端口GigabitEthernet1/0/17为Hybrid端口,并允许VLAN 10和VLAN 20携带Tag通过。
[DeviceC] interface gigabitethernet 1/0/17
[DeviceC-GigabitEthernet1/0/17] port link-type hybrid
[DeviceC-GigabitEthernet1/0/17] port hybrid vlan 10 20 tagged
[DeviceC-GigabitEthernet1/0/17] quit
# 显示Device A上Primary VLAN 10的配置情况(Primary VLAN 20的显示结果类似,这里不再列出)。
[DeviceA] display private-vlan 10
Primary VLAN ID: 10
Secondary VLAN ID: 11-12
VLAN ID: 10
VLAN type: Static
Private-vlan type: Primary
Route interface: Not configured
Description: VLAN 0010
Name: VLAN 0010
Tagged ports:
GigabitEthernet1/0/22
GigabitEthernet1/0/17
Untagged ports:
GigabitEthernet1/0/23
VLAN ID: 11
VLAN type: Static
Private-vlan type: Secondary
Route interface: Not configured
Description: VLAN 0011
Name: VLAN 0011
Tagged ports:
GigabitEthernet1/0/22
GigabitEthernet1/0/17
Untagged ports: None
VLAN ID: 12
VLAN type: Static
Private-vlan type: Secondary
Route interface: Not configured
Description: VLAN 0012
Name: VLAN 0012
Tagged ports:
GigabitEthernet1/0/17
Untagged ports:
GigabitEthernet1/0/23
可以看到,工作在trunk promiscuous模式的端口GigabitEthernet1/0/17和工作在trunk secondary模式的端口GigabitEthernet1/0/22以Tagged方式允许VLAN报文通过,工作在host模式的端口GigabitEthernet1/0/23以Untagged方式允许VLAN报文通过。
· Device A上的VLAN 10为Primary VLAN,包含上行端口GigabitEthernet1/0/21并关联两个Secondary VLAN(VLAN 2和VLAN 3),VLAN 2包含端口GigabitEthernet1/0/22,VLAN 3包含端口GigabitEthernet1/0/23。VLAN接口10的IP地址为192.168.1.1/24。
· 实现各Secondary VLAN间二层隔离和三层互通。
图2-5 组网图
# 配置VLAN 10为Primary VLAN。
<DeviceA> system-view
[DeviceA] vlan 10
[DeviceA-vlan10] private-vlan primary
[DeviceA-vlan10] quit
# 创建Secondary VLAN 2、3。
[DeviceA] vlan 2 to 3
# 配置Primary VLAN 10和Secondary VLAN 2、3的映射关系。
[DeviceA] vlan 10
[DeviceA-vlan10] private-vlan secondary 2 3
[DeviceA-vlan10] quit
# 配置上行端口GigabitEthernet1/0/21在VLAN 10中工作在promiscuous模式。
[DeviceA] interface gigabitethernet 1/0/21
[DeviceA-GigabitEthernet1/0/21] port private-vlan 10 promiscuous
[DeviceA-GigabitEthernet1/0/21] quit
# 将下行端口GigabitEthernet1/0/22加入VLAN 2,并配置其工作在host模式。
[DeviceA] interface gigabitethernet 1/0/22
[DeviceA-GigabitEthernet1/0/22] port access vlan 2
[DeviceA-GigabitEthernet1/0/22] port private-vlan host
[DeviceA-GigabitEthernet1/0/22] quit
# 将下行端口GigabitEthernet1/0/23加入VLAN 3,并配置其工作在host模式。
[DeviceA] interface gigabitethernet 1/0/23
[DeviceA-GigabitEthernet1/0/23] port access vlan 3
[DeviceA-GigabitEthernet1/0/23] port private-vlan host
[DeviceA-GigabitEthernet1/0/23] quit
# 配置Primary VLAN 10下Secondary VLAN 2、3之间三层互通。
[DeviceA] interface vlan-interface 10
[DeviceA-Vlan-interface10] private-vlan secondary 2 3
# 配置VLAN接口10的IP地址为192.168.1.1/24。
[DeviceA-Vlan-interface10] ip address 192.168.1.1 255.255.255.0
# 开启本地代理ARP功能。
[DeviceA-Vlan-interface10] local-proxy-arp enable
[DeviceA-Vlan-interface10] quit
# 查看Private VLAN 10的相关信息,验证以上配置是否生效。
[DeviceA] display private-vlan 10
Primary VLAN ID: 10
Secondary VLAN ID: 2-3
VLAN ID: 10
VLAN type: Static
Private VLAN type: Primary
Route interface: Configured
IPv4 address: 192.168.1.1
IPv4 subnet mask: 255.255.255.0
Description: VLAN 0010
Name: VLAN 0010
Tagged ports: None
Untagged ports:
GigabitEthernet1/0/21
GigabitEthernet1/0/22
GigabitEthernet1/0/23
VLAN ID: 2
VLAN type: Static
Private VLAN type: Secondary
Route interface: Configured
IPv4 address: 192.168.1.1
IPv4 subnet mask: 255.255.255.0
Description: VLAN 0002
Name: VLAN 0002
Tagged ports: None
Untagged ports:
GigabitEthernet1/0/21
GigabitEthernet1/0/22
VLAN ID: 3
VLAN type: Static
Private VLAN type: Secondary
Route interface: Configured
IPv4 address: 192.168.1.1
IPv4 subnet mask: 255.255.255.0
Description: VLAN 0003
Name: VLAN 0003
Tagged ports: None
Untagged ports:
GigabitEthernet1/0/21
GigabitEthernet1/0/23
可以看到,Secondary VLAN 2和Secondary VLAN 3的Route interface字段都显示为Configured,说明Secondary VLAN 2与Secondary VLAN 3间已配置三层互通。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!