划分VLAN后,不同VLAN的用户间不能二层互访,这样能起到隔离广播的作用。但实际应用中,不同VLAN的用户又常有互访的需求,此时就需要实现不同VLAN的用户互访,简称VLAN间互访。
华为提供了多种技术实现 VLAN 间互访,常用的两种技术为VLANIF接口和Dot1q终结子接口。
本实验将通过这两种方式来实现VLAN间互访需求。
配置Dot1q终结子接口方法实现VLAN间互访
配置VLANIF接口方法实现VLAN间互访
R2 和 R3 处于不同的VLAN,现要求通过 VLANIF 接口和 Dot1q 终结子接口分别实现 R2 与 R3 之间的互访需求。
# R1、R2、R3 和 S1命名
略。
# R2和R3的IP地址及网关配置
[AR2]interface GigabitEthernet 0/0/1
[AR2-GigabitEthernet0/0/1]ip address 192.168.2.1 24
[AR2-GigabitEthernet0/0/1]quit
[AR2]ip route-static 0.0.0.0 0 192.168.2.254
配置默认路由,相当于给设备配置了网关。
[AR3]interface GigabitEthernet 0/0/1
[AR3-GigabitEthernet0/0/1]ip address 192.168.3.1 24
[AR3-GigabitEthernet0/0/1]quit
[AR3]ip route-static 0.0.0.0 0 192.168.3.254
# 在S1上对R2和R3进行 VLAN 划分
[S1]vlan batch 2 3
[S1]interfac Ethernet 0/0/2
[S1-Ethernet0/0/2]port link-type access
[S1-Ethernet0/0/2]port default vlan 2
[S1-Ethernet0/0/2]quit
[S1]interface Ethernet 0/0/3
[S1-Ethernet0/0/3]port link-type access
[S1-Ethernet0/0/3]port default vlan 3
# 配置S1上的Trunk接口
[S1]interface Ethernet 0/0/1
[S1-Ethernet0/0/1]port link-type trunk
[S1-Ethernet0/0/1]port trunk allow-pass vlan 2 3
因为VLAN间互访数据要由 R1来终结 VLAN,所以 S1和 R1之间的链路要允许VLAN2和VLAN3通过。
# 在R1上创建并进入子接口视图。2代表子接口的编号,一般建议子接口编号与VLAN ID相同,方便记忆。
[AR1]interface GigabitEthernet 0/0/1.2
# 配置 Dot1q 终结子接口
[AR1-GigabitEthernet0/0/1.2]dot1q termination vid 2
dot1q termination vid vlan-id:命令用来配置子接口Dot1q终结的VLAN ID。
以此配置为例:当GigabitEthernet0/0/1接口收到带有VLAN 2标签的数据之后,会交由2号子接口进行VLAN终结操作并做后续处理。从2号子接口发出的数据也会带上VLAN 2的标签。
# 使能终结子接口的ARP广播功能
[AR1-GigabitEthernet0/0/1.2]arp broadcast enable
终结子接口不能转发广播报文,在收到广播报文后它们直接把该报文丢弃。为了允许终结子接口能转发广播报文,可以通过在子接口上执行命令 arp broadcast enable 使能终结子接口的ARP广播功能。部分设备默认使能该功能,此命令的配置根据设备而定。
# 配置子接口ip地址
[AR1-GigabitEthernet0/0/1.2]ip add 192.168.2.254 24
[AR1-GigabitEthernet0/0/1.2]quit
# 创建另一个vlan3的子接口并配置ip地址
[AR1]interface GigabitEthernet 0/0/1.3
[AR1-GigabitEthernet0/0/1.3]dot1q termination vid 3
[AR1-GigabitEthernet0/0/1.3]arp broadcast enable
[AR1-GigabitEthernet0/0/1.3]ip address 192.168.3.254 24
[AR1-GigabitEthernet0/0/1.3]quit
# 检测 VLAN 间互访联通性
ping命令检查联通性
tracert命令追踪路由
<AR2>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 30 ms 40 ms 60 ms
2 192.168.3.1 70 ms 100 ms 80 ms
此时VLAN2和VLAN3之间已经可以正常的互访。
# 清除上一步配置
[S1]interface Ethernet 0/0/1
[S1-Ethernet0/0/1]undo port trunk allow-pass vlan 2 3 # 删除trunk接口配置的vlan
[S1-Ethernet0/0/1]undo port link-type # 删除trunk接口配置
# Dot1q 终结子接口
[AR1]undo interface GigabitEthernet 0/0/1.2
[AR1]undo interface GigabitEthernet 0/0/1.3
# 在S1上创建相应的VLANIF接口
[S1]interface Vlanif 2
interface vlanif vlan-id:命令用来创建VLANIF接口并进入VLANIF接口视图。
只有先通过命令创建VLAN后,才能执行interface vlanif命令创建VLANIF接口。
# 配置vlanif接口的ip地址
[S1-Vlanif2]ip address 192.168.2.254 24
[S1-Vlanif2]quit
[S1]interface Vlanif 3
[S1-Vlanif3]ip address 192.168.3.254 24
[S1-Vlanif3]quit
# 检测VLAN间互访联通性
<AR2>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=120 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=50 ms
Reply from 192.168.3.1: bytes=56 Sequence=4 ttl=254 time=40 ms
Reply from 192.168.3.1: bytes=56 Sequence=5 ttl=254 time=60 ms
--- 192.168.3.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 40/66/120 ms
<AR2>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 30 ms 30 ms 20 ms
2 192.168.3.1 40 ms 40 ms 40 ms
racert 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 30 ms 30 ms 20 ms
2 192.168.3.1 40 ms 40 ms 40 ms
此时 VLAN2 和 VLAN3 之间已经可以正常的互访。