私有VLAN。

    当使用企业级的硬件时,会有更复杂的设备具有基于接口的VLAN模型802.1q协议,使用一个端口或者一组端口来传输多个局域网(VLAN)的数据时,通常该端口配置为Trunk模式。物理的LAN和VLAN共享相同的属性,然而VLAN允许用软件配置成员分组来代替物理设备的迁移和连接。

    PVLAN允许将VLAN分割成多个互相隔离的广播子域,多个子VLAN可以在一个VLAN中,VLAN的特点之一就是它们无法直接与对方进行通信,它们需要通过3层设备转发不同广播域数据包。这种限制同样适用于PVLAN,因为PVLAN中的子域在2层设备中被隔离。

    当主机中的虚拟机在不同的VLAN中时,通常需要映射不同的IP子网。当使用PVLAN来分离一个VLAN时,主机中不同的PVLAN仍然属于同一个IP子网。然而,它们仍然需要一个3层的路由器来进行相互通信,比如本地使用本地ARP代理。反过来,路由器可以通过控制访问列表来允许或者禁止子VLAN之间的通信,通常情况下,这些配置出现在多用户环境中,并且提供了良好的隔离级别。

    PVLAN是一个扩展的VLAN标准,一些厂商的物理交换机已经支持这个标准,它增加了一个可分割的逻辑广播域。在要进行PVLAN部署时,一定要注意物理交换机的功能集,必须要支持PVLAN功能,确保在Windows Server 2012 Hyper-V主机通信中需要PVLAN功能时,主机在相同的PVLAN中无法查看其他主机,如果主机选择混杂模式的PVLAN,则在相同的PVLAN中可以看到其他的主机。


PVLAN简介

    PVLAN采用两层VLAN隔离技术,只有上层VLAN全局可见,下层VLAN相互隔离。如果将交换机或IP DSLAM设备的每个端口划为一个(下层)VLAN,则实现了所有端口的隔离。PVLAN通常用于企业内部网,用来防止连接到某些接口或接口组的网络设备之间的相互通信,但PVLAN却允许与默认网关进行通信。尽管各个设备处于不同的PVLAN中,但它们可以使用相同的IP子网。每个PVLAN包含两种VLAN,主VLAN(Primary VLAN)和辅助VLAN(Secondary VLAN)。辅助VLAN又包含两种类型:隔离VLAN(isolated VLAN)和团体VLAN(community VLAN)。处在PVLAN中的交换机物理端口有两种接口类型:混杂端口(Promiscuous Port)和主机端口(Host Port)

    1、主VLAN

    主VLAN是将VLAN分成若干个小组,所有的辅助PVLAN都在主VLAN之内。主VLAN可以和所有与它关联的隔离VLAN、团体VLAN进行通信。

    辅助VLAN和主VLAN的配置关系如图4-46所示。

    

wKiom1apebmABaoEAAJrFYQr_KY373.png

    2、辅助VLAN

    辅助VLAN只存在于主VLAN之中,每一个辅助VLAN都有一个和它相关的VLAN ID,这些数据包通过标记的VLAN ID进行通信。交换机将这些相关的PVLAN进行隔离,将每个VLAN ID的包分成隔离VLAN和团体VLAN。对于不同的VLAN类型,主机可能无法相互进行通信,即使它们属于同一组。


    3、混杂VLAN

    连接在混杂PVLAN节点中的任何一个端口(网络接口),都可以从具有相同主VLAN的辅助VLAN节点发送和接受数据包。一般情况下路由器通常都连接到混杂端口上,该端口允许从任何其他端口的PVLAN上发送和接受2层帧,所以混杂端口的辅助VLAN只能限制其主VLAN的流量。如果其他辅助VLAN带有相同的辅助ID,但是具有不同的主VLAN,则这些VLAN将被视为两个隔离和独立的VLAN。


    4、团体VLAN

    团体VLAN可以与那些处于相同团体VLAN内的团体端口通信,也可以与PVLAN中的团体端口通信(每个PVLAN可以有多个团体VLAN)。此外,团体辅助VLAN节点允许接收、发送在同一主VLAN混杂端口的数据包。


    5、隔离VLAN

    隔离VLAN不可以与处于相同隔离VLAN内的其他隔离端口通信,只可以与混杂端口通信(每个PVLAN中只能有一个隔离VLAN)。

    其中“混杂端口”是隶属于“主VLAN”的,主端口是隶属于“辅助VLAN”的。因为辅助VLAN具有两种属性,所有处于主VLAN当中的主机端口随着辅助VLAN属性的不同而不同,也就是说主机端口会继承辅助VLAN的属性。由此可知,主机端口也分为两类——隔离端口和团体端口。处于PVLAN中交换机上的一个物理端口可以是混杂端口、隔离端口和团体端口。

    PVLAN包含以上5种类型的VLAN,PVLAN当中,使用配置的一些规则如下:

    ·一个主VLAN当中至少有1个辅助VLAN。

    ·一个主VLAN当中只能有1个隔离VLAN,可以有多个团体VLAN。

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

    ·隔离端口只能与混杂端口通信,除此之外不能与任何其他端口通信。

    ·团体端口可以和混杂端口通信,也可以与同一团体VLAN当中的其他物理端口进行通信,除此之外不能与其他端口通信。


