热备份路由HSRP及配置案例
✍作者:柒烨带你飞
💪格言:生活的情况越艰难,我越感到自己更坚强;我这个人走得很慢,但我从不后退。
📜系列专栏:网路安全入门系列
目录
- 一,HSRP的相关概念
- 二,HSRP的工作原理
- 三,HSRP状态与计时器和VRRP
- 四,HSRP配置
- 五,实验案例
一,HSRP的相关概念
-
概述
- 热备份路由协议(HSRP)是思科推出的用于建立容错默认网关的专有冗余协议,由RFC2281进行描述。虚拟路由冗余协议(VRRP)是基于标准的HSRP替代协议,由IETF标准RFC 3768进行描述。这两种技术在概念上相似,但互不兼容
- Cisco私有的协议
-
HSRP组成员
- 活跃路由器。主要功能是转发到虚拟路由器的数据包。组中的另一台路由器被选为备份路由器。活跃路由器通过发送Hello消息来承担和保持它活跃的角色。
- 备份路由器。主要功能是监视HSRP组的运行状态,并且到活跃路由器不能运行时迅速承担起转发数据包的责任。备份路由器也传输Hello消息,告知组中所有路由器备份路由器的角色和状态变化
- 虚拟路由器。主要功能是想最终用户提供一台可以连续工作的路由器。虚拟路由器配置有它自己的IP地址和MAC地址,但并不实际转发数据包其他路由器:
- 其他路由器。这些路由器监视Helo消息,但不做应答。这些路由器转发任何经由他们的数据包,但并不转发经由虚拟路由器的数据包。
-
HSRP虚拟的MAC地址和HSRP消息
- HSRP 虚拟 MAC 地址
格式与组成:
HSRP(热备份路由器协议)虚拟 MAC 地址的格式是 0000.0C07.ACxx,其中 “xx” 是 HSRP 组号的十六进制表示。例如,对于 HSRP 组 1,十六进制的组号是 01,那么虚拟 MAC 地址就是 0000.0C07.AC01。 - HSRP 消息传输协议和端口
- HSRP 使用 UDP(用户数据报协议)来发送消息,端口号是1985。
- HSRP 设备使用这个端口来发送和接收 HSRP 通告消息,这些通告消息用于在组成员之间交流状态信息,如路由器的优先级、状态等。
- 通过这些消息,HSRP 组内的路由器可以确定活动路由器和备份路由器,以实现网关冗余功能。
- HSRP 使用组播地址224.0.0.2来发送 Hello 消息。这个组播地址属于链路本地组播地址范围。
- HSRP 虚拟 MAC 地址
二,HSRP的工作原理
- 具体工作过程
- 如下图所示,主机PC0需要访问外网172.16.10.0/24,发现不是同一网段,会将数据交给自己的网关,在这里主机配置的网络为HSRP组中的虚拟路由,虚拟路由根据HSRP组中的机制,将数据交给活跃路由器转发,活跃路由器再根据自身的路由表进行转发数据
三,HSRP状态与计时器和VRRP
- HSRP(热备份路由协议)状态
- Initial(初始状态)
- 这是HSRP启动时的第一个状态。在这个状态下,设备刚刚开始运行HSRP,还没有进行任何活动,比如还没有与其他HSRP组成员交换信息。例如,当一个新的路由器被配置为HSRP组的成员并启动HSRP进程时,它首先进入Initial状态。
- Learn(学习状态)
- 路由器在这个状态下开始接收来自活动路由器或虚拟路由器的信息。它会学习虚拟IP地址和其他HSRP组相关的参数。例如,路由器会通过监听HSRP消息来了解虚拟MAC地址等信息。这个阶段对于新加入的路由器来说是很重要的,它要获取足够的信息来参与到备份过程中。
- Listen(监听状态)
- 处于Listen状态的路由器会监听来自活动路由器和备份路由器的HSRP消息。它知道虚拟IP地址和虚拟MAC地址,但它目前不是活动路由器也不是备份路由器。例如,在一个已经稳定运行的HSRP组中,有一个新的路由器加入,它在学习了基本信息后会先进入Listen状态,观察其他路由器的工作情况,等待有机会成为备份路由器。
- Speak(发言状态)
- 路由器在这个状态下会定期发送HSRP消息,表明自己可以作为活动路由器或备份路由器的候选。它会向组内其他路由器通告自己的优先级等信息。例如,一个优先级较高的路由器会在Speak状态下向其他路由器宣传自己的优势,试图成为活动路由器或者至少是备份路由器。
- Standby(备用状态)
- 这是备份路由器的状态。备用路由器会持续监控活动路由器的状态,并且准备在活动路由器出现故障时接管其工作。例如,如果活动路由器的链路出现故障,备用路由器(处于Standby状态)会迅速切换为活动路由器,保证网络的正常运行。它会定期发送HSRP消息来表明自己的存在和状态。
- Active(活动状态)
- 活动路由器负责处理发送到虚拟IP地址的数据包。它会定期发送HSRP消息,让其他路由器知道它还在正常工作。例如,在一个企业网络中,活动路由器接收和转发所有发往虚拟IP的用户数据流量,如员工访问公司内部服务器或互联网的数据。
- Initial(初始状态)
- HSRP计时器
- Hello Timer(问候计时器)
- 活动路由器和备份路由器会按照Hello Timer设定的时间间隔发送HSRP问候消息。默认的Hello Timer时间间隔是3秒。这个计时器的作用是让组内的路由器能够及时了解彼此的状态。例如,如果一个路由器在连续多个Hello Timer周期内没有收到活动路由器的问候消息,就可能会认为活动路由器出现故障,从而触发备份路由器的切换。
- Hold Timer(保持计时器)
- Hold Timer的时间一般是Hello Timer时间的3倍左右,默认是10秒。它是用来确定路由器是否认为活动路由器已经失效。当一个路由器在Hold Timer规定的时间内没有收到活动路由器的问候消息时,它就会认为活动路由器失效,然后开始竞争成为新的活动路由器。例如,如果活动路由器由于硬件故障突然停止发送问候消息,备份路由器在经过Hold Timer时间后就会启动切换程序。
- Hello Timer(问候计时器)
- VRRP和HSPR
- HSPR协议是思考私有协议
- VRRP和HSRP类似,也是一种用于实现网关冗余的协议。它通过在一组路由器中选举出一个主路由器(Master)来处理发往虚拟IP地址的数据包,其他路由器作为备份(Backup)。
- VRRP状态
- Initialize(初始化状态):和HSRP的Initial状态类似,是VRRP启动时的初始状态。
- Backup(备份状态):备份路由器处于这个状态,等待主路由器出现故障,它会定期接收主路由器发送的VRRP通告消息。
- Master(主状态):主路由器负责转发发送到虚拟IP地址的数据包,并且定期发送VRRP通告消息,让备份路由器知道它还在正常工作。
- VRRP计时器
- VRRP也有类似HSRP的计时器机制。主路由器按照一定的时间间隔(默认是1秒)发送VRRP通告消息。备份路由器会根据这个通告消息来判断主路由器是否正常工作。如果在一定时间内(默认是3倍通告间隔时间,即3秒)没有收到主路由器的通告消息,备份路由器就会认为主路由器出现故障,然后开始竞争成为新的主路由器。与HSRP相比,VRRP的计时器默认值设置使得故障切换的速度可能更快,这在一些对网络可用性要求较高的场景中是一个优势。同时,VRRP在网络中可以提供多个虚拟IP地址,这也是它的一个特点。
四,HSRP配置
-
配置为HSRP的成员
//先创建vlan,进入int vlan虚接口 //设置虚接口ip地址,不要设相同的虚接口ip地址,另外一个设备上虚接口配置为192.168.20.2都可以不能为1 Switch(config-if)#ip address 192.168.20.1 255.255.255.0 //配置为HSRP的成员,如几组,虚拟IP地址。 //一个 HSRP 组内的虚拟 IP 地址都配相同的 Switch(config if)#standby [group-number] ip [virtual-ip-address.] //group-number:组号,范围0~255. //virtual-ip-address:虚拟IP地址. Switch(config-if)#standby 2 ip 192.168.20.254
-
配置HSRP的优先级
Switch(config-if)#standby [group-number] priority [priority-value]
//group-number:组号,范围0~255.
//priority-value:优先级,范围0~255,默认100
-
HSRP占先权
- 优先级高的路由器重新获得转发权,恢复成为活跃路由器
- HSRP占先权配置
Switch(config-if)#standby group-number preempt //group-number:组号,范围0~255.
-
HSRP计时器配置
- 配置Helo间隔和保持时间
Switch(config-if)#standby [group-number] times [hellotime] [holdtime]
-
配置HSRP端口跟踪
Switch(config-if)#standby [group-number] track type mod/num [interface-priority]
-
查看HSRP的状态
- 查看HSRP摘要信息
Switch#show standby brief
- 查看HSRP详细信息
Switch#show standby
- 查看HSRP摘要信息
五,实验案例
- 实验拓扑
#二层交换配置
en
conf t
vlan 10
vlan 20
exit
int f0/1
sw acc vlan 10
exit
int f0/2
sw acc vlan 20
exit
int range f0/9-10
sw mode trunk
-------------------------------------------------------
#外部路由器
en
conf t
int g0/0
ip add 10.10.10.2 255.255.255.0
no shut
exit
int g0/1
ip add 20.20.20.2 255.255.255.0
no shut
exit
int g0/2
ip add 172.16.10.254 255.255.255.0
no shut
exit
ip route 0.0.0.0 0.0.0.0 10.10.10.1
ip route 0.0.0.0 0.0.0.0 20.20.20.1
ip dhcp pool vlan1
network 172.16.10.0 255.255.255.0
default-router 172.16.10.254
exit
-------------------------------------------------------
#三层交换机0
en
conf t
ip routing
vlan 10
vlan 20
exit
int f0/9
sw mo trunk
exit
int f0/24
sw mo trunk(如果配置不了trunkswtichport mode dynamic desirable动态协商)
exit
int vlan 10
ip add 192.168.10.252 255.255.255.0
no shut
exit
int vlan 20
ip add 192.168.20.252 255.255.255.0
no shut
exit
int f0/23
no switchport
ip add 10.10.10.1 255.255.255.0
no shut
exit
spanning-tree vlan 10 priority 4096
int vlan 10
standby 10 ip 192.168.10.254
standby 10 priority 150
standby 10 preempt
standby 10 track f0/23 //-10
int vlan 20
standby 20 ip 192.168.20.254
standby 20 priority 120
standby 20 preempt
exit
ip route 172.16.10.0 255.255.255.0 10.10.10.2
ip dhcp pool vlan10
network 192.168.10.0 255.255.255.0
default-router 192.168.10.254
exit
ip dhcp pool vlan20
network 192.168.20.0 255.255.255.0
default-router 192.168.20.254
exit
-------------------------------------------------------
#三层交换机1
en
conf t
ip routing
vlan 10
vlan 20
exit
int f0/10
sw mode trunk
exit
int f0/24
sw mode trunk(如果配置不了trunkswtichport mode dynamic desirable动态协商)
exit
int vlan 10
ip add 192.168.10.253 255.255.255.0
no shut
exit
int vlan 20
ip add 192.168.20.253 255.255.255.0
no shut
exit
int f0/23
no switchport
ip add 20.20.20.1 255.255.255.0
no shut
exit
spanning-tree vlan 20 priority 4096
int vlan 10
standby 10 ip 192.168.10.254
standby 10 priority 120
standby 10 preempt
int vlan 20
standby 20 ip 192.168.20.254
standby 20 priority 150
standby 20 preempt
standby 10 track f0/23
ip route 172.16.10.0 255.255.255.0 20.20.20.2
ip dhcp pool vlan10
network 192.168.10.0 255.255.255.0
default-router 192.168.10.254
exit
ip dhcp pool vlan20
network 192.168.20.0 255.255.255.0
default-router 192.168.20.254
exit
博主的其他系列专栏📜📜📜
- 1 环境配置集合
- 2 C语言小实例项目
- 3 HTML入门 + 实战小案例
创作不易,😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!留下你的看法和建议💕
我们下期见✍️