1 配置VRRP
在实验拓扑图中,由于有多条链路产生环路,所以我们在实验初始时一定要将某些端口堵塞(初始化时已将RG-S35B的f0/1-4四个端口堵塞,在配置完毕进行测试时才可以打开).否则产生环路后,会发现设备的cpu利用率会达到100%(使用命令show cpu查看)。
RG-S35A(config)#interface vlan 10
RG-S35A(config-if)#ip address 192.168.10.254 255.255.255.0 !配置VLAN10的IP地址
RG-S35A(config-if)#standby 1 ip 192.168.10.250 !配置虚拟IP
RG-S35A(config-if)#standby 1 preempt !设为抢占模式
RG-S35A(config-if)#standby 1 priority 254 !VLAN10的standby优先级设为254
RG-S35A(config-if)#exit
RG-S35A(config)#interface vlan 20 !VLAN20的standby不设优先级,默认为100
RG-S35A(config-if)#ip address 192.168.20.253 255.255.255.0 !配置VLAN20的IP地址
RG-S35A(config-if)#standby 2 ip 192.168.20.250 !配置虚拟IP
RG-S35A(config-if)#standby 2 preempt !设为抢占模式
RG-S35A(config-if)#exit
RG-S35A(config)#interface vlan 30
RG-S35A(config-if)#ip address 192.168.30.254 255.255.255.0 !配置VLAN30的IP地址
RG-S35A(config-if)#standby 3 ip 192.168.30.250 !配置虚拟IP
RG-S35A(config-if)#standby 3 preempt !设为抢占模式
RG-S35A(config-if)#standby 3 priority 254 !VLAN30的standby优先级设为254
RG-S35A(config-if)#exit
RG-S35A(config)#interface vlan 40 !VLAN20的standby不设优先级,默认为100
RG-S35A(config-if)#ip address 192.168.40.253 255.255.255.0 !配置VLAN40的IP地址
RG-S35A(config-if)#standby 4 ip 192.168.40.250 !配置虚拟IP
RG-S35A(config-if)#stand 4 preempt !设为抢占模式
RG-S35A(config-if)#exit
RG-S35A(config)#exit
RG-S35B把vlan20 40 设置为standby 2、4 priority 254
2 配置RG-S35A与RG-S35B的端口聚合
理论上,35A和35B的f0/3和f0/4端口不需要设置为trunk口,但是我们习惯上都设为trunk(已在前面做好了配置)。
重点:一定要将aggregatePort的switchport mode配置为trunk模式,否则其默认为access模式。
RG-S35A(config)#interface f0/3
RG-S35A(config-if)#port-group 1 !将该端口加入端口聚合1组内
RG-S35A(config-if)#exit
RG-S35A(config)#interface f0/4
RG-S35A(config-if)#port-group 1
RG-S35A(config-if)#end
RG-S35A(config)#interface aggregatePort 1
RG-S35A(config-if)#switchport mode trunk !将聚合接口模式设为trunk
RG-S35A(config-if)#exit
RG-S35B配置相同。。。
RG-S35B(config)#interface f0/3 !打开S35B的f0/3和f0/4口
RG-S35B(config-if)#no shutdown
RG-S35B(config-if)#interface f0/4
RG-S35B(config-if)#no shutdown
RG-S35B(config-if)#exit
35B上的f0/5口已经变成了路由口,不会形成环路,可以打开
到了这里,VRRP配置基本完成.这时,从接入层21A和21B向35C的上层发送报文时,VLAN10和30通过35A上行,VLAN20和40通过35B上行,由standby进行控制;但是下行时,则纯粹按照35C上的路由表进行发送.
这样,我们在数据上行时可以实现负载均衡,但是下行时却做不到,所以我们进行路由优先级的配置.
RG-S35A(config)#interface vlan 20
RG-S35A(config-if)#ip ospf cost 65535
RG-S35A(config-if)#exit
RG-S35A(config)#interface vlan 40
RG-S35A(config-if)#ip ospf cost 65535
RG-S35A(config-if)#exit
RG-S35B
RG-S35B(config)#interface vlan 10
RG-S35B(config-if)#ip ospf cost 65535
RG-S35B(config-if)#exit
RG-S35B(config)#interface vlan 30
RG-S35B(config-if)#ip ospf cost 65535
RG-S35B(config-if)#exit
3 配置MSTP
RG-S21A(config)#spanning-tree !开启生成树
RG-S21A(config)#spanning-tree mode mstp !生成树类型为多生成树
RG-S21A(config)#spanning-tree mst configuration !配置多生成树
RG-S21A(config-mst)#instance 1 VLAN 10,30 !将vlan10、30放入实例1中
一个实例生成一个树,该树可以和其他实例生成的树的路径不一样,达到负载均衡的作用
RG-S21A(config-mst)#revision 1 !配置多生成树的版本号
RG-S21A(config-mst)#instance 2 vlan 20,40 !将vlan20、40放入实例2中
RG-S21A(config-mst)#revision 1
RG-S21A(config-mst)#exit
RG-S21B配置同上。。。
RG-S35A配置同上。。。
RG-S35A(config)#spanning-tree mst 1 priority 4096 !配置实例1在35A的优先级为4096
RG-S35A(config)#spanning-tree mst 2 priority 8192 !配置实例2在35A的优先级为8192
配置优先级比较高是为了使35A作为mst 1的根节点,一方面是因为它的性能比21强,防止21被选做根节点;更重要的是,如果默认优先级更高的为35B,则vlan10、30也会通过35B传输,与我们所希望的产生冲突。
RG-S35B配置同上。。。
RG-S35B(config)#spanning-tree mst 2 priority 4096
RG-S35B(config)#spanning-tree mst 1 priority 8192
RG-S35B(config)#interface range fastEthernet 0/1-2 !mstp设置已完成,则可以打开初始时关闭的f0/1和f0/2
RG-S35B(config-if-range)#no shutdown
4 验证
RG-S35A#show standby
RG-S35A#show ip route
RG-S35B#show standby
RG-S35B#show ip route
VLAN10和30通过35A上行,VLAN20和40通过35B上行,由standby进行控制
RG-S35C#show ip route
VLAN10和30的数据通过35A下行,VLAN20和40的数据通过35B下行。
在35C上可以ping通35A的VLAN10,却ping不通35B的VLAN10,可见VLAN10的数据都是通过35A传输的。
#Config T