一、应用场景

某企业办公区使用一台交换机连接两个部门的电脑,财务部属于 VLAN 10,技术部属于 VLAN 20。按照前面的实验,不同 VLAN 之间是二层隔离的,财务部的电脑无法访问技术部的共享服务器。但在实际工作中,两个部门之间有时确实需要互访,例如技术部需要访问财务部的报表系统,财务部需要访问技术部的文件服务器。

要实现不同 VLAN 之间的通信,必须借助三层设备进行路由转发。常见的实现方式有两种:一种是使用路由器,通过在一个物理接口上创建多个子接口,每个子接口对应一个 VLAN,这种方式称为单臂路由;另一种是使用三层交换机,通过 VLANIF 接口实现 VLAN 间路由。单臂路由配置简单、成本低,适合小型网络;三层交换机性能更高,适合中大型网络。

本实验模拟该企业场景,通过路由器单臂路由实现 VLAN 10 和 VLAN 20 之间的互通。通过本实验,你将理解“二层隔离、三层互通”的基本思想,掌握子接口的配置方法和 VLAN 标签的处理过程。

二、配置目标

  1. 理解 VLAN 间通信为什么需要三层设备。
  2. 掌握单臂路由的工作原理:路由器通过一个物理接口的多个子接口,分别对应不同 VLAN。
  3. 掌握子接口的配置方法,包括 dot1q termination vid 和 arp broadcast enable。
  4. 掌握交换机上 Trunk 端口的配置,使其能够承载多个 VLAN 的数据到路由器。
  5. 完成 PC 的 IP 地址和默认网关配置,网关指向对应子接口的 IP 地址。
  6. 验证同一 VLAN 内互通、不同 VLAN 之间通过单臂路由互通。
  7. 掌握查看子接口状态和路由表的方法。

三、重要概念说明

3.1 单臂路由

单臂路由是指路由器使用一个物理接口,通过创建多个子接口(Sub-Interface)来连接多个 VLAN。每个子接口对应一个 VLAN,配置该 VLAN 的网关 IP 地址。路由器与交换机之间的链路配置为 Trunk,承载多个 VLAN 的数据。

当 VLAN 10 的 PC 要访问 VLAN 20 的 PC 时,数据帧首先到达交换机,交换机根据 Trunk 配置打上 VLAN 10 的标签,发送给路由器的子接口。路由器子接口识别标签后,进行路由查找,发现目标属于 VLAN 20,于是通过对应 VLAN 20 的子接口转发出去,并打上 VLAN 20 的标签。交换机收到后,根据标签将数据帧转发给 VLAN 20 的 PC。

3.2 子接口

子接口是路由器物理接口上的逻辑接口,编号格式为“物理接口.子接口号”,例如 GigabitEthernet0/0/0.10。子接口可以独立配置 IP 地址,并处理带有 VLAN 标签的数据帧。

配置子接口时需要两条关键命令:

命令作用
dot1q termination vid 10指定该子接口处理 VLAN 10 的标签,收到带 VLAN 10 标签的帧时剥离标签,发送时打上 VLAN 10 标签
arp broadcast enable允许子接口转发 ARP 广播报文,否则 VLAN 间无法解析 MAC 地址

3.3 单臂路由与三层交换机的区别

对比项单臂路由三层交换机
实现方式路由器子接口VLANIF 接口
转发性能较低,受路由器接口带宽限制较高,硬件转发
适用场景小型网络、实验环境中大型园区网
配置复杂度简单简单

本实验使用单臂路由,三层交换机方式将在后续交换进阶篇中介绍。

四、实验拓扑

本实验采用一台路由器、一台交换机、两台 PC 的拓扑。PC1 属于 VLAN 10,PC2 属于 VLAN 20,通过路由器 R1 的单臂路由实现互通。

接口与 IP 地址规划表:

设备接口IP 地址子网掩码VLAN对端设备
PC1以太网192.168.10.2255.255.255.010SW1 GE0/0/1
PC2以太网192.168.20.2255.255.255.020SW1 GE0/0/2
SW1GE0/0/1——10PC1
SW1GE0/0/2——20PC2
SW1GE0/0/24——TrunkR1 GE0/0/0
R1GE0/0/0———SW1 GE0/0/24
R1GE0/0/0.10192.168.10.1255.255.255.010VLAN 10 网关
R1GE0/0/0.20192.168.20.1255.255.255.020VLAN 20 网关

注意:PC1 的默认网关为 192.168.10.1,PC2 的默认网关为 192.168.20.1,分别对应路由器两个子接口的 IP 地址。

五、实验步骤

5.1 配置 PC 的 IP 地址

双击 PC1,进入“基础配置”选项卡:

配置项值
IPv4 地址192.168.10.2
子网掩码255.255.255.0
网关192.168.10.1

双击 PC2,进入“基础配置”选项卡:

配置项值
IPv4 地址192.168.20.2
子网掩码255.255.255.0
网关192.168.20.1

配置完成后,分别在两台 PC 上使用 ipconfig 确认。

5.2 配置 SW1 的 VLAN 和 Access 端口

双击 SW1,进入命令行,执行以下配置:

<Huawei> system-view
[Huawei] sysname SW1
[SW1] vlan batch 10 20
[SW1] interface GigabitEthernet 0/0/1
[SW1-GigabitEthernet0/0/1] port link-type access
[SW1-GigabitEthernet0/0/1] port default vlan 10
[SW1-GigabitEthernet0/0/1] quit
[SW1] interface GigabitEthernet 0/0/2
[SW1-GigabitEthernet0/0/2] port link-type access
[SW1-GigabitEthernet0/0/2] port default vlan 20
[SW1-GigabitEthernet0/0/2] quit

