Hot Standby Router Protocol

热备份路由器协议是Cisco私有的第三层协议


LAN中,多台router组成一个HSRP组模拟成虚拟路由器,有虚拟的IP地址和虚拟的MAC地址

host对vip的arp请求由vmac应答,host发送数据分组给vip的vman地址来进行相应的数据流转发

如果active router失效,standby router长时间没收到hello包将成为actvie router,

判断的依据是router的priority,其默认值为100

从网络内的主机来看,虚拟路由器并没有发生任何改变,不会导致主机通信中断现象

HSRP为IP网络提供网络冗余,以确保用户流量能立即并透明地恢复网络边界设备中的第一跳故障


HSRP成员

HSRP组内只有一台Active router、一台standby router、other routers

1>Active router:代表HSRP组转发指向VIP的数据流,并发送hsrp hello包给其它hsrp成员,最终处于active state

2>Standby router:监控active router状态,发送hsrp hello包给其它hsrp成员,最终处于standby state

3>other routers:监控HSRP hello包,但不发送;最终处于listen state


HSRP报文信息(基于UDP端口号为1985的广播)

wKioL1dQ_eKjKZULAABNt-fv978074.jpg

操作码

hello:router把priority和state发送给其它router,默认3S

Coup:standby router变成active router时发送

Resign:active router当机或有更高级router发送hello时,主动发送的信息

6种状

Initial、Learn、Listen、Speak、Standby、Active

呼叫时间Hellotime,默认3s

等待时间Holdtime,至少是Hellotime3倍,默认10s


实验1 简单应用

wKiom1dRB7LhG30gAAB5ey7_1OQ833.jpg







配置IP地址及路由:

R1(config)#int f1/0

R1(config-if)#ip add192.168.13.1 255.255.255.0

R1(config-if)#no sh

R1(config)#int s0/0

R1(config-if)#ip add192.168.12.1 255.255.255.0

R1(config-if)#no sh

R1(config)#router rip
R1(config-router)#network 192.168.12.0
R1(config-router)#network 192.168.13.0
R1(config-router)#passive-interfacef1/0        

//防止从该接口发送RIP信息给R3

R2(config)#int lo0
R2(config-if)#ip add 192.168.2.2 255.255.255.0
R2(config)#int s0/0
R2(config-if)#ip add 192.168.12.2 255.255.255.0
R2(config-if)#clock rate 128000
R2(config-if)#no sh
R2(config)#int s0/1
R2(config-if)#ip add 192.168.23.2 255.255.255.0
R2(config-if)#clock rate 128000
R2(config-if)#no sh
R2(config)#router rip

R2(config-router)#network192.168.2.0
R2(config-router)#network 192.168.12.0
R2(config-router)#network 192.168.23.0
R3(config)#int f1/0
R3(config-if)#ip add 192.168.13.3 255.255.255.0
R3(config-if)#no sh
R3(config)#int s0/1
R3(config-if)#ip add 192.168.23.3 255.255.255.0
R3(config-if)#no sh
R3(config)#router rip
R3(config-router)#network 192.168.23.0
R3(config-router)#network 192.168.13.0
R3(config-router)#passive-interface f1/0

配置HSRP:

R1(config-if)#standby 1 ip 192.168.13.254 

//启用HSRP功能,创建standby组1,并设置虚拟网关IP地址,同组ip一致
R1(config-if)#standby priority 120  

//设置HSRP的优先级,该值大的会抢占成Active路由器,默认为100

standby 1 preempt delay minimum 1000 延迟1000毫秒抢占

R1(config-if)#standby 1 preempt        

//设置允许在该路由器优先级是最高时抢占为活动路由器,当活动路由故障恢复后抢占回active
R1(config-if)#standby1 timers 3 10        

//设置Hellotime为3秒,Holdtime为10秒,默认即为该值,同组时间一致
R1(config-if)#standby1 authentication md5 key-string cisco        

//配置认证密码,防止非法设备接入,同组密码一致

R1(config-if)#standby1 track s0/0 30
//配置端口跟踪,故障时优先级减少30

R3(config)#int f1/0
R3(config-if)#standby 1 ip 192.168.13.254
R3(config-if)#standby 1 preempt
R3(config-if)#standby 1 timers 3 10
R3(config-if)#standby 1 authentication md5 key-string cisco

//①修改vmac地址命令dtandby 1 mac-address,mac地址默认为:“0000.0c07.acXX”,XX为组号,

②设置HSRP组1的名字命令:standby 1 name ,如果没有设置系统自动生成。

③设置HSRP的版本命令“standby version”,HSRP的两个版本version1和version2不兼容。


实验二 负载均衡

R1(config)#int f1/0

R1(config-if)#standby1 ip 192.168.13.254

R1(config-if)#standby1 priority 120

R1(config-if)#standby1 preempt

R1(config-if)#standby1 authentication md5 key-string cisco

R1(config-if)#standby1 track s0/0 30

R1(config-if)#standby2 ip 192.168.13.253

R1(config-if)#standby2 preempt

R1(config-if)#standby2 authentication md5 key-string cisco

R3(config)#int f1/0

R3(config-if)#standby1 ip 192.168.13.254

R3(config-if)#standby1 preempt

R3(config-if)#standby1 authentication md5 key-string cisco

R3(config-if)#standby2 ip 192.168.13.253

R3(config-if)#standby2 priority 120

R3(config-if)#standby2 preempt

R3(config-if)#standby2 authentication md5 key-string cisco

R3(config-if)#standby2 track s0/1 30

//当网络全部正常时,一部分数据是由R1转发的,其余数据是由R2转发的,实现了负载平衡。

不同的计算机设置不同网关,如果计算机的IP是DHCP分配的,那这种方法就不太方便了


实验三 核心交换机配置HSRP

wKioL1dRIw_z1oKcAAEFzYPHy1E942.jpg 

wKiom1dRIs2QGJ51AABieO0SFq4669.jpg

核心交换机:Cisco Catalyst 4507R,2台各配置两块引擎,四块引擎做hsrp组,使用trunk连接,交换机间运行VTP协议,4507A的VTP运行server模式,其它三台交换机VTP运行client模式,4507A创建了VLAN 100和VLAN 200


DHCP服务器配置

wKioL1dRJVDDQoBAAABYRxLYgiU704.jpg

wKiom1dRJE_TMsIiAABX12U5Gaw387.jpg


核心交换机引擎配置

4507A引擎1上的HSRP配置

1.4507A-R1  

2.interface Vlan100 

3.ip address 10.10.100.253  255.255.255.0 

4.ip helper-address 10.10.1.1  

//确保3750交换机上的主机从dhcp服务器自动获取      

5.standby 100 priority 150 preempt 

6.standby 100 ip 10.10.100.254 

7.!  

8.interface Vlan200 

9.ip address 10.10.200.253  255.255.255.0 

10.ip helper-address 10.10.1.1 

11.standby 200 priority 150 preempt 

12.standby 200 ip 10.10.200.254 


4507A引擎2上HSRP的配置

1.4507A-R2  

2.interface Vlan100 

3.ip address 10.10.100.252  255.255.255.0 

4.ip helper-address 10.10.1.1 

5.standby 100 priority 140 preempt 

6.standby 100 ip 10.10.100.254 

7.!  

8.interface Vlan200 

9.ip address 10.10.200.252  255.255.255.0 

10.ip helper-address 10.10.1.1 

11.standby 200 priority 140 preempt 

12.standby 200 ip 10.10.200.254 

//引擎1是主状态,引擎2处于备用状态

当然若引擎1故障,引擎2就马上替代引擎1,并且不会引起网络的中断。

4507B引擎1和引擎2上HSRP的配置

1.4507B-R1  

2.interface Vlan100 

3.ip address 10.10.100.251  255.255.255.0 

4.ip helper-address 10.10.1.1 

5.standby 100 priority 130 preempt 

6.standby 100 ip 10.10.100.254 

7.!  

8.interface Vlan200 

9.ip address 10.10.200.251  255.255.255.0 

10.ip helper-address 10.10.1.1 

11.standby 200 priority 130 preempt 

12.standby 200 ip 10.10.200.254 

1.4507B-R1  

2.interface Vlan100 

3.ip address 10.10.100.251  255.255.255.0 

4.ip helper-address 10.10.1.1 

5.standby 100 priority 130 preempt 

6.standby 100 ip 10.10.100.254 

7.!  

8.interface Vlan200 

9.ip address 10.10.200.251  255.255.255.0 

10.ip helper-address 10.10.1.1 

11.standby 200 priority 130 preempt 

12.standby 200 ip 10.10.200.254 

//两台核心交换机4507A和4507B使用四块引擎,极大提高了网络中核心交换机的稳定性和冗余能力。

同一台4507上某一块引擎故障,另一块引擎会马上被激活,并代替故障的引擎。

若同一台的两块引擎板都故障,另一台4507上的引擎会马上被激活,担负起路由的任务。




实验四 HSRP负载均衡的配置

wKioL1dRLC6hcWF4AABZKxCpyeE387.jpg

HSRP负载均衡的实验要求:

R1、R3上分别做NAT,使得内网的PC能够访问外网,并在此基础上实现HSRP。

要求实现2组负载均衡:

R1作为HSRP组1的Active路由器虚拟IP为:172.20.10.100. 并且作为HSRP组2的standby路由器虚拟IP为172.20.10.200. 

R2作为HSRP组1的standby路由器虚拟IP为:172.20.10.100.并且作为HSRP组2的Active路由器虚拟IP为172.20.10.200.

此外设置:PC1的默认网关为:172.20.10.100.PC2的默认网关为:172.20.10.200。


R1上的配置:
先是配置R1上的默认路由,访问控制列表以及NAT的配置:

R1(config)#ip route0.0.0.0 0.0.0.0 s0/1
R1(config)#access-list 1 permit any 
R1(config)#ip nat inside source list 1 interface s0/1
R1(config)#int f1/0
R1(config-if)#ip nat i
R1(config-if)#int s0/1
R1(config-if)#ip nat o
R1(config-if)#end

R1上的HSRP的配置:

R1(config)#int f1/0
R1(config-if)#standby 1 ip 172.20.10.100
R1(config-if)#standby 1 priority 105
R1(config-if)#standby 1 preempt 
R1(config-if)#standby 1 track s0/1
R1(config-if)#standby 2 ip 172.20.10.200
R1(config-if)#standby 2 priority 95
R1(config-if)#standby 2 preempt 
R1(config-if)#standby 2 track s0/1
R1(config-if)#end

R3上的默认路由和访问控制列表以及NAT的配置:

R3(config)#ip route0.0.0.0 0.0.0.0 s0/2
R3(config)#access-list 1 permit any 
R3(config)#ip nat inside source list 1 interface s0/2
R3(config)#int s0/2
R3(config-if)#ip nat o
R3(config-if)#int f1/0
R3(config-if)#ip nat i
R3(config-if)#end

R3上的HSRP的配置:

R3(config)#int f1/0
R3(config-if)#standby 1 ip 172.20.10.100
R3(config-if)#standby 1 priority 95
R3(config-if)#standby 1 preempt 
R3(config-if)#standby 1 track s0/2
R3(config-if)#standby 2 ip 172.20.10.200
R3(config-if)#standby 2 priority 105
R3(config-if)#standby 2 preempt 
R3(config-if)#standby 2 track s0/2
R3(config-if)#end


HSRP调试


show standby

wKioL1dRKxLi30uMAAEEJHpVUpU157.jpg

debug standby

wKiom1dRKhKyn3DrAAGIORcCPns768.jpg