ArubaOS-CX Access 与 Trunk 端口详解:对比与配置 - 夜莺博客

ArubaOS-CX Access 与 Trunk 端口详解:对比与配置

在 ArubaOS-CX 上,端口是 access 还是 trunk 由 VLAN 配置方式决定,而不是由一条 switchport mode 命令决定——这是从 Cisco IOS 或 H3C Comware 迁过来的工程师最容易踩的坑。搞不清二者对带标签与不带标签报文的处理差异,就会出现“配置看起来对、但流量就是不通”的情况。本文用对比表+配置实例把规则讲清楚,并给出验证命令与常见错误对照。

核心差异:三种端口行为

  • Access 口(vlan access <id>:只承载一个 VLAN 的未打标签流量,进入的未标记帧被打上该 VLAN,出去的帧去除标签。带有非零 VLAN 标签的帧只有在其标签与端口 access VLAN 一致时才被接受,否则丢弃。
  • Trunk 口(vlan trunk allowed <list>:承载多个 VLAN 的标签流量,用于交换机之间或连接需要多 VLAN 的服务器。
  • Native VLAN(vlan trunk native <id>:trunk 口上未标记流量归属的 VLAN,默认 VLAN 1。若 native VLAN 不在 allowed 列表内,所有未标记帧都会被丢弃——这是排查 trunk 不通的第一检查点。

对比表(AOS-CX / Comware / IOS)

功能                      AOS-CX                        Comware              Cisco IOS
Access 口                vlan access 5                 port access vlan 5   switchport access vlan 5
Trunk 允许 VLAN          vlan trunk allowed 10,30,50   port trunk permit vlan 10,30,50   switchport trunk allowed vlan 10,30,50
Trunk native VLAN        vlan trunk native 10          port trunk pvid vlan 10           switchport trunk native vlan 10
Native 带标签输出        vlan trunk native 10 tag      -                    -
恢复 L3 口               routing                       port link-mode route switchport 关闭
恢复 L2 口               no routing                    port link-mode bridge switchport

场景一:接入交换机下挂服务器

switch# config
switch(config)# vlan 20
switch(config-vlan-20)# exit
switch(config)# interface 1/1/2
switch(config-if)# no shutdown
switch(config-if)# no routing
switch(config-if)# vlan access 20
switch(config-if)# exit
switch# show interface 1/1/2
switch# show vlan 20

场景二:交换机互联(Trunk)

switch(config)# vlan 10,30,50
switch(config)# interface 1/1/49
switch(config-if)# no shutdown
switch(config-if)# no routing
switch(config-if)# vlan trunk native 999
switch(config-if)# vlan trunk allowed 10,30,50
switch(config-if)# exit

# 对端必须做镜像配置
switch# show interface 1/1/49 trunk
switch# show running-config interface 1/1/49

把 native VLAN 设为未使用的 999 是安全基线:避免 VLAN 1 成为未标记流量的落点,也避免与对端 native VLAN 不一致造成的广播泄漏。需要 native VLAN 以带标签方式发送时(部分第三方设备要求),使用 vlan trunk native 10 tag

场景三:LAG 上的 Trunk

switch(config)# vlan 4,25
switch(config)# interface lag 1
switch(config-lag-if)# no shutdown
switch(config-lag-if)# no routing
switch(config-lag-if)# vlan trunk native 25
switch(config-lag-if)# vlan trunk allowed 4,25
switch(config-lag-if)# interface 1/1/1
switch(config-if)# lag 1
switch(config-if)# interface 1/2/1
switch(config-if)# lag 1
switch(config-lag-if)# exit
switch# show interface lag 1

show interface lag1 输出中重点核对三项:VLAN Mode(native-untagged / native-tagged)、Native VLANAllowed VLAN List。成员口加入 LAG 时模式会自动继承,但仍建议显式配置,避免后续被人误改成员口。

验证与常见错误

show vlan
show vlan 20
show interface 1/1/2
show interface 1/1/49 trunk
show mac-address-table interface 1/1/2
show running-config interface 1/1/1
  • Trunk 不通:native VLAN 未加入 allowed 列表,导致未标记帧被丢;或两端 allowed 列表不一致。
  • Access 口丢包:对端在发送带标签报文,而本端是 access 口——标签不匹配直接丢弃。
  • 端口在 L3 模式:默认创建时接口是 L2,但被 routing 切换过之后所有 VLAN 配置失效;先执行 no routing 再配 VLAN。
  • 改完不生效:AOS-CX 配置即时生效,若“看起来没生效”多半是看错了成员口或 LAG 口本身。

相关阅读:ArubaOS-CX Access 与 Trunk 配置指南ArubaOS-CX native VLAN 与未标记流量处理

原文链接:https://arubanetworking.hpe.com/techdocs/AOS-CX/10.13/PDF/l2_bridging_4100i-6000-6100-6200.pdf