利用单臂路由实现VLAN间路由
1、路由器
1.1 什么是路由器
路由器是连接两个或多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。它能够理解不同的协议,例如某个局域网使用的以太网协议,因特网使用的TCP/IP协议。这样,路由器可以分析各种不同类型网络传来的数据包的目的地址,把非TCP/IP网络的地址转换成TCP/IP地址,或者反之;再根据选定的路由算法把各数据包按最佳路线传送到指定位置。所以路由器可以把非TCP/ IP网络连接到因特网上。
1.2 路由器的作用
路由器的一个作用是连通不同的网络,另一个作用是选择信息传送的线路。选择通畅快捷的近路,能大大提高通信速度,减轻网络系统通信负荷,节约网络系统资源,提高网络系统畅通率,从而让网络系统发挥出更大的效益来。
1.3 单臂路由的概念
单臂路由(router-on-a-stick)是指在路由器的一个接口上通过配置子接口(或“逻辑接口”,并不存在真正物理接口)的方式,实现原来相互隔离的不同VLAN(虚拟局域网)之间的互联互通。
1.4 单臂路由的作用
实现不同vlan之间的通信,可以看成是一个三层交换机中的路由模块,在传输数据包时先发向这个路由模块,由其提供路由路径然后再由交换机转发相应的数据包。
2、配置单臂路由实验
2.1 实验内容
2.2 实验拓扑
2.3 实验编址
2.4 实验步骤
step1:创建VLAN并配置Access口和trunk口
首先在S2交换机上进行配置
在S3交换机进行相同操作
step2:在S2和S3交换机的g0/0/2接口配置为trunk类型接口,并允许所有vlan通过
S3交换机操作相同
step3:在S1交换机创建vlan 10 20 30,并把GE0/0/2、GE0/0/3设置为trunk口允许所有vlan通过
不要忘记设置GE0/0/1.。。。。。。。。刚才忘了,现在设置。。。。。。命令与设置ge0/0/2相同,不在添加注释
step4:配置路由器子接口和ip地址(关于子接口概念请看1.3 的单臂路由的概念)
首先为路由器创建子接口和设置ip地址
step5:配置路由子接口封装vlan
虽然目前已经创建了不同的子接口,并配置了相关的ip地址,但是仍然无法通信,这是由于处于不同的vlan下,不同网段的pc要实现相互通信,数据包必须通过路由器进行中转,由s1发送给r1的数据都加上了vlan标签,而路由器作为三层设备默认无法处理带了vlan标签的数据包,因此需要在路由器上的子接口下配置对应的vlan的封装,使路由器能够识别和处理vlan标签,包括剥离和封装vlan标签
使用dotlq termination vid 命令配置子接口对一层tag报文的终结功能,即配置该命令后,路由器子接口在接收带有vlan tag的报文时,将剥掉tag进行三层转发,在发送报文时,会将与该子接口对应vlan的vlan tag 添加到报文中。
使用arp broadcast enable 开启arp广播功能,如果不配置该命令,会导致该子接口无法主动发送arp广播报文,以及向外转发ip报文。
同样的操作在g0/0/1.2和0/0/1.3上再来一遍
step6:配置完成之后进行测试
pc1 ping pc3成功
pc1 ping pc2成功
pc2 ping pc3成功
自此,单臂路由配置实验完成。以pc1和pc2为例,pc1先把数据发到路由器,再由路由器进行转发给pc2,由于我们之间已经在路由器上配置了vlan的封装,当收到pc1发送的vlan10的数据帧的时候,发现数据帧的vlan id与自身的g0/0/1.1配置的vlan id一样,就会剥离掉vlan标签再转发,之后通过查找路由表发现,数据包中的地址所属网段的路由条目,已经是路由器上的直连路由,并且找到了相应的接口,所以便把数据包发送给相应接口,当相应接口接收到发送过来的数据包的时候,就会给他打上自身的vlan标签,再通过交换机发送给相应终端。