PVLAN

7 5月

二层交换机间处于同一VLAN的端口可以通信(处于不同VLAN的端口肯定不能在二层间通信,要通信只能走三层)。但某些情形下想让处于相同VLAN的端口间也不能通信,就可以用PVLAN(私有VLAN),可以让同一VLAN间的某些端口不能通信。

比如局域网内部希望所有端口都能和网关通信,因此都划入同一个VLAN中。但某些端口间不希望能相互通信,可以将某些端口配置成PVLAN,以实现相同VLAN间端口隔离。再比如小区用户接入宽带,你肯定不希望你电脑发出的数据被你邻居收到。技术上可以为每个小区用户划分一个VLAN以实现端口隔离,但这不现实,没法分配这么多VLAN,即使可以分配这么多VLAN,每个VLAN相关的STP拓扑都要管理,开销很大。因此就需要用到PVLAN,小区所有用户处于同一个VLAN,通过PVLAN保证用户间无法通信。

PVLAN分2种:Primary VLAN和Secondary VLAN。

Primary VLAN:主VLAN,即普通的VLAN。Primary VLAN可以和Secondary VLAN里任何端口通信。

Secondary VLAN:辅助VLAN。从属于Primary VLAN,因此配置好Secondary VLAN后一定要将其关联到某Primary VLAN上才能生效。分为2种:Isolated VLAN和Community VLAN

Isolated VLAN:孤立VLAN。配置成Isolated VLAN的端口不能和该Secondary VLAN里的任何端口通信。

Community VLAN:团队VLAN。配置成Community VLAN的端口能和该Secondary VLAN里的同属于一个团体内的端口通信。

举个例子下图中DNS的两台服务器和WWW和SMTP的服务器同属于一个VLAN,但不想让它们在二层能相互通信

可以在交换机上将连接DNS的f0/1 – 2口配成Community VLAN。连接WWW和SMTP口配成Isolated VLAN。连接网关的f0/24口属于主VLAN,因此所有口和f0/24口都能通信:

SW1(config)#vtp transparent //VTP暂时不支持PVLAN,因此先关闭VTP
SW1(config)#vlan 201
SW1(config-vlan)#private-vlan isolated //将VLAN 201设为Isolated VLAN
SW1(config)#vlan 202
SW1(config-vlan)#private-vlan community //将VLAN 202设为Community VLAN
SW1(config)#vlan 100
SW1(config-vlan)#private-vlan primary //VLAN 100为Primary VLAN
SW1(config-vlan)#private-vlan association add 201,202 //关联上面两个Secondary VLAN
SW1(config)#inter f0/24
SW1(config-if)#switchport mode private-vlan promiscuous //连接网关的端口配置成Primary VLAN,端口改为混杂模式
SW1(config-if)#switchport private-vlan mapping 100 201,202
SW1(config)#inter range f0/1 - 2
SW1(config-if)#switchport mode private-vlan host //连接DNS的端口配置成Community VLAN,端口为主机模式
SW1(config-if)#switchport private-vlan host-association 100 202
SW1(config)#inter range f0/3 - 4
SW1(config-if)#switchport mode private-vlan host //连接WWW和SMTP的端口配置成Isolated VLAN,端口为主机模式
SW1(config-if)#switchport private-vlan host-association 100 201

上面连接网关的端口配置成混杂模式promiscuous,而其他端口配置成主机模式host。host表示该端口只能为某个Secondary VLAN(即Isolated VLAN或Community VLAN)服务。而promiscuous表示该端口可以为所有Secondary VLAN服务。将Primary VLAN的端口设为promiscuous混杂模式,就可以让其和Secondary VLAN里任何端口通信。

PS1:有些注意点:

1.不能在VLAN1,VLAN1002 – 1005上配置PVLAN

2.不能在PVLAN中配置EtherChannel

3.VTP模式不支持PVLAN,需要将VTP设为Transparent

PS2:以前还有一种技术也可以让同一VLAN间不能通信,即保护端口。保护端口只能和非保护端口通信,保护端口间不能通信。但保护端口只能用于一台交换机上,多台交换机间就不能生效了。因此现在通常用PVLAN技术。PVLAN上,如SW1过来VLAN100的帧,Trunk上打上标记100,SW2收到帧发现VLAN100是主VLAN,能转发给VLAN100(包括关联的Secondary VLAN)的端口。如SW1过来Isolated VLAN201的帧,Trunk上打上标记201,SW2收到帧发现201是Isolated VLAN,不转发给任何端口。如SW1过来Community VLAN202的帧,Trunk上打上标记202,SW2收到帧发现202是Community VLAN,能转发给VLAN202的端口。所以用PVLAN比用保护端口更多。

发表评论

电子邮件地址不会被公开。 必填项已用*标注