第10篇:三层交换机 VLANIF 接口实战配置

一、写在前面

前文提到,单臂路由有链路瓶颈和单点故障的问题。那有没有更好的方案?

三层交换机 + VLANIF 接口就是目前最主流的跨 VLAN 通信方案。

三层交换机既有二层交换的线速转发能力,又有三层路由功能。VLANIF 接口是三层交换机上的虚拟三层接口,每个 VLAN 对应一个,作为该 VLAN 内主机的网关。

一句话:VLANIF 把 VLAN 和三层路由无缝地结合在了一起。


二、VLANIF 接口是什么?

2.1 概念

VLANIF 接口是三层交换机上为某个 VLAN 创建的 逻辑三层接口

VLAN 10 ── VLANIF 10 (IP: 10.0.10.254/24)  ← VLAN 10 的网关
VLAN 20 ── VLANIF 20 (IP: 10.0.20.254/24)  ← VLAN 20 的网关
  • 在二层交换机上,VLAN 只是一个广播域
  • 在三层交换机上,VLANIF 把 VLAN "升格"为一个三层网段

2.2 VLANIF 的特点

特点 说明
虚拟接口 不需要物理端口,只存在于交换机软件中
对应一个 VLAN VLANIF 10 绑定 VLAN 10
配置 IP 地址 作为该 VLAN 的网关
支持路由协议 OSPF、BGP、静态路由等都能用
不独占物理端口 所有属于该 VLAN 的端口都能到达它

三、配置实战

3.1 拓扑

      三层交换机(L3 Switch)

VLANIF 10: 10.0.10.254 VLANIF 20: 10.0.20.254 VLANIF 30: 10.0.30.254 G0/0/1 G0/0/2 G0/0/3 │ │ │ PC-A PC-B PC-C VLAN10 VLAN20 VLAN30 10.0.10.1 10.0.20.1 10.0.30.1 /24 /24 /24 GW: .254 GW: .254 GW: .254

目标:三个 VLAN 之间可以互相通信。

3.2 配置步骤

第一步:创建 VLAN

<Switch> system-view
[Switch] sysname L3-Switch
[L3-Switch] vlan batch 10 20 30

第二步:配置 Access 端口

# 端口接 PC-A
[L3-Switch] interface gigabitethernet 0/0/1
[L3-Switch-GigabitEthernet0/0/1] port link-type access
[L3-Switch-GigabitEthernet0/0/1] port default vlan 10
[L3-Switch-GigabitEthernet0/0/1] quit

# 端口接 PC-B
[L3-Switch] interface gigabitethernet 0/0/2
[L3-Switch-GigabitEthernet0/0/2] port link-type access
[L3-Switch-GigabitEthernet0/0/2] port default vlan 20
[L3-Switch-GigabitEthernet0/0/2] quit

# 端口接 PC-C
[L3-Switch] interface gigabitethernet 0/0/3
[L3-Switch-GigabitEthernet0/0/3] port link-type access
[L3-Switch-GigabitEthernet0/0/3] port default vlan 30
[L3-Switch-GigabitEthernet0/0/3] quit

第三步:创建 VLANIF 接口(关键!)

# 创建 VLANIF 10
[L3-Switch] interface vlanif 10
[L3-Switch-Vlanif10] ip address 10.0.10.254 255.255.255.0
[L3-Switch-Vlanif10] quit

# 创建 VLANIF 20
[L3-Switch] interface vlanif 20
[L3-Switch-Vlanif20] ip address 10.0.20.254 255.255.255.0
[L3-Switch-Vlanif20] quit

# 创建 VLANIF 30
[L3-Switch] interface vlanif 30
[L3-Switch-Vlanif30] ip address 10.0.30.254 255.255.255.0
[L3-Switch-Vlanif30] quit

看到这里你会发现:只需要配 6 行命令(每个 VLAN 两行),就实现了跨 VLAN 三层互通。 比单臂路由简单太多了。

3.3 验证

# 查看 VLANIF 接口状态
[L3-Switch] display ip interface brief
Interface           IP Address/Mask       Physical  Protocol
Vlanif10            10.0.10.254/24        up        up
Vlanif20            10.0.20.254/24        up        up
Vlanif30            10.0.30.254/24        up        up

# 查看路由表(VLANIF 接口直连路由自动加入)
[L3-Switch] display ip routing-table
Destination/Mask   Proto   Pre   Cost      NextHop         Interface
10.0.10.0/24       Direct  0     0         10.0.10.254     Vlanif10
10.0.20.0/24       Direct  0     0         10.0.20.254     Vlanif20
10.0.30.0/24       Direct  0     0         10.0.30.254     Vlanif30

以上三条路由是 VLANIF 接口创建后自动生成的直连路由。

3.4 测试

# 在 PC-A 上 ping PC-B(跨 VLAN)
C:\> ping 10.0.20.1
Reply from 10.0.20.1: bytes=32 time<1ms TTL=127    ← 通!

# 在 PC-A 上 ping PC-C
C:\> ping 10.0.30.1
Reply from 10.0.30.1: bytes=32 time<1ms TTL=127    ← 通!

四、通信流程详解

PC-A(VLAN 10, 10.0.10.1)→ PC-B(VLAN 20, 10.0.20.1):

1. PC-A 发现目标不在同一网段
   → 查 ARP 缓存找网关 10.0.10.254(VLANIF 10 的 IP)

2. 交换机处理 ARP 请求
   交换机收到 ARP 广播(源=PC-A,目标=10.0.10.254)
   VLANIF 10 发现目标 IP 是自己的,回复 ARP Reply

3. PC-A 发送 ICMP Echo Request
   目标 MAC = VLANIF 10 的 MAC
   交换机从 G0/0/1 收到(VLAN 10)

4. 交换机内部处理
   查路由表:10.0.20.0/24 → Vlanif20
   将帧的源 MAC 改为 VLANIF 20 的 MAC
   将帧的目的 MAC 改为 PC-B 的 MAC
   从 VLAN 20 的端口转发出去

5. PC-B 收到,处理并回复

6. 回程同理

与单臂路由的关键区别

对比项 单臂路由 VLANIF
流量路径 经过外部路由器的物理链路 交换机内部硬件转发
瓶颈 路由器物理链路带宽有限 交换机背板带宽几乎无限
延迟 高(经外部路由器) 极低(硬件转发)
故障点 路由器挂了全部垮 交换机本身可靠
配置复杂度 子接口 + Trunk 配置 VLANIF + Access 端口

五、VLANIF 的高阶操作

5.1 配置 DHCP 中继

VLANIF 接口常用于 DHCP 中继部署:

[L3-Switch] interface vlanif 10
[L3-Switch-Vlanif10] dhcp select relay
[L3-Switch-Vlanif10] dhcp relay server-ip 192.168.100.10

VLAN 10 内的 DHCP 请求通过 VLANIF 中继到远端 DHCP 服务器。

5.2 VLANIF 配置 VRRP

[L3-Switch] interface vlanif 10
[L3-Switch-Vlanif10] vrrp vrid 1 virtual-ip 10.0.10.254
[L3-Switch-Vlanif10] vrrp vrid 1 priority 120

主备两台三层交换机通过 VRRP 提供网关冗余。

5.3 VLANIF 与 ACL 结合

# 限制 VLAN 10 不能访问 VLAN 30
[L3-Switch] acl 3000
[L3-Switch-acl-adv-3000] rule 10 deny ip source 10.0.10.0 0.0.0.255 destination 10.0.30.0 0.0.0.255
[L3-Switch-acl-adv-3000] rule 20 permit ip
[L3-Switch] traffic-filter inbound acl 3000
[L3-Switch-Vlanif10] traffic-filter inbound acl 3000

5.4 VLANIF 与 NQA 链路检测

[L3-Switch] nqa test-instance admin vlan10_check
[L3-Switch-nqa-admin-vlan10_check] test-type icmp
[L3-Switch-nqa-admin-vlan10_check] destination-address ipv4 10.0.10.1
[L3-Switch-nqa-admin-vlan10_check] frequency 10
[L3-Switch-nqa-admin-vlan10_check] start now

六、重要注意事项

6.1 VLANIF 接口 up/down 条件

VLANIF 接口的物理状态取决于该 VLAN 内是否有活跃的物理端口

VLAN 10 没有任何端口 → Vlanif10 状态为 down
VLAN 10 有至少一个端口 up → Vlanif10 状态为 up

如果接 PC 的端口没插线或 shutdown,VLANIF 10 会 down,网关不可达。

强制开启(不推荐在日常使用):

[L3-Switch-Vlanif10] undo shutdown

注意:部分交换机版本支持,但空 VLAN 配了 undo shutdown 后也能 ping 通。

6.2 VLAN 必须已创建

如果 VLAN 10 没有被创建,配置 interface vlanif 10 会失败。

[L3-Switch] vlan 10          ← 先创建 VLAN
[L3-Switch] interface vlanif 10   ← 再创建三层接口

6.3 三层交换机的转发模式

三层交换机在两个 VLAN 间转发时,采用 一次路由、多次交换 的机制:

  • 第一个包:CPU 处理,查路由表,把 MAC 地址等结果写入硬件转发表(FIB)
  • 后续所有包:硬件 ASIC 芯片直接转发,完全不经过 CPU

这就是三层交换机性能远高于普通路由器的原因。


七、对比:三种跨 VLAN 方案

方案 设备需求 配置复杂度 性能 扩展性 适用场景
路由器物理接口 路由器 简单 低(端口有限) 极少 VLAN
单臂路由(子接口) 路由器+二层交换机 中等 中(受限于单链路) 中小型网络
VLANIF(三层交换机) 三层交换机 简单 高(硬件转发) 绝大多数场景

八、思考

  1. 在三层交换机上创建了 VLANIF 10 并配了 IP,但为什么接口状态是 down?
  2. 单臂路由和 VLANIF 两种方案的性能差距来自哪里?
  3. 配置 VLANIF 接口 IP 后,路由表自动出现了该网段的直连路由。如果 VLAN 10 没有物理端口,这条路由还会存在吗?
  4. 三层交换机的"一次路由多次交换"是什么意思?
  5. 一台三层交换机上有 VLAN 10~50,所有 VLAN 之间都要互通,配了 40 个 VLANIF 后,路由表里会出现多少条直连路由?CPU 会因此变高吗?
  6. VLANIF 接口能不能配置 OSPF?能不能配置 ACL?能不能做 DHCP 中继?

下篇预告:第11篇《华为交换机VLAN创建与Access_Trunk_Hybrid端口配置》——学习华为交换机VLAN创建和端口类型配置的完整操作。