DC娱乐网

Private VLAN:VLAN 隔离与端口隔离的混合体,真正的进阶版隔离术

在日常企业网络设计中,我们经常会听到这两种隔离手段:VLAN 隔离与端口隔离。VLAN 隔离能划分广播域,端口隔离能限制

在日常企业网络设计中,我们经常会听到这两种隔离手段:VLAN 隔离与端口隔离。

VLAN 隔离能划分广播域,端口隔离能限制同 VLAN 用户互访。

但问题是——

如果我想在“同一个 VLAN”里,又要共享网关上网,还要防止用户间互通,该怎么办?

这时,Private VLAN(私有 VLAN)应运而生。

它几乎完美地结合了两者的优势,是 VLAN 隔离与端口隔离的“混合体”。

今天我们就来聊聊:这项技术究竟有多“聪明”。

在进入主题前,快速温习一下两位“前辈”的本领:

问题也随之而来:

VLAN 虽然隔离彻底,但一个 VLAN 一个网段,规模大时 VLAN ID 不够用;端口隔离虽然简单,但只能在一台交换机内生效;若想多个交换机上的端口实现同样的“防互访”,配置麻烦且不可扩展。

于是,厂商们提出了一个优雅的解决方案——

Private VLAN(私有 VLAN)。

Private VLAN 是什么?

Private VLAN,简称 PVLAN,是一种基于 VLAN 技术的高级隔离机制。

它可以在一个 VLAN 内,继续细分出多个“子 VLAN”,实现更细粒度的隔离。

换句话说:

VLAN 是“分小区”,PVLAN 是“同一小区里再分栋楼”。

PVLAN 的核心思想:主 VLAN(Primary VLAN):提供统一网关和广播控制;辅助 VLAN(Secondary VLAN):再细分不同隔离关系。

通过这种主从关系,多个用户可以共享同一个上行网关,但互相不能通信。

Private VLAN 的三种端口类型

PVLAN 机制的核心在于:不同端口类型之间的通信规则不同。

在实际配置时,我们通常要指定端口的角色。

简单总结:

Promiscuous:谁都能聊(相当于网关)

Community:同一个圈子能聊,其他不行

Isolated:谁都不聊,只找网关

假设我们有一个 VLAN 100,希望:

所有用户共享同一个网关;用户 A 与用户 B 不能互通;财务部门 C 与 D 可以互通,但不能访问其他部门。

我们可以这样设计:

网关端口为 Promiscuous Port,能与所有通信。

用户 A/B 属于 Isolated Port,只能访问网关;

财务部门 C/D 属于 Community Port,可互通但不能访问其他 VLAN。

效果:

所有人都能上网,但用户之间实现了精细化隔离。

PVLAN 的工作原理

PVLAN 的原理其实是建立在 VLAN Tag 之上的“多层 VLAN 映射”。

可以理解为:

Primary VLAN 负责转发广播和上行;Secondary VLAN 决定端口间的互访规则。

在二层转发过程中,交换机会根据 VLAN 类型匹配不同的转发表项:

从 Isolated VLAN 发出的帧,只能到达 Promiscuous;从 Community VLAN 发出的帧,可达同组 Community + Promiscuous;从 Promiscuous 发出的帧,可以到达所有 Secondary VLAN。

这种“主从 VLAN + 端口属性”组合,使 PVLAN 实现了 VLAN 无法做到的“同 VLAN 下的细粒度隔离”。

假设有如下需求:

VLAN 100 为主 VLAN;VLAN 101 为隔离 VLAN;VLAN 102 为社区 VLAN;上行口为 Gig0/1;用户端口为 Gig0/2~4。

步骤 1:定义 VLAN 关系

Switch(config)# vlan 100 Switch(config-vlan)# private-vlan primary Switch(config-vlan)# private-vlan association 101,102

步骤 2:定义辅助 VLAN

Switch(config)# vlan 101 Switch(config-vlan)# private-vlan isolated Switch(config)# vlan 102 Switch(config-vlan)# private-vlan community

步骤 3:配置主 VLAN 的上行口

Switch(config)# interface gigabitEthernet0/1 Switch(config-if)# switchport mode private-vlan promiscuous Switch(config-if)# switchport private-vlan mapping 100 add 101,102

步骤 4:配置用户端口

Switch(config)# interface gigabitEthernet0/2 Switch(config-if)# switchport mode private-vlan host Switch(config-if)# switchport private-vlan host-association 100 101 Switch(config)# interface gigabitEthernet0/3 Switch(config-if)# switchport mode private-vlan host Switch(config-if)# switchport private-vlan host-association 100 102 Switch(config)# interface gigabitEthernet0/4 Switch(config-if)# switchport mode private-vlan host Switch(config-if)# switchport private-vlan host-association 100 102

至此:

Gig0/2(Isolated VLAN 101)用户无法与任何用户通信;Gig0/3 与 Gig0/4(Community VLAN 102)用户互通;所有用户都能访问上行网关。PVLAN Trunk

在大型网络中,往往需要多个交换机共同维护 PVLAN 环境。

此时,可使用 PVLAN Trunk 口 实现跨设备传递主/辅 VLAN 标签。

示例:

Switch(config)# interface gigabitEthernet0/24 Switch(config-if)# switchport mode private-vlan trunk Switch(config-if)# switchport private-vlan trunk allowed vlan 100,101,102 Switch(config-if)# switchport private-vlan trunk native vlan 100

这样,下级交换机可继续识别 101、102 子 VLAN 的隔离属性,实现多交换机协同的 PVLAN 隔离。

在当下网络设计中,安全与隔离永远是第一要务。

VLAN 解决了广播域隔离,端口隔离解决了局部防互访,但两者都有边界。

Private VLAN 的出现,让我们既能共享资源,又能精准防护。

对网络工程师而言:

若你在运营商、酒店、IDC、校园网等多租户场景中工作;若你需要实现“同网段共享上网但互相隔离”;

Private VLAN,就是你最好的利器。