5.3 配置 SW1 的 Trunk 端口

将与路由器相连的 GE0/0/24 配置为 Trunk,允许 VLAN 10 和 VLAN 20 通过:

[SW1] interface GigabitEthernet 0/0/24
[SW1-GigabitEthernet0/0/24] port link-type trunk
[SW1-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20
[SW1-GigabitEthernet0/0/24] quit

配置完成后,查看 Trunk 端口信息:

[SW1] display port vlan

确认 GE0/0/24 的链路类型为 Trunk,允许 VLAN 10 和 VLAN 20 通过。

5.4 配置 R1 的子接口

双击 R1,进入命令行,执行以下配置:

<Huawei> system-view
[Huawei] sysname R1
[R1] interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0] quit
[R1] interface GigabitEthernet 0/0/0.10
[R1-GigabitEthernet0/0/0.10] dot1q termination vid 10
[R1-GigabitEthernet0/0/0.10] ip address 192.168.10.1 24
[R1-GigabitEthernet0/0/0.10] arp broadcast enable
[R1-GigabitEthernet0/0/0.10] quit
[R1] interface GigabitEthernet 0/0/0.20
[R1-GigabitEthernet0/0/0.20] dot1q termination vid 20
[R1-GigabitEthernet0/0/0.20] ip address 192.168.20.1 24
[R1-GigabitEthernet0/0/0.20] arp broadcast enable
[R1-GigabitEthernet0/0/0.20] quit

配置说明:

命令作用
interface GigabitEthernet 0/0/0.10创建子接口,编号 10 对应 VLAN 10
dot1q termination vid 10子接口处理 VLAN 10 的标签
ip address 192.168.10.1 24配置子接口 IP,作为 VLAN 10 的网关
arp broadcast enable允许子接口转发 ARP 广播,否则无法解析 MAC 地址

注意:主接口 GE0/0/0 不需要配置 IP 地址,只需要保持物理状态 up 即可。子接口的 IP 地址才是 VLAN 的网关地址。

5.5 验证子接口状态

在 R1 上执行:

[R1] display ip interface brief

应该能看到 GE0/0/0.10 和 GE0/0/0.20 两个子接口,IP 地址分别为 192.168.10.1 和 192.168.20.1,状态均为 up。

查看路由表:

[R1] display ip routing-table

应该能看到两条直连路由,分别指向 192.168.10.0/24 和 192.168.20.0/24,出接口为对应的子接口。

5.6 验证 VLAN 间通信

  1. 验证同 VLAN 内互通
    如果 SW1 上还有其他空闲端口属于同一 VLAN,可以接入另一台 PC 验证。本实验中每台 PC 独占一个 VLAN,可暂时跳过此步。
  2. 验证跨 VLAN 互通
    在 PC1 上 ping PC2:
PC1> ping 192.168.20.2

第一次 ping 可能会丢一个包(ARP 解析过程),之后应能正常收到回复。这说明 VLAN 10 和 VLAN 20 之间已经通过单臂路由实现互通。

  1. 反向验证
    在 PC2 上 ping PC1:
PC2> ping 192.168.10.2

也应能 ping 通,说明双向路由均正常。

  1. 跟踪路由路径
    在 PC1 上执行:
PC1> tracert 192.168.20.2

可以看到数据包先到达网关 192.168.10.1(R1 的子接口),然后直接转发到 192.168.20.2。由于只有一跳路由,tracert 结果中只会显示网关地址。

5.7 查看 ARP 表

在 R1 上执行:

[R1] display arp

应该能看到 PC1 和 PC2 的 IP 地址与 MAC 地址映射,分别学习在 GE0/0/0.10 和 GE0/0/0.20 子接口上。这说明 ARP 广播已经通过子接口正常转发。

5.8 保存配置

在 SW1 和 R1 上分别执行保存命令:

<SW1> save
<R1> save

按提示输入 y 确认。

六、思考

  1. 为什么不同 VLAN 之间不能直接通信?单臂路由是如何解决这个问题的?
  2. 子接口上的 dot1q termination vid 10 命令的作用是什么?如果不配置会怎样?
  3. arp broadcast enable 命令的作用是什么?为什么子接口需要单独开启 ARP 广播?
  4. 主接口 GE0/0/0 为什么不需要配置 IP 地址?如果给主接口也配置了 IP,会有什么影响?
  5. 如果 SW1 的 Trunk 端口只允许 VLAN 10 通过,VLAN 20 的 PC 还能访问 VLAN 10 吗?为什么?
  6. 单臂路由和三层交换机实现 VLAN 间路由,各有什么优缺点?分别适用于什么场景?
  7. 在 R1 上执行 display ip routing-table,观察去往 192.168.10.0/24 和 192.168.20.0/24 的路由,它们的出接口分别是什么?

本实验是 VLAN 部分的关键实验,重点在于理解“二层隔离、三层互通”的思想,以及单臂路由如何通过子接口处理不同 VLAN 的标签。建议在完成基本验证后,尝试关闭 R1 的某个子接口,观察对应 VLAN 的通信是否中断,进一步加深对子接口作用的理解。后续交换进阶篇中还会介绍用三层交换机实现 VLAN 间路由的方式,可以与本实验进行对比学习。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