在物理交换机上配置PVLAN

    拿思科的6500交换机来创建PVLAN,网络结构如图4-47所示

    步骤 1设置交换机的VTP模式为Transparent模式,命令如下:

    switch(config)#vtp [mode] transparent

    步骤 2创建vlan 10,将vlan 10设为团体vlan;创建vlan 20,将vlan 20设为团体vlan;创建vlan 30,将vlan 30设为隔离vlan。退回到特权模式。具体命令如下:

    switch(config)#vlan 10

    switch(config-vlan)#private-vlan community

    switch(config)#vlan 20

    switch(config-vlan)#private-vlan communi

    switch(config)#vlan 30

    switch(config-vlan)#private-vlan isolated

    switch(config-vlan)#exit

    步骤 3创建vlan 100,并将VLAN 100设为主VLAN,命令如下:

    switch(config)#vlan 100

    switch(config-vlan)#private-vlan primary

    步骤 4将辅助VLAN关联到主VLAN中。将VLAN 10、20、30、40、41、42关联到主VLAN100中,命令如下:

    switch(config)#vlan 100

    VLANSswitch(config-vlan)#private-vlan association [add]10,20,30,40-42

    (注意:命令中指定的secondary中间不能有空格)

    步骤 5将实际的物理接口加入相应的VLAN中,该接口属于团体VLAN 10,其被划分入住VLAN 100的辅助VLAN 10,进入交换机配置接口,命令如下:

    switch(config)#in f0/1

    switch(config-if)#switchprot mode private-vlan host

    switch(config-if)#switchprot private-vlan host-association 100 10

    ...(f0/2的配置跟f0/1一样,进入交换机接口,该接口属于团体VLAN 20,该接口划分入主VLAN 100中的辅助VLAN 20)

    switch(config)#in f0/3

    switch(config-if)#switchport mode private-vlan host

    switch(config-if)#switchport private-vlan host-association 100 20

    ...(f0/4的配置与f0/3一样)

    switch(config)#in f0/5

    switch(config-if)#switchport mode private-vlan host

    S2724G(config-if)#switchport private-vlan host-association 100 30

    ...(f0/6的配置同上,与f0/5一样,它们之间不能通信)

    步骤 6配置混杂模式接口。进入要配置交换机的接口,该接口连接服务器或上联设备,将接口模式设置为混杂模式,将VLAN 10、20、30、40-44映射到VLAN 100上(混杂模式属于主VLAN),命令如下:

    switch(config)#in f0/10

    switch(config-if)#switchchiport mode private-vlan promiscuous

    switch(config-if)#switchport private-vlan mapping 100 add 10,20,30,40-44

    ...(f0/20配置同上,跟f0/10一样)

    步骤 7开启辅助VLAN的3层转发功能(Permitting Routing of Secondary VLAN Ingress Traffic),进入主VLAN的SVI接口,配置VLAN2的IP地址,然后允许这些辅助VLAN具有3层交换功能,命令如下:

    switch(config)#int vlan 100

    switch(config-if)#ip address 192.168.2.1 255.255.255.0

    switch(config-if)#private-vlan mapping add 10,20,30,40-44

    与VLAN一样,PVLAN可以跨越多个交换机。一个中继端口承载主VLAN和辅助VLAN到相邻交换机之间的通信。中继端口把PVLAN当作任何一个VLAN来处理。跨越多个交换机的PVLAN的特征,就是从一个交换机的隔离端口不能到达另一个交换机的隔离端口。

    因为VTP不支持VLAN,所以必须在二层网络的所有交换机上手动配置PVLAN。如果没有配置主VLAN,则在这些交换机上的二层不能合并。这样就可能导致在其他交换机上有不必要的PVLAN流量。另外,PVLAN使用Trunk穿过多台交换机,Trunk分为以下两种类型:

    ·Standard Trunk Ports,这种情况要求所有交换机都支持PVLAN

    ·Private VLAN Trunks,不一定所有的交换机都支持PVLAN。


    1、标准Trunk

    标准Trunk对待PVLAN和对待普通VLAN是一样的,所穿过的中间设备都要配置PVLAN。标准Trunk传输主VLAN和辅助VLAN流量。这种情况要求所有的交换机都支持PVLAN,而且两边必须手工配置上相同的PVLAN,否则就会丢弃数据报,如图4-48所示

wKiom1apoUChKmcEAAJC2ls5g3M516.png

    将交换机配置为标准Trunk的方法如下:

    switch(config)#in f0/8

    switch(config)#switchchport

    switch(config)#switchprot mode turck

    switch(config)#switchprot trunk encapsulation dot1q


    2、PVLAN Trunk接口

    PVLAN Trunk接口分为两种:一种是隔离Trunk端口,隔离Trunk端口仅传输辅助端口的流量;第二种是混杂Trunk端口,传输混杂模式的流量并可携带多个主VLAN

    PVLAN Trunk接口如图4-49所示

    

wKiom1apokvAzhODAALfuf-VoPM536.png

    在Switch上配置PVLAN,Switch2并不知道PVLAN这回事。本例中,各个主机能够连接到各自不同的路由器。

    (1)PVLAN Trunk配置实例

    上面介绍了配置Trunk的分类,这里具体讲解其中一种——界面中的PVLAN Trunk实例的配置方法。

    步骤 1设置该接口为辅助Trunk接口,命令如下

    Switch# configure terminal

    switch(config)#interface fastethernet 5/2

    switch(config-if)#switchport mode private-vlan trunk secondary

    步骤 2将辅助VLAN 301关联到VLAN 3,命令如下:

    switch(config-if)#switchport private-vlan association trunk 3 301

    步骤 3设置不打标记(本机)VLAN 10,默认为VLAN 1,命令如下:

    switch(config-if)#switchport private-vlan trunk native vlan 10

    步骤 4设置允许通过的VLAN,默认为all,命令如下:

    Switch(config-if)#swtichport private-vlan turnk allowed vlan 10. 3-4

    switch(config-if)#end


    (2)设置混杂Trunk实例

    这里是配置另一种Trunk分类——混杂Trunk实例。

    步骤1 设置改接口为混杂Trunk接口,命令如下:

    Switch# configure terminal

    Switch(config)# interface fastethernet 5/2

    switch(config-if)# switchport mode private-vlan trunk promiscuous

    步骤2 将辅助VLAN301、302映射到主VLAN 3,命令如下:

    switch(configi-if)# switchport private-vlan mapping trunk 3 301,302

    步骤3 设置不打标记(本机)VLAN10,默认为VLAN 1,命令如下:

    switch(config-if)# switchport private-vlan trunk native vlan 10

    步骤4 设置允许通过的VLAN,默认为all,命令如下:

    switch(config-if)# switchport private-vlan trunk allowed vlan 10,3-4

    Switch(config-if)# end

    到这里可以看出,把接口加入某个辅助VLAN和设置混杂模式的接口的配置模式方法差不多,只是选择的模式不一样,一个设置的是Trunk模式,另一个设置的是Host模式。还有就是映射/关联不一样(格式一样),这里是将多个辅助VLAN关联/映射到主VLAN,而另一个是将一个辅助VLAN关联/映射到主VLAN。