pvlan学习记录
PVLAN即私有VLAN(Private VLAN),PVLAN采用两层VLAN隔离技术,只有上层VLAN全局可见,下层VLAN相互隔离。
简单的说就是在三层交换机看来只有一个vlan,但是在二层交换机上有多个vlan
每个pVLAN 包含2种VLAN :主VLAN(primary VLAN)和辅助VLAN(Secondary VLAN)。主vlan和普通的vlan其实没啥区别,
辅助VLAN(Secondary VLAN)包含两种类型:隔离VLAN(isolated VLAN)和团体VLAN(community VLAN)。
一个主vlan只能和一个隔离vlan建立关系,可以和多个团体vlan建立关系。
pVLAN中的两种接口类型:处在pVLAN中的交换机物理端口,有两种接口类型。
①混杂端口(Promiscuous Port)
②主机端口(Host Port)
混杂端口可以和所有端口通信。主机端口有的资料上分为独立和团体,其实在设置的时候就是这么个host类型,
如果host的端口设置为隔离vlan,那么他只能和混杂端口通信,如果设置为团体vlan,那么除了混杂端口之外,
还可以和同团体的其他host端口通信。
配置pVLAN的实例:
SwitchA(config)#vlan 100
SwitchA(config-vlan)#private-vlan primary
!设置主VLAN 100
SwitchA(config)#vlan 200
SwitchA(config-vlan)#private-vlan community
!设置团体VLAN 200
SwitchA(config)#vlan 300
SwitchA(config-vlan)#private-vlan isolated
!设置隔离VLAN 300
SwitchA(config)#vlan 100
SwitchA(config-vlan)#private-vlan association 200,300
!将辅助VLAN关联到主VLAN
------ SwitchA(config)#interface vlan 100
------SwitchA(config-if)#private-vlan mapping add 200,300
------!将辅助VLAN映射到主VLAN接口,允许pVLAN入口流量的三层交换
-------- //上面的这句话我还是不懂,为什么要映射到三层口?为了三层路由?映射后的效果是什么?不映射又怎么样?
----------//不映射就不能访问三层primary的网关吗?或者不能访问主机了?需要明天做实验验证
『『以下为插入文字
根据后续的实践得出,上诉的两句指令是不能执行的,是锐捷的指导手册有误。
如果想把二层的辅lan映射到三层,
应该设置一个primary vlan的混杂口,在该混杂口上mapping,然后把该混杂口接到其他交换机
SwitchA(config)#interface gi 0/26
SwitchA(config-if)#switchport mode private-vlan promiscuous
SwitchA(config-if)#switchport private-vlan mapping 100 add 200-300
然后将 gi 0/26这个口接到三层或二层交换机上,这个口作为上联口。
还需要注意的是,其实也是我实验得出的结果,很多文章根本没有提及:
Pvlan是针对单个交换机的!!所有的概念都是在本交换机中有效,所有才叫私有的vlan。在pvlan的混杂口
出去的流量是没有vlan帧标签的! 在上面的例子中我们设置的vlan 100,到三层交换机中不起作用!
如果把上联的混杂口接到 三层交换机的一个vlan 20,根据实验结果,他会得到vlan 20的ip地址,接到vlan 200
得到vlan 200的ip地址。 如果上联混杂口接到三层交换机的trunk口,那么他将得到三层交换机默认的vlan1的ip地址
再举个例子,现在我有两个二层交换机设置成pvlan,一个三层交换机做vlan 路由。
这两个交换机的pvlan设置一样,vlan 100 primary,vlan 200 com ,vlan 300 iso。都用 gi 0/25 做混杂口上联到三层交换机。
三层交换机上接的这两个口都属于vlan 20。
那么!!在团体vlan 200中的pc可以与同vlan下的PC,以及另一个交换机的 vlan 200,vlan 300二层通信!
如果在三层交换上再有vlan 20口,接入PC ,他可以和上述两个交换机的所有PC 二层通信!!
终于理解到pvlan的本质。实践是检验真理的唯一标准啊 』』』
SwitchA(config)# interface fastethernet 0/2
SwitchA(config-if)#switchport mode private-vlan host
SwitchA(config-if)#switchport private-vlan host-association 100 200
!2号口划入团体VLAN 200
SwitchA(config)# interface fastethernet 0/3
SwitchA(config-if)#switchport mode private-vlan host
SwitchA(config-if)#switchport private-vlan host-association 100 200
!3号口划入团体VLAN 200
//也就是说连到2号口和3号口的主机是可以相互嗅探的,二层通
SwitchA(config)# interface fastethernet 0/4
SwitchA(config-if)#switchport mode private-vlan host
SwitchA(config-if)#switchport private-vlan host-association 100 300
!4号口划入隔离VLAN 300
SwitchA(config)# interface fastethernet 0/5
SwitchA(config-if)#switchport mode private-vlan host
SwitchA(config-if)#switchport private-vlan host-association 100 300
!5号口划入隔离VLAN 300
//4、5号口的主机不能嗅探,与2、3号口也是隔离的
SwitchA(config)# interface fastethernet 0/1
SwitchA(config-if)#switchport mode private-vlan promiscuous
SwitchA(config-if)#switchport private-vlan mapping 100 add 200-300
!1号口杂合模式
//1号口可以与2、3、4、5号的主机都可以二层通信
一般说明pvlan的文章就讲到这里了,却没有给出另外一种情况的说明,如果我对一个
端口做如下配置
------ SwitchA(config)# interface fastethernet 0/10
------ SwitchA(config-if)# switchport mode access
-----SwitchA(config-if)# switchport access vlan 100
------SwitchA(config-if)# end
『『『经过后续的实验证实上述的指令是不能执行的。private-vlan 不能添加普通access口。!!
下面这句话是错误的』』』
-------10号口直接在primary vlan中,那么10号端口和1~5号端口是什么关系?根据http://blog.163.com/s_u/blog/static/1330836720101024102737380/
-------的博文,10号口和1~5号口都是可以二层通信的!
pvlan应用:
1.把需要2层隔离的主机放到同一个isolated VLAN,或者不同的community VLAN。
2.把需要2层通信的主机放到同一个community VLAN。
3.公共的服务器或者上联端口放到primary VLAN,和本primaryVLAN和所有secondaryVLAN里的主机是2层连通的。
4.在primary VLAN上来看,所有的主机在同一个primary VLAN里,在secondary VLAN里的主机互相访问的时候,才和private VLAN的配置有关。
5.网关可以是primary VLAN上配一个3层地址或者在primary VLAN上连一个路由器。所有主机在3层都是在primary VLAN的这个网段里,所以还是可以通信的,只是2层隔离了,因为3层接口不转发广播,广播也就被隔离了,网上邻居之类基于广播的应用就互相看不到了.
6.上联的端口也可以是trunk,primary VLAN和secondary VLAN都可以trunk过去
对于pvlan应用中的第三句话,将公共服务器放到上联端口或primary lan中的意思是将公共服务器接入到混杂端口
或者在 该private-lan对的上联端口所接的其他交换机的口, 与该口处在通一个vlan 下的其他口