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的广播)
操作码
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 简单应用
配置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
核心交换机:Cisco Catalyst 4507R,2台各配置两块引擎,四块引擎做hsrp组,使用trunk连接,交换机间运行VTP协议,4507A的VTP运行server模式,其它三台交换机VTP运行client模式,4507A创建了VLAN 100和VLAN 200
DHCP服务器配置
核心交换机引擎配置
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负载均衡的配置
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
debug standby