HSRP配置实例负载均衡

热备份路由器协议(HSRP)的设计目标是支持特定情况下 IP 流量失败转移不会引起混乱、并允许主机使用单路由器,以及即使在实际第一跳路由器使用失败的情形下仍能维护路由器间的连通性。
简单来说就是当主机设置好一个网关,如果这个网关宕了,能马上切换到另一个备用网关.切换速度极快,而且主机上无需做任何额外配置.

预备知识:HSRP是个Cisco私有协议,只能在Cisco上启用.一般在汇聚层或者核心层的多层交换机上启用.
HSRP定义的是一个组,一个组内有一个交换机负责正常情况下的通信,(状态为Active,默认不可强占),还有一个做备份(状态为Standby,可强占),剩下的为Listen状态.
HSRP一个组必需定义一个Virtual IP,也就是把PC的网关设置成这个Virtual IP. 如果对运维技术了解的同学应该知道这原理就像KeepAlive热备份.

拓扑如下:
R1,SW2,SW3启用OSPF,并且R1上启一个环回口也加入OSPF,用于PC做连通性测试.


stp

首先测试在PC上Ping通R1的环回口,成功后在SW2和SW3开始配置HSRP.

1.在SW2和PC连接的接口模式下配置开启:

SW2(config-if)#standby 1 ip 100.1.1.5 //1为组号,IP地址就是SVI的IP,与PC同网段,为PC的网关.
SW2(config-if)#standby 1 priority 110 //手动指定优先级为110,默认100.如果优先级相同,则比较接口IP地址,大的优先.

然后同样在SW3和PC连接的接口模式下配置开启:
SW3(config-if)#standby 1 ip 100.1.1.5
因为SW2配置好后,组内就他一个成员.所以SW2会直接进入Active状态,这时在SW3上配置时可以不指定IP地址,能自动从SW2学习到,但是建议也写.

这样配置好之后,SW3就会最终进入Standby状态并监听SW2状态.

当SW2和PC连接出现问题时,SW3就会马上为PC提供服务.由于PC上配置的网关始终是Virtual IP,所以PC上不需要额外设置.

接下来当SW2或SW3的上行链路(连接到R1)宕了要怎么办?
这里就涉及到抢占和惩罚的问题.
假设SW2连接到R1的链路宕了,SW3需要抢占SW2的位子成为Active状态.通过惩罚SW2的优先级来实现.

同样先SW2上配置:

SW2(config-if)#standby 1 preempt //允许被抢占
SW2(config-if)#standby 1 track FastEthernet0/0 40 //追踪接口,当Fa0/0口(与R1连接)宕时,优先级下调40

然后在SW3也做同样配置:

SW3(config-if)#standby 1 preempt
SW3(config-if)#standby 1 track FastEthernet0/1 40

这样当SW2的上行线路宕的时候,SW2的优先级会自动下降40,并成为Standby,而SW3成为Active.
这样就保证了上行下行的热备份.

冗余备份做完了,如果这个时候一个组里面有很多交换机,除了两个真正在工作以外,别的都是Listen状态被闲置.
可以通过一个小技巧做到负载均衡:就是在一台交换机上启用多个组,并划分VLAN.

在两台机器上同样做类似配置,这次设置SW3优先级高于SW2:

SW2(config-if)#standby 2 ip 100.1.1.6 //使用另一个IP作为SVI地址
SW2(config-if)#standby 2 preempt
SW2(config-if)#standby 2 track FastEthernet0/0 40
SW3(config-if)#standby 2 ip 100.1.1.6
SW3(config-if)#standby 2 priority 110
SW3(config-if)#standby 2 preempt
SW3(config-if)#standby 2 track FastEthernet0/1 40

然后再交换机划分VLAN就行了.
如:把VLAN10的网关设置成100.1.1.5,VLAN20设置成100.1.1.6
正常情况VLAN10走SW2,如果宕了走SW3,VLAN20走SW3,如果宕了走SW2.
这就实现了负载均衡.

更高级的track还可以在全局配置模式下跟踪某条路由情况的状态,出现问题可以做惩罚等等….

GNS3配置文件:点击下载