5.4 Hybrid 端口应用实战 (Hybrid Applications)
Hybrid 端口的强大之处在于它可以实现非标准的 VLAN 隔离需求。例如:在二层网络中,让 VLAN 10 和 VLAN 20 都能访问服务器 VLAN 5,但 VLAN 10 和 VLAN 20 之间不能互访。
这通常被称为 Mux VLAN 或 Private VLAN 的简易替代方案。
场景描述
- PC1: 接 SW1 G0/0/1,属于 VLAN 10。
- PC2: 接 SW1 G0/0/2,属于 VLAN 20。
- Server (PC5): 接 SW1 G0/0/5,属于 VLAN 5。
- 需求:
- PC1 <-> Server (通)
- PC2 <-> Server (通)
- PC1 <-> PC2 (不通)
- 不使用三层路由(网关),纯二层实现。
Hybrid 隔离拓扑
🔄
SW1
💻
PC1 (V10)
G0/0/1
💻
PC2 (V20)
G0/0/2
🖥️
Server (V5)
G0/0/5
🔵 VLAN 10🔴 VLAN 20🟢 VLAN 5
原理分析
要实现 PC1 和 Server 通信:
- PC1 -> Server:PC1 发出的帧进入 G0/0/1 打上 Tag 10。交换机内部转发给 G0/0/5。G0/0/5 发送时必须剥离 Tag 10(因为 Server 不识标)。
- 结论:G0/0/5 必须允许 VLAN 10 且 Untagged。
- Server -> PC1:Server 发出的帧进入 G0/0/5 打上 Tag 5。交换机内部转发给 G0/0/1。G0/0/1 发送时必须剥离 Tag 5。
- 结论:G0/0/1 必须允许 VLAN 5 且 Untagged。
同理,PC2 和 Server 通信:
- G0/0/5 必须允许 VLAN 20 且 Untagged。
- G0/0/2 必须允许 VLAN 5 且 Untagged。
配置步骤
1. 配置 PC1 接口 (G0/0/1)
G0/0/1 既属于 VLAN 10 (PVID),又要能接收 VLAN 5 的回包。
bash
interface GigabitEthernet 0/0/1
port link-type hybrid
port hybrid pvid vlan 10
# 发送时:VLAN 10 (自己) 和 VLAN 5 (服务器) 都去标签
port hybrid untagged vlan 10 5
# 移除默认的 vlan 1 (可选,为了安全)
undo port hybrid vlan 12. 配置 PC2 接口 (G0/0/2)
同理,G0/0/2 既属于 VLAN 20 (PVID),又要能接收 VLAN 5 的回包。
bash
interface GigabitEthernet 0/0/2
port link-type hybrid
port hybrid pvid vlan 20
port hybrid untagged vlan 20 5
undo port hybrid vlan 13. 配置 Server 接口 (G0/0/5)
G0/0/5 属于 VLAN 5 (PVID),但它需要能给 VLAN 10 和 20 发包(剥离标签)。
bash
interface GigabitEthernet 0/0/5
port link-type hybrid
port hybrid pvid vlan 5
# 关键:允许 VLAN 5, 10, 20 都通过,并且都去标签
# 这样 Server 发出的包(VLAN 5)能进交换机。
# 交换机发给 Server 的包(来自 10 或 20) Server 都能收到无标帧。
port hybrid untagged vlan 5 10 20
undo port hybrid vlan 1验证结果
通信过程中的帧格式变化
PC1 ↔ Server 通信帧格式变化
📤 PC1 → Server (Ping Request)
PC1 发出:
Dst MAC
Src MAC
Type
Data
FCS
Untagged
G0/0/1 入:
Dst MAC
Src MAC
Tag 10
Type
Data
FCS
✅ 打Tag 10 (PVID)
G0/0/5 出:
Dst MAC
Src MAC
Type
Data
FCS
✅ 去Tag (VLAN 10在Untagged表)
📥 Server → PC1 (Ping Reply)
Server 发出:
Dst MAC
Src MAC
Type
Data
FCS
Untagged
G0/0/5 入:
Dst MAC
Src MAC
Tag 5
Type
Data
FCS
✅ 打Tag 5 (PVID)
G0/0/1 出:
Dst MAC
Src MAC
Type
Data
FCS
✅ 去Tag (VLAN 5在Untagged表)
测试结果
- PC1 Ping Server: 通。
- Request: PC1 -> G0/0/1(打Tag 10) -> G0/0/5(去Tag 10) -> Server。
- Reply: Server -> G0/0/5(打Tag 5) -> G0/0/1(去Tag 5) -> PC1。
- PC1 Ping PC2: 不通。
- Request: PC1 -> G0/0/1(打Tag 10)。
- 交换机查表,发现 G0/0/2 的
untagged vlan列表里只有20和5,没有 10。 - 丢弃。
配置技巧与注意事项
1. 端口模式切换
如果在 Access 或 Trunk 模式下已经配置了相关命令,直接切换到 Hybrid 可能会报错或残留配置。建议先清除配置:
bash
[Huawei] interface g0/0/1
[Huawei-Ge0/0/1] clear configuration this # 清除当前接口配置
# 接口会被 Shutdown,需要重新 undo shutdown
[Huawei-Ge0/0/1] undo shutdown
[Huawei-Ge0/0/1] port link-type hybrid2. 批量配置 (Port Group)
如果有多个接口需要进行相同的 Hybrid 配置,可以使用端口组:
bash
[Huawei] port-group group-member GigabitEthernet 0/0/1 to GigabitEthernet 0/0/10
[Huawei-port-group] port link-type hybrid
[Huawei-port-group] port hybrid pvid vlan 10
# ...总结
通过 Hybrid 接口的 untagged 列表控制,我们实现了**“多对一”**的隔离通信模型。
- PC 接口:PVID=自己,Untag=自己 + Server。
- Server 接口:PVID=自己,Untag=自己 + 所有 PC VLAN。