目录
原理概述
以太网中,通常使用vlan技术来隔离二层广播域来减少广播的影响,增强网络的安全性和可管理性。缺点是同时隔离了不同vlan之间的二层流量,使不同vlan之间不能互通。现实工作中,需要用户之间跨越vlan实现通信,使用单臂路由解决方法之一。
单臂路由原理通过一台路由器,使vlan间互通数据通过路由器进行三层转发。如果在路由器上为每个vlan分配一个单独的路由器物理接口,随着vlan数量增加,需要更多接口,而路由器接口数量有限,所以需要在一个路由器的物理接口上配置子接口(逻辑接口)实现更多功能。路由器同一物理接口的不同子接口,作为不同vlan的默认网关。
因从拓扑图上,交换机与路由器之间仅通过一条物理链路传输,故称为“单臂路由”。
拓扑图
IP地址
实验步骤
s11配置
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 2 to 4094
#
interface GigabitEthernet0/0/2
port link-type trunk
port trunk allow-pass vlan 2 to 4094
#
interface GigabitEthernet0/0/3
port link-type trunk
port trunk allow-pass vlan 2 to 4094
s22配置
vlan 10
description HR
vlan 20
description Market
#
interface GigabitEthernet0/0/2
port link-type trunk
port trunk allow-pass vlan 2 to 4094
s33配置
#
vlan 30
description Manager#
interface GigabitEthernet0/0/2
port link-type trunk
port trunk allow-pass vlan 2 to 4094
r1配置
interface GigabitEthernet0/0/1.1
ip address 192.168.1.254 255.255.255.0
#
interface GigabitEthernet0/0/1.2
ip address 192.168.2.254 255.255.255.0
#
interface GigabitEthernet0/0/1.3
ip address 192.168.3.254 255.255.255.0
将四台网络设备对应端口配置完成之后,进行网络测试。尝试使用PC1 ping通网关,发现无法进行通信。
配置路由子接口封装vlan
虽然配置建立了不同的子接口,但仍然无法进行通信。这是因为不同网段之间通信,数据包必须经过路由器进行中转。由于s11发送到r1的数据包都加上了vlan标签,但路由器作为三层设备,默认无法处理带vlan标签的数据报。因此需要在路由器子接口上配置对应的vlan封装,使路由器可以识别处理vlan标签,包括剥离、封装vlan标签。
同时还需要在对应的子接口开启ARP广播功能。使用dotlq termination vid 命令配置子接口对一层tag报文的终结功能。配置该命令后,路由器子接口在接受带有对应的vlan tag的报文时,将玻剥离tag进行三层转发,在发送报文时,会将与该子接口对应vlan的vlan tag添加到报文中。配置该命令时,使用arp broadcast enable 开启ARP广播功能,如果不配置,将导致子接口无法主动发送ARP广播报文,以及向外转发IP报文。
r1配置
interface GigabitEthernet0/0/1.1
dot1q termination vid 10
ip address 192.168.1.254 255.255.255.0
arp broadcast enable
#
interface GigabitEthernet0/0/1.2
dot1q termination vid 20
ip address 192.168.2.254 255.255.255.0
arp broadcast enable
#
interface GigabitEthernet0/0/1.3
dot1q termination vid 30
ip address 192.168.3.254 255.255.255.0
arp broadcast enable
配置成功后,查看r1接口状态,路由表。可以看见r1对应的子接口已经成功配置对应的IP地址,同时,协议状态也是启动的。
子接口上配置ARP之后,查看路由表,可以看见路由表中已经有对应路由,并且为直连路由,类似物理上的直连路由。
PC1上使用命令 tracert 192.168.3.1,可以观察到,PC1先将ping包发送给网关,再发送给PC3