数据来源
1、HSRP热备份路由协议(备份网关)
出现背景:
如下图一个公司拉两条网线一条用来备份网关是192.168.0.253,平时用的网关是254,如果网关是254的这条网线出问题了就可以使用备份不影响公司让人员上网,但是我们切换网关一般是改DHCP服务器的地址池的网关地址,这就需要员工电脑重新获取IP才能生效,这就很不人性化还要通知到每个员工重启电脑才能上网,HSRP协议就是解决这个问题。
作用:备份网关
使用:
1)在两个网关使用HSRP协议,并加入HSRP组(如果是VRRP就是VRRP组),
组号:1-255(没有大小之分)
注意:当加入组之后这个局域网除了原来的两个物理的路由器外,还会出现一个虚拟的路由器,也会连接到局域网内但是线也是虚拟的实际是不存在的,所以不占用物理端口,这个虚拟的路由器也有属于自己的网关,假设为192.168.0.252,这个IP是真实存在的不过不需要我们手动去配置,是那两个物理路由器的网关加入组时两者自动协商出来的。
2)虚拟路由器的IP称为虚拟IP地址
3)HSRP组的成员
- 虚拟路由器(老大)
- 活跃路由器
- 备份路由器
- 其他路由器(如有第三个物理路由器称为其他路由器)
4) HSRP优先级:1-255(数字越大优先级越高)
默认为100,如两个路由器优先级相同就随机确认谁是活跃谁是备份
5)HSRP成员通过定时发送hello包来交流确定谁的优先级更高每隔3秒
hello包默认每隔3秒发送一次,坚持时间是10秒,10秒后活跃一方没反应备份路由器就会成为活跃路由器
通信过程:
(1)配置了HSRP协议之后,PC的数据会先到虚拟的路由器再由虚拟路由器转发给活跃路由器。
(2)如果HSRP成员通过定时发送hello包来交流发现活跃路由器一方出现问题了,(最多10秒活跃路由器没反应,备份路由器就会判定为他坏了,我要顶上去成为活跃路由器。
(3)特殊情况:如果原来的活跃路由器被修好了正常工作了,HSRP成员又开始发送hello包交流,现在的获取路由器发现被修好的路由器的优先级比他高就会自动变成备份路由器,被修好的路由器就会自动成为活跃路由器,PC的数据又会流到这里然后被转发。
6)占先权
作用:当检测不到活跃路由器,或检测对方的优先级比自己低,立即抢占活跃路由的名分。(给备份路由或其他路由器配置)
7)配置跟踪track,跟踪外网端口状态,当外网down掉,则自降优先级(比备份路由器低就行)
实验:
1)给PC和网关配置IP,效果如下图
配置PC
按照上面讲的两台路由器之间还有个虚拟路由器,我这里设虚拟路由器的网关是192.168.1.254,所以内网PC的网关设置为192.168.1.254
配置路由器端口IP命令
en # 进入特权模式
conf t # 进入全局配置模式
int Fa0/x # 进入需要配置的端口
ip add IP 子网掩码 # 配置IP,如: ip add 30.1.1.254 255.255.255.0
no shut # 开启端口
2)配置路由表
给内网的两台路由器都配置一条往右走的默认路由
en # 进入特权模式
conf t # 进入全局配置模式
ip route 0.0.0.0 0.0.0.0 下一跳IP # 配置默认路由,这里的下一跳IP就是外网路由器的网关
第一台路由器配置
en # 进入特权模式
conf t # 进入全局配置模式
ip route 0.0.0.0 0.0.0.0 10.1.1.254
第二台路由器配置
en # 进入特权模式
conf t # 进入全局配置模式
ip route 0.0.0.0 0.0.0.0 20.1.1.254
配置第三台路由器(外网)
外网的数据包传回内网有两条路线,从上面的路由器进入内网,或从下面的路由器,我这里只是为了做实验验证HSRP协议的路由切换,这就设置外网的数据从下面的路由器传回内网,内网的数据从上面路由器传到外网,等下手动关闭上面的路由器的端口,看下面的路由器会不会自动升级为活跃路由器
en # 进入特权模式
conf t # 进入全局配置模式
ip route 0.0.0.0 0.0.0.0 20.1.1.1
3)开始给路由器配置HSRP协议
en # 进入特权模式
conf t # 进入全局配置模式
int Fa0/x # 进入需要配置的端口
standby 指定组号(1-255)ip 指定组的虚拟IP # 将网关的端口加入HSRP组,例:standby 1 ip 192.168.1.254 意思是将 Fa0/x端口加入HSRP组,并指定这个组的虚拟IP
standby 指定组号(1-255) priority 指定优先级(1-255) # 给指定的组设置优先级例:standby 1 priority 200 给1号组设置优先级为200,默认的是100
standby preempt # 配置占先权,一般活跃路由器不需要配置,配了也不影响
配置第一台路由器 (把这台配置台活跃路由器,优先级200,备份路由器配置比200低就可以了)
en # 进入特权模式
conf t # 进入全局配置模式
int Fa0/0 # 进入需要配置的端口
standby 1 ip 192.168.1.254 # 加入组1并指定组1的虚拟IP192.168.1.254(PC的网关就是这个,通信时PC的数据会先发给这个虚拟的IP的虚拟路由器,再由他转发给活跃路由器)
standby 1 priority 200 # 给1号组设置优先级为200,默认的是100
standby 1 preempt # 配置占先权
然后给活跃路由器配置跟踪,跟踪连接外网的接口,如果出现问题该路由器会自动降低优先级,让备份路由器顶上去成为活跃路由器
standby 1 track fa0/1 # 跟踪组1的fa0/1接口(这条命令给活跃路由器配置就可以了,当然不嫌麻烦个备份路由器配置也不影响)
配置第二台路由器(当做备份路由器,他的优先级一定要第一台的优先级低,不然他就是活跃路由器了)
en # 进入特权模式
conf t # 进入全局配置模式
int Fa0/0 # 进入需要配置的端口
standby 1 ip 192.168.1.254 # 加入组1并指定组1的虚拟IP192.168.1.254(PC的网关就是这个,通信时PC的数据会先发给这个虚拟的IP的虚拟路由器,再由他转发给活跃路由器)
standby 1 priority 190 # 给1号组设置优先级为190,因为不知道活跃路由器出现问题的优先级会降低多少,所以这里就设置高一点
standby 1 preempt # 配置占先权
最后回到第一台交换机的全局配置模式下查看HSRP配置
show standby br # 查看HSRP状态(特权模式的命令,如果在全局模式下要在最前面加do,例 :do show standby br )
4)最后随便那一台PC使用命令ping一下外网的PC测试一下网络的联通性
ping -t 30.1.1.1 # -t 不手动停止会一直ping
5)然后手动将活跃路由器的端口关闭,看看刚才的ping会不会无法通信
en # 进入特权模式
conf t # 进入全局配置模式
int Fa0/0 # 进入需要配置的端口
shut # 关闭端口
如果不放心可以查看一下现在的活跃路由
show standby br # 查看HSRP状态
6)然后如果把刚才关闭的端口开启,no shut # 开启端口,等几秒中再查看HSRP组的成员信息会发现第一个路由器又变成活跃路由器
7)将活跃路由器连接外网的端口关闭,测试看备份路由器能不能自动成为活跃路由器
en # 进入特权模式
conf t # 进入全局配置模式
int Fa0/0 # 进入需要配置的端口
shut # 关闭端口
查看刚才的ping命令发现现在的活跃路由器还是192.168.1.252网关所在的路由器,回馈的报错信息“目标主机不可答 ”
分析原因:之前通过命令: standby 1 track fa0/1 跟踪活跃路由器组1的fa0/1接口,原理是如果这个端口与端口所连接的外网出现问题,当前的活跃路由器就会自动降低优先级,让原来的备份路由器可以自动升级为活跃路由器,现在的问题就是备份路由器没有自动升级成活跃路由器,原因应该是活跃路由器降低的优先级还是比备份的高或相等。
en # 进入特权模式
sh standby # 查看HSRP组成员信息
查看了现在路由器的优先后发现备份的路由器和现在活跃的路由器降低后优先级都是190,得出自动降低的优先级是10,所以要将备份路由器的优先级设置大于190
en # 进入特权模式
conf t # 进入全局配置模式
int Fa0/0 # 进入需要配置的端口
standby 1 priority 195 # 给1号组设置优先级为195
查看一下PC可以正常通信了