Skip to content

5.4 Hybrid 端口应用实战 (Hybrid Applications)

Hybrid 端口的强大之处在于它可以实现非标准的 VLAN 隔离需求。例如:在二层网络中,让 VLAN 10 和 VLAN 20 都能访问服务器 VLAN 5,但 VLAN 10 和 VLAN 20 之间不能互访。

这通常被称为 Mux VLANPrivate 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 通信:

  1. PC1 -> Server:PC1 发出的帧进入 G0/0/1 打上 Tag 10。交换机内部转发给 G0/0/5。G0/0/5 发送时必须剥离 Tag 10(因为 Server 不识标)。
    • 结论:G0/0/5 必须允许 VLAN 10 且 Untagged。
  2. 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 1

2. 配置 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 1

3. 配置 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表)

测试结果

  1. 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。
  2. PC1 Ping PC2: 不通。
    • Request: PC1 -> G0/0/1(打Tag 10)。
    • 交换机查表,发现 G0/0/2 的 untagged vlan 列表里只有 205没有 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 hybrid

2. 批量配置 (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。