一、实验目的
- 掌握通过配置 Dot1q 终结子接口方法实现 VLAN 间互访
- 掌握通过配置 VLANIF 接口方法实现 VLAN 间互访
- 深入理解 VLAN 间互相访问的转发流程
二、实验环境
安装有eNSP模拟器的PC一台,要求PC能联网。
三、实验拓扑

(1)R2 和 R3 模拟终端用户,接口 IP 地址分别为 192.168.2.1/24(VLAN2)和 192.168.3.1/24(VLAN3)。
(2)R2 和 R3 的网关地址分别为 192.168.2.254和 192.168.3.254。
(3)在 LSW1 上将G0/0/2 和 G0/0/3 分别划入 VLAN2 和 VLAN3。
本实验使用的交换机为 ENSP-S5700,使用的路由器为Router。
四、实验背景
划分 VLAN 后,不同 VLAN 的用户间不能二层互访,这样能起到隔离广播的作用。但实际应用中,不同 VLAN 的用户又常有互访的需求,此时就需要实现不同 VLAN 的用户互访,简称VLAN 间互访。
华为提供了多种技术实现 VLAN 间互访,常用的两种技术为 VLANIF 接口和 Dot1g 终结子接口。
- Dot1q终结子接口:子接口也是一种三层的逻辑接口。跟VLANIF接口一样,在子接上配置Dot1q终结功能和IP地址后,设备也会添加相应的MAC表项并置位三层转发标志位,进而实现VLAN间的三层互通。Dot1q终结子接口适用于通过一个三层以太网接口下接多个VLAN网络的环境。
- VLANIF 接口:VLANIF接口是一种三层的逻辑接口。在 VLANIF 接口上配置 IP 地址后设备会在 MAC地址表中添加 VLANIF 接口的 MAC地址+VID 表项,并且为表项的三层转发标志位置位。当报文的目的 MAC地址匹配该表项后,会进行三层转发,进而实现VLAN 间的三层互通。
本实验将通过这两种方式来实现 VLAN 间互访需求,帮助进一步理解跨 VLAN 互访的原理。
R2 和 R3 处于不同的 VLAN,现要求通过 VLANIF 接口和 Dot1q 终结子接口分别实现 R2与
R3 之间的互访需求。
五、实验过程
5.1 基础配置
5.1.1 为设置命名
实验开始时,需先做些基础配置,具体包括为R1、R2和R3,以及LSW1命名。以下以R1为例,其它类似。
bash
# 进入系统视图
<Huawei>system-view
# 为设置重命名
[Huawei]sysname R1
# 禁用信息中心
[R1]undo info-center enable
5.1.2 为R2和R3配置网关
(1)配置R2
bash
# 进入接口配置模式
[R2]interface G0/0/0
# 将以太网接口从三层模式切换到二层模式
[R2-GigabitEthernet0/0/0]undo portswitch
# 为该接口指定IP地址
[R2-GigabitEthernet0/0/0]ip address 192.168.2.1 24
# 退出接口配置模式
[R2-GigabitEthernet0/0/0]quit
# 为该设备指定默认路由,即配置网关
[R2]ip route-static 0.0.0.0 0 192.168.2.254
(2)配置R3
bash
# 进入接口配置模式
[R3]interface G0/0/0
# 将以太网接口从三层模式切换到二层模式
[R3-GigabitEthernet0/0/0]undo portswitch
# 为该接口指定IP地址
[R3-GigabitEthernet0/0/0]ip address 192.168.3.1 24
# 退出接口配置模式
[R3-GigabitEthernet0/0/0]quit
# 为该设备指定默认路由,即配置网关
[R3]ip route-static 0.0.0.0 0 192.168.3.254
5.1.3 配置LSW1
在LSW1上划分VLAN,并配置链路
bash
# 批量创建VLAN2 和 VLAN3
[LSW1]vlan batch 2 3
# 配置Ge0/0/2接口
[LSW1]interface G0/0/2
# 配置该接口的链路类型为access
[LSW1-GigabitEthernet0/0/2]port link-type access
# 配置该链路默认允许通过VLAN2帧
[LSW1-GigabitEthernet0/0/2]port default vlan 2
[LSW1-GigabitEthernet0/0/2]quit
# 配置Ge0/0/3接口
[LSW1]interface G0/0/3
# 配置该接口的链路类型为access
[LSW1-GigabitEthernet0/0/3]port link-type access
# 配置该链路默认允许通过VLAN3帧
[LSW1-GigabitEthernet0/0/3]port default vlan 3
[LSW1-GigabitEthernet0/0/3]quit
5.2 配置Dot1q 终结子接口实现VLAN互访
5.2.1 配置LSW1上的trunk接口
bash
# 进入接口配置模式
[LSW1]interface G0/0/1
# 配置该接口的链路类型为trunk
[LSW1-GigabitEthernet0/0/1]port link-type trunk
# 配置该接口允许通过VLAN2和VLAN2帧
[LSW1-GigabitEthernet0/0/1]port trunk allow-pass vlan 2 3
[LSW1-GigabitEthernet0/0/1]quit
因为 VLAN 间互访数据要由 R1 来终结 VLAN,所以 S1 和 R1 之间的链路要允许 VLAN2 和VLAN3 通过。
5.2.2 在R1上创建并配置Dot1q终结子接口
bash
[R1]interface G0/0/0
# 关闭三层接口,改用二层接口
[R1-GigabitEthernet0/0/0]undo portswitch
[R1-GigabitEthernet0/0/0]quit
# 创建并进入子接口视图
[R1]interface G0/0/0.2
# 配置子接口Dot1q终结vid为2的VLAN
[R1-GigabitEthernet0/0/0.2]dot1q termination vid 2
# 为子接口配置IP地址
[R1-GigabitEthernet0/0/0.2]ip address 192.168.2.254 24
[R1-GigabitEthernet0/0/0.2]quit
interface G0/0/0.2创建并进入子接口视图。其中的2代表子接口的编号,一般建议子接口编号与 VLAN ID 相同,方便记忆。
dot1q termination vid vlan-id命令用来配置子接口 Dot1q 终结的 VLAN ID。以此配置为例:当 GE0/0/0 接口收到带有 VLAN 2标签的数据之后,会交由2号子接口进行VLAN 终结操作并做后续处理。从2号子接口发出的数据也会带上VLAN 2的标签。
bash
# 配置G0/0/0.3子接口
[R1]interface G0/0/0.3
# 配置子接口Dot1q终结vid为2的VLAN
[R1-GigabitEthernet0/0/0.3]dot1q termination vid 3
# 为该子接口配置IP地址
[R1-GigabitEthernet0/0/0.3]ip address 192.168.3.254 24
[R1-GigabitEthernet0/0/0.3]quit
5.2.3 检测VLAN间互访连通性
在R2上ping R3的IP地址,测试它们之间的连通性。
bash
<R2>ping 192.168.3.1
PING 192.168.3.1: 56 data bytes, press CTRL_C to break
Reply from 192.168.3.1: bytes=56 Sequence=1 ttl=254 time=110 ms
Reply from 192.168.3.1: bytes=56 Sequence=2 ttl=254 time=130 ms
Reply from 192.168.3.1: bytes=56 Sequence=3 ttl=254 time=90 ms
Reply from 192.168.3.1: bytes=56 Sequence=4 ttl=254 time=90 ms
Reply from 192.168.3.1: bytes=56 Sequence=5 ttl=254 time=110 ms
--- 192.168.3.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 90/106/130 ms
<R2>tracert 192.168.3.1
traceroute to 192.168.3.1(192.168.3.1), max hops: 30 ,packet length: 40,press
CTRL_C to break
1 192.168.2.254 60 ms 60 ms 60 ms
2 192.168.3.1 110 ms 110 ms 110 ms
可见此时VLAN2与VLAN3之间可以正常的互访。
**注:**有可能刚开始的时候ping不通192.168.3.1,可以在R2和R3上先分别ping网关192.168.2.254和192.168.3.254,均ping通后,再在R2上ping 192.168.3.1
5.2.4 Dot1q的参考配置
(1)R1
bash
<R1>display current-configuration
#
sysname R1
#
undo info-center enable
#
# 此处省略部分默认配置
#
interface GigabitEthernet0/0/0
#
interface GigabitEthernet0/0/0.2
dot1q termination vid 2
ip address 192.168.2.254 255.255.255.0
#
interface GigabitEthernet0/0/0.3
dot1q termination vid 3
ip address 192.168.3.254 255.255.255.0
#
# 此处省略其它默认配置
#
return
(2)R2
bash
<R2>display current-configuration
#
sysname R2
#
undo info-center enable
#
# 此处省略部分默认配置
#
interface GigabitEthernet0/0/0
ip address 192.168.2.1 255.255.255.0
#
interface GigabitEthernet0/0/1
#
#
ip route-static 0.0.0.0 0.0.0.0 192.168.2.254
#
#
(3)R3
bash
<R3>display current-configuration
#
sysname R3
#
undo info-center enable
#
#此处省略部分默认配置
#
interface GigabitEthernet0/0/0
ip address 192.168.3.1 255.255.255.0
#
#
ip route-static 0.0.0.0 0.0.0.0 192.168.3.254
#
(4)LSW1
bash
<LSW1>display current-configuration
#
sysname LSW1
#
undo info-center enable
#
vlan batch 2 to 3
#
# 此处省略部分默认配置
#
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 2 to 3
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 2
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 3
#
interface GigabitEthernet0/0/4
#
#
return
5.3 配置VLANIF 接口实现VLAN互访
5.3.1 清除5.2节中的配置
(1)清除LSW1上的配置
bash
[LSW1]interface G0/0/1
[LSW1-GigabitEthernet0/0/1]undo port trunk allow-pass vlan 2 3
[LSW1-GigabitEthernet0/0/1]undo port link-type
[LSW1-GigabitEthernet0/0/1]quit
(2)清除R1上的配置
bash
[R1]undo interface G0/0/0.2
[R1]undo interface G0/0/0.3
5.3.2 在LSW1上创建相应的VLANIF接口
bash
# 创建Vlanif2接口,并接入接口配置视图
[LSW1]interface Vlanif 2
# 为该接口指定IP地址
[LSW1-Vlanif2]ip address 192.168.2.254 24
[LSW1-Vlanif2]quit
# 创建Vlanif3接口,并接入接口配置视图
[LSW1]interface Vlanif 3
# 为该接口指定IP地址
[LSW1-Vlanif3]ip address 192.168.3.254 24
[LSW1-Vlanif3]quit
5.3.3 检测VLAN间互访连通性
bash
<R2>ping 192.168.3.1
PING 192.168.3.1: 56 data bytes, press CTRL_C to break
Reply from 192.168.3.1: bytes=56 Sequence=1 ttl=254 time=90 ms
Reply from 192.168.3.1: bytes=56 Sequence=2 ttl=254 time=60 ms
Reply from 192.168.3.1: bytes=56 Sequence=3 ttl=254 time=70 ms
Reply from 192.168.3.1: bytes=56 Sequence=4 ttl=254 time=60 ms
Reply from 192.168.3.1: bytes=56 Sequence=5 ttl=254 time=30 ms
--- 192.168.3.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 30/62/90 ms
<R2>tracert 192.168.3.1
traceroute to 192.168.3.1(192.168.3.1), max hops: 30 ,packet length: 40,press
CTRL_C to break
1 192.168.2.254 50 ms 30 ms 50 ms
2 192.168.3.1 60 ms 60 ms 60 ms
可见此时VLAN2与VLAN3之间可以正常的互访。
5.4 VLANIF接口的配置参考
R2和R3的配置与5.2.4中的相同,下面仅给出LSW1和R1的参考配置。
5.4.1 LSW1的参考配置
bash
[LSW1]display current-configuration
#
sysname LSW1
#
undo info-center enable
#
vlan batch 2 to 3
#
#
interface Vlanif1
#
interface Vlanif2
ip address 192.168.2.254 255.255.255.0
#
interface Vlanif3
ip address 192.168.3.254 255.255.255.0
#
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 2
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 3
#
#
return
interface vanif vlan-id命令用来创建 VLANIF 接口并进入 VLANIF接口视图。只有先通过命令创建 VLAN 后,才能执行 interface vlanif 命令创建 VLANIF 接囗。
5.4.2 R1的参考配置
bash
[R1]display current-configuration
#
sysname R1
#
undo info-center enable
#
return
思考题
VLANIF接口作为一个三层接口存在在设备上,在什么情况下接口会处于UP状态?
答案:当有任一允许此 VLAN 通过的物理接口进入 UP 状态,那么对应的 VLANIF 就会进入UP 状态。
参考文献
华为HCIA-Datacom V1.0 实验手册 (eNSP Pro)