PVLAN配置实例原理

简介

PVLAN(PrivateVLAN私有VLAN)通常用于企业内部网,用来防止连接到某些接口或接口组的网络设备之间的相互通信,但却允许与默认网关进行通信。尽管各设备处于不同的PVLAN中,它们可以使用相同的IP子网。在PVLAN中,交换机端口有3种类型:IsolatedPort(隔离端口)CommunityPort(团体端口)PromiscuousPort(混杂端口);它们分别对应不同的VLAN类型:IsolatedPort属于IsolatedPVLANCommunityPort属于CommunityPVLAN,而代表一个PrivateVLAN整体的是PrimaryPVLAN(主私有VLAN),前面两类VLAN也称为SecondaryPVLAN(辅助私有VLAN),它们需要和PrimaryPVLAN绑定在一起,PromiscuousPort属于PrimaryPVLAN

传统VLAN的局限性:

随着网络的迅速发展,用户对于网络数据通信的安全性提出了更高的要求,诸如防范******、控制病毒传播等,都要求保证网络用户通信的相对安全性;传统的解决方法是给每个客户分配一个VLAN和相关的IP子网,通过使用VLAN,每个客户被从第2层隔离开,可以防止任何恶意的行为和Ethernet的信息探听。然而,这种分配每个客户单一VLANIP子网的模型造成了巨大的可扩展方面的局限。这些局限主要有下述几方面:

1.VLAN的限制:交换机固有的VLAN数目的限制;

2.复杂的STP:对于每个VLAN,每个相关的SpanningTree的拓扑都需要管理;

3.IP地址的紧缺:IP子网的划分势必造成一些IP地址的浪费;

4.路由的限制:每个子网都需要相应的默认网关的配置。

PVLAN简介

PVLAN的应用对于保证接入网络的数据通信的安全性是非常有效的,用户只需与自己的默认网关连接,一个PVLAN不需要多个VLANIP子网就能提供具备二层数据通信安全性的连接,所有的用户都接入PVLAN,从而实现了所有用户与默认网关的连接,而与PVLAN内的其它用户没有任何访问。PVLAN功能可以保证同一个VLAN中的各个端口相互之间不能通信,但可以穿过Trunk端口。这样即使同一VLAN中的用户相互之间也不会受到广播的影响。

PVLAN2VLAN

主要VLAN(PrimaryVLAN)把流量从混杂端口传送到隔离、团体和同一个VLAN内部的其它主要混杂端口。

辅助VLAN(SecondaryVLAN)辅助VLAN包含两种VLAN类型:

隔离VLAN(IsolatedVLAN)把流量从隔离端口传送到一个混杂端口。隔离VLAN中的端口,使其不能与PVLAN

(另一个团体VLAN端口或相同隔离VLAN内的端口)内部的任何其它端口进行第2层通信。若要与其它端口通

信,则必须穿越混杂端口。

团体VLAN(CommunityVLAN)在相同团体VLAN内部的团体端口之间传送流量并传送到混杂端口,团体VLAN内的

端口可以在第2层彼此通信(只是在相同团体VLAN内部),但是不能与其它团体或隔离VLAN的端口进行通信。

若要与其它端口进行通信,则必须穿越混杂端口。

PVLAN2种端口类型:

混杂端口(PromiscuousPort)隶属于“PrimaryVLAN”,一个混杂端口可以与所有接口通信,包括PVLAN内的

隔离和团体端口;混杂端口的功能是在团体和隔离的VLAN端口之间传递流量。

主机端口(HostPort)隶属于“SecondaryVLAN”,由于“SecondaryVLAN”具有两种属性,那么主机端口依

“SecondaryVLAN”属性的不同也有两种分类:

隔离端口(IsolatedPort)它与PVLAN内的所有其它端口相分离,除混杂端口外;来源于隔离端口的流量仅仅

传送给混杂端口。

团体端口(CommunityPort)它在逻辑上把相同区域内部的各个端口和混杂端口结合到一起,流量可以在它们

之间传送。

PVLAN的使用规则:

1.一个“PrimaryPVLAN”当中只能有1“PromiscuousPort”

2.一个“PrimaryPVLAN”当中至少有1“SecondaryPVLAN”,但是没有上限;

3.一个“PrimaryPVLAN”当中只能有1“IsolatedPVLAN”,可以有多个“CommunityPVLAN”

4.不同“PrimaryPVLAN”之间的任何端口都不能互相通信(这里互相通信是指二层连通性)

5.“IsolatedPort”只能与“PromiscuousPort”通信,除此之外不能与任何其他端口通信;

6.“CommunityPort”可以和“PromiscuousPort”通信,也可以和同一“CommunityPVLAN”中的其它物理端

口进行通信,除此之外不能和其他端口通信。

7.创建PVLAN前,需要配置VTP模式为Transparent,在配置PVLAN后,将不能再把模式转变为ServerClient

8.在配置PVLAN中,不使用VLAN1VLAN1002-1005

9.三层的VLAN接口只能分配给主VLAN

10.不能在PVLAN中配置EtherChannel

11.假如交换机上一个端口作为SPAN的目的端口,这个端口会在配置PVLAN的后失效;

12.PVLAN的端口可以做SPAN的源端口;

13.假如在PVLAN中删除了一个VLAN,那么属于该VLAN的端口将失效。

受保护的端口(PVLAN边缘)PVLAN

这两种技术都可以实现交换机同一VLAN中的接口间不能通信的目的,但这种“不可通信”不是真正的隔离并且只是一种表面现象,通过某些办法是可以打破这种表象的。

受保护的端口要求:

①只限于同一交换机的同一VLAN,它不能隔离位于不同交换机或不同VLAN的两个受保护的端口间通信;

②受保护的端口间若要通信必须通过3层设备,在受保护端口间路由;

③控制流量是一个例外,它将在受保护的端口间进行转发(如路由选择协议更新);

④受保护的端口和非保护端口间的转发一般优于默认行为;

⑤默认情况下端口不配置受保护的端口。

配置命令:SW1(config)#intf0/1

SW1(config-if)#switchitchportprotected//开启端口保护

SW1#showintf0/1switchport//查看交换端口的配置

实验

命令:

SW1(config-vlan)#private-vlancommunity

SW1(config-vlan)#private-vlanisolated

SW1(config-vlan)#private-vlanprimary

SW1(config-vlan)#private-vlanassociation101-102

SW1(config-if)#switchportprivate-vlanhost-association100101

SW1(config-if)#switchportmodeprivate-vlanhost

SW1(config-if)#switchportprivate-vlanmapping100101,102

SW1(config-if)#switchportmodeprivate-vlanpromiscuous

SW1(config-if)#private-vlanmapping101-102

SW1(config)#vtpmodetransparent

SW1(config)#vlan200

SW1(config-vlan)#nameVLAN-200

SW1(config)#intf0/23

SW1(config-if)#switchportaccessvlan200

SW1(config-if)#switchportmodeaccess//用于接入SW2交换机

SW1(config)#iprouting//配置三层交换,SW1承担Vlan100Vlan200间的路由功能

SW1(config)#intvlan200

SW1(config-if)#ipadd172.16.2.254255.255.255.0

SW1(config-if)#nosh

1.创建主要和辅助PVLAN

SW1(config)#vlan100

SW1(config-vlan)#nameVLAN-100

SW1(config-vlan)#private-vlanprimary//配置该VLAN为主VLAN

SW1(config)#vlan101

SW1(config-vlan)#private-vlancommunity//配置该VLAN为辅助VLAN的团体VLAN

SW1(config)#vlan102

SW1(config-vlan)#private-vlanisolated//配置该VLAN为辅助VLAN的隔离VLAN

2.把辅助VLAN与主要VLAN关联:

SW1(config)#vlan100

SW1(config-vlan)#private-vlanassociation101-102//把本主VLAN和辅助VLAN101102关联

3.把辅助VLAN映射到交换机SVI(虚拟接口)

SW1(config)#intvlan100

SW1(config-if)#ipadd172.16.1.254255.255.255.0

SW1(config-if)#private-vlanmappingadd101-102//将辅助VLAN映射到3层接口,允许PVLAN入口流量

3层交换;辅助VLAN被映射到主VLAN后就不能起自己的SVI了,也就是说映射时也可以不映射全部的辅助VLAN

SW1(config-if)#nosh

4.配置一个2层端口作为隔离或团体端口,把这个2层端口与初级VLAN和可选辅助对VLAN进行关联:

SW1(config)#intf0/1

SW1(config-if)#switchportprivate-vlanhost-association100101

//把本接口配置为团体接口;即本接口属于主Vlan100,并关联到辅助Vlan101

SW1(config-if)#switchportmodeprivate-vlanhost//辅助VLAN的接口模式被定义为host

SW1(config)#intf0/2

SW1(config-if)#switchportprivate-vlanhost-association100101

SW1(config-if)#switchportmodeprivate-vlanhost

SW1(config)#intf0/3

SW1(config-if)#switchportprivate-vlanhost-association100102

SW1(config-if)#switchportmodeprivate-vlanhost

SW1(config)#intf0/4

SW1(config-if)#switchportprivate-vlanhost-association100102

SW1(config-if)#switchportmodeprivate-vlanhost

5.配置一个2层端口作为PVLAN混杂端口,并将这个混杂端口映射到初级VLAN端口和可选的辅助VLAN对:

SW1(config)#intf0/13

SW1(config-if)#switchportprivate-vlanmapping100101,102//把本接口属于主Vlan100

并实现主VLAN和辅助VLAN间的映射;主VLAN接口也可以不映射所有的辅助VLAN

SW1(config-if)#switchportmodeprivate-vlanpromiscuous//把本接口配置为混杂接口,即

本接口可以和Vlan101102通信;主VLAN接口的模式一定是Promiscuous

这时PC1/(PC2)能与PC2/(PC1)ServerVlan200(SW2)通信;注意PC1/PC2PC3PC4是不通的!PC3/PC4只能与ServerVlan200(SW2)通信;注意PC3PC4是不通的!

说明:

只有VTP模式为透明模式,才能配置PVLAN

host|promiscuous

host:只能为一个辅助VLAN服务;

promiscuous:可以为多个辅助VLAN服务。

实验调试

SW1#showintf0/1switchport

SW1#showintprivate-vlanmapping

SW1#showvlanprivate-vlan//查看PVLAN信息