HSRP双机热备工作原理与配置


热备份路由选择协议(HSRP一、HSRP的相关概念1HSRP的原理1.1HSRP概述HSRPHost Standby Routing Protocol,热备份路由选择协议)是Cisco私有的一种协议,它确保了当网络边缘设备或接入链路出现故障时,用户通信能迅速并透明的修复,以此为IP网络提供冗余性。通过应用HSRP,可使网络的正常运行时间接近100%。从而保障网络的可靠性要求。HSRPIP网络提供了容错和增强的路由选择功能。通过使用一个虚拟IP地址和虚拟MAC地址,LAN网络上的两台或者多台路由器可以作为一台虚拟路由器对外提供服务。HSRP使用组内Cisco路由器能互相监视对方的运行状态:虚拟路由器组的成员通过HSRP消息不断地交换状态信息。如果其中一台出现故障,另一台可接替他继续完成路由功能。1.2HSRP组成员HSRP备份组由一台活跃路由器、一台备份路由器、一台虚拟路由器和其他路由器组成。各个路由器的功能如下:活跃路由器:转发发送到虚拟路由器的数据。组中的另一台路由器被选为备份路由器。活跃路由器通过发送Hello消息来承担和保持他活跃的角色。备份路由器:监视HSRP组的运行状态,并且当活跃路由器不能运行的时,迅速承担起转发数据包的责任。备份路由器也传输Hello消息,告知组中所有路由器备份路由器的角色和状态变化。虚拟路由器向最终用户提供一台可以连续工作的路由器。虚拟路由器配有它自己的IP地址和MAC地址。但并不实际转发数据包。HSRP备份组:可以包含其他路由器。这些路由器监视Hello消息,但不做应答。这些路由器转发任何经由他们的数据包,但并不转发经由虚拟路由器的数据包1.3HSRP的具体工作原理HSRP组内的每个路由器都有指定的优先级(priority),用于衡量路由器在活跃路由器选择中的优先程度。默认优先级是100,他是用户配置中的可选项,可以使0~255内的任何值。组中最高优先级的路由器将成为活跃路由器活跃HSRP路由器通过HSRP组成员的优先级的设定而确定。如下图活跃路由器替代虚拟路由器对数据流进行相应。如果末端主机发送了一个数据包到虚拟路由器的MAC地址,那么,活跃路由器将接受并处理这个数据包。如果末端主机对虚拟路由器的IP地址发送ARP解析请求,那么,活跃路由器将使用虚拟路由器的MAC地址进行应答。如上图所示,路由器A的优先级为200,路由器B的优先级为150(默认优先级为100)。路由器A承担活跃路由器的角色,并且转发所有到达自动生成的HSRP虚拟MAC的数据帧。选择活跃路由器和备份路由器时,如果优先级相同,IP地址大的路由器获胜。(例如:两台路由器HSRP优先级都是100,一台路由器位于此LAN网段的端口的IP地址是10.1.1.2,另一台路由器位于此LAN网段的端口的IP地址是10.1.1.3,则IP地址为10.1.1.3的路由器会成为活跃路由器)。运行HSRP的设备会发送和接收基于用户数据报协议(UDP 1985)的组播Hello包,已检测路由器故障,并确定活跃路由器和备份路由器。一个组内的HSRP路由器会从活跃路由器那里学到Hello间隔,保持时间(Hold Time)和虚拟IP地址。1.4、虚拟MAC地址 ARPIP地址和MAC地址之间建立了一种关联。每台三层交换机都维护者一个地址解析表。三层交换机在试图联系某个设备之前,先检查其ARP缓存,已确定这个地址是否已经被解析。虚拟路由器的IP地址和相应的MAC地址维持在HSRP组中的每台三层交换机的ARP表中。
虚拟路由器所用的MAC地址由三部分组成:厂商编码—MAC地址的前三个字节,代表着厂商。HSRP编码(虚拟MAC地址)—HSRP编码总是“07.ac”。组好(HSRP组号)——MAC地址的最后一个字节是组的标识号。(例如:组号47转换成十六进制为2f,他将构成MAC地址的最后一个字节)也可以使用下面命令显示每个HSRP组的虚拟IP地址和MAC地址:1.5HSRP消息 HSRP中的所有路由器都发送或接收HSRP消息。这些消息用来决定和维护组内的路由器角色。HSRP消息封装在UDP数据包中的数据部分,使用UDP端口号19852HSRP的状态2HSRP的状态 HSRP配置的路由器有六种状态,分别如下: 初始状态、学习状态、监听状态、发言状态、备份状态、活跃状态。 并不是所有的HSRP路由器都经历所有状态。例如,不是备份路由器或者活跃路由器的路由器,就不会有备份状态和活跃状态。2.1HSRP六种状态 a、初始状态:所有路由器都从初始状态开始。这是一种起始状态,同时表明HSRP还没有运行。配置发生变化或一个端口第一次启用时,就进入该状态。 b、学习状态:路由器等待来自活跃路由器的消息。这时,路由器还没有看到来自活跃路由器的Hello消息,也没有学习到虚拟路由器的IP地址。 c、监听状态:路由器知道了虚拟路由器的IP地址,但它既不是活跃路由器,也不是备份路由器。这时,路由器监听来自活跃路由器和备份路由器的Hello消息。除活跃路由器和备份路由器之外的路由器都保持监听状态。 d、发言状态:路由器周期性的发送Hello消息,并参与活跃路由器或备份路由器的竞选。路由器在获得虚拟路由器的IP地址之前,不能进入发言状态。 e、备份状态:路由器是成为下一个活跃路由器的候选设备,并且它也能周期性的发送Hello消息。在一个组中只有一台备份路由器。 f、活跃状态:在活跃状态,路由器负责转发发送到备份组的虚拟MAC地址的数据包。活跃路由器周期的发送Hello消息。在一个组中,必须有且只有一台活跃路由器。2.2HSRP计时器 HSRP使用两个计时器:Hello间隔计时器和保持时间计时器。任何状态的HSRP路由器都会在Hello间隔计时器超时后生成Hello包。默认的Hello间隔是3s,默认的保持时间是10s 未配置计时器的路由器会从活跃路由器或备份路由器学到这些计时器的值。活跃路由器上配置的计时器值会覆盖其他路由器上的计时器设定值。同一个SHRP组内的路由器应该使用相同的计时器值。通常,保持时间会大于或等于Hello间隔的三倍,并且保持时间的取值必须大于Hello间隔。 默认的HSRP计时器适用于大多数的LAN网段。3HSRPVRRP的区别 HSRPCisco私有的协议。VRRPIETF制定的一种路由备份冗余协议,实现原理和过程与HSRP基本相同。
VRRPHSRP的一个主要区别表现在安全方面。VRRP允许彩玉VRRP组的设备间建立认证机制。另一个主要区别是:VRRP中只有三种状态——初始状态(initialize)、主状态(Master)、备份状态(Backup,而HSRP有六种状态。另外,在报文类型、报文格式格式和通过TCP而非UDP发送报文方面也有所不同。二、课后实验随着公司的发展,对网络的要求越来越高,为了保障网络的稳定性与可靠性,公司决定搭建两台核心交换机做双机热备,同时为了充分利用资源,还要实现vlan的负载均衡,并且便于设备的管理。实现思路:1、 核心交换机配置VTP服务;2、 交换机之间接口全部配置为Trunk模式;3、 SW1SW2上配置HSRP4、 配置DHCP服务;5、 R2配置ACLNAT6、 使用静态路由与默认路由进行选路。7、 提高链路的负载均衡及冗余。实验要求:1、 vlan进行统一管理;2、 SW1vlan1020的负载,SW2vlan3040的负载;3、 客户机均使用自动获取IP地址;4、 客户端均可以pingR1的地址5、 验证SW1关机后,是否能够正常通讯实验拓扑:实验命令与解释SW1#en 进入特权模式SW1#vlan da 进入vlan数据库模式SW1(vlan)#vtp do ww 创建名叫wwVTPSW1(vlan)#vtp ser 设置为VTP服务器模式SW1(vlan)#vlan 10 创建vlan 10SW1(vlan)#vlan 20SW1(vlan)#vlan 30SW1(vlan)#vlan 40SW1(vla免费云主机域名n)#exit 返回上一级模式SW1#conf t 进入全局配置模式SW1(config)#int vlan 10 进入vlan10接口SW1(config-if)#ip add 192.168.10.1 255.255.255.0 配置vlan 10 IP地址SW1(config-if)#no sh 开启SW1(config-if)#stan 10 ip 192.168.10.254 配置HSRP虚拟IP地址SW1(config-if)#stan 10 pri 150 配置优先级为150SW1(config-if)#stan 10 pre 配置占先权SW1(config-if)#stan 10 tr f0/0 100 配置端口跟踪,端口不通后,减100优先权SW1(config-if)#standby 10 timers 2 8 配置Hello消息,2sHello8是保持时间SW1(config-if)#int vlan 20SW1(config-if)#ip add 192.168.20.1 255.255.255.0SW1(config-if)#no shSW1(config-if)#stan 20 ip 192.168.20.254SW1(config-if)#stan pri 150SW1(config-if)#stan 20 preSW1(config-if)#standby 10 tr f0/0 100SW1(config-if)#int vlan 30SW1(config-if)#ip add 192.168.30.1 255.255.255.0SW1(config-if)#no shSW1(config-if)#stan 30 ip 192.168.30.254SW1(config-if)#stan 30 preSW1(config-if)#int vlan 40SW1(config-if)#ip add 192.168.40.1 255.255.255.0SW1(config-if)#no shSW1(config-if)#stan 40 ip 192.168.40.254SW1(config-if)#stan 40 preSW1(config-if)#int r f0/1 -2 进入12接口SW1(config-if-range)#sw mo tr 配置端口为Trunk模式SW1(config-if-range)#channel-group 1 mo on 配置链路负载(端口聚合)SW1(config-if-range)#no sh 开启端口SW1(config-if-range)#int r f0/5 -8 进入58接口SW1(config-if-range)#sw mo tr 配置端口为Trunk模式SW1(config-if-range)#no sh 开启端口SW1(config-if-range)#int f0/0 进入f0/0接口SW1(config-if)#no sw 关闭交换接口模式SW1(config-if)#ip add 192.168.1.2 255.255.255.0SW1(config-if)#exitSW1(config)#ip dhcp pool vlan10 创建DHCP地址池名称SW1(dhcp-config)#netw 192.168.10.0 255.255.255.0 地址池分配的地址段SW1(dhcp-config)#defa 192.168.10.254 默认网关地址SW1(dhcp-config)#dns 8.8.8.8 DNS服务器地址SW1(config-if)#exitSW1(config)#ip dhcp pool vlan20SW1(dhcp-config)#netw 192.168.20.0 255.255.255.0SW1(dhcp-config)#defa 192.168.20.254SW1(dhcp-config)#dns 8.8.8.8SW1(config-if)#exitSW1(config)#ip dhcp pool vlan30SW1(dhcp-config)#netw 192.168.30.0 255.255.255.0SW1(dhcp-config)#defa 192.168.30.254SW1(dhcp-config)#dns 8.8.8.8SW1(config-if)#exitSW1(config)#ip dhcp pool vlan40SW1(dhcp-config)#netw 192.168.40.0 255.255.255.0SW1(dhcp-config)#defa 192.168.40.254SW1(dhcp-config)#dns 8.8.8.8SW1(config)#spanning-tree vlan 10 root primary 指定为vlan10的根网桥SW1(config)#spanning-tree vlan 20 root primarySW1(config)#spanning-tree vlan 30 root secondary 指定为vlan30的辅助SW1(config)#spanning-tree vlan 40 root secondarySW1(config)#ip route 0.0.0.0 0.0.0.0 192.168.1.1 配置默认路由SW2#enSW2#vlan daSW2(vlan)#vtp do wwSW2(vlan)#vtp clSW2(vlan)#vtp clientSW2(vlan)#exitSW2#conf tSW2(config)#int r f0/1 -2SW2(config-if-range)#sw mo trSW2(config-if-range)#channel-group 1 mo onSW2(config-if-range)#no shSW2(config-if-range)#int r f0/5 -8SW2(config-if-range)#sw mo trSW2(config-if-range)#no shSW2(config-if-range)#exitSW2(config)#int vlan 10 进入vlan10接口SW2(config-if)#ip add 192.168.10.2 255.255.255.0SW2(config-if)#no shSW2(config-if)#stan 10 ip 192.168.10.254SW2(config-if)#stan 10 preSW2(config-if)#standby 10 timers 2 8SW2(config-if)#int vlan 20 SW2(config-if)#ip add 192.168.20.1 255.255.255.0SW2(config-if)#no shSW2(config-if)#stan 20 ip 192.168.20.254SW2(config-if)#stan 20 preSW2(config-if)#int vlan 30SW2(config-if)#ip add 192.168.30.1 255.255.255.0SW2(config-if)#no shSW2(config-if)#stan 30 ip 192.168.30.254SW2(config-if)#stan 30 pri 150SW2(config-if)#stan 30 preSW2(config-if)#stan 30 tr f0/0 100SW2(config-if)#int vlan 40SW2(config-if)#ip add 192.168.40.1 255.255.255.0SW2(config-if)#no shSW2(config-if)#stan 40 ip 192.168.40.254SW2(config-if)#stan 30 pri 150SW2(config-if)#stan 40 preSW2(config-if)#stan 40 tr f0/0 100SW1(config-if-range)#int f0/0SW1(config-if)#no swSW1(config-if)#ip add 192.168.0.2 255.255.255.0SW2(config-if)#exitSW2(config)#ip dhcp pool vlan10SW2(dhcp-config)#netw 192.168.10.0 255.255.255.0SW2(dhcp-config)#defa 192.168.10.254SW2(dhcp-config)#dns 8.8.8.8SW2(config-if)#exitSW2(config)#ip dhcp pool vlan20SW2(dhcp-config)#netw 192.168.20.0 255.255.255.0SW2(dhcp-config)#defa 192.168.20.254SW2(dhcp-config)#dns 8.8.8.8SW2(config-if)#exitSW2(config)#ip dhcp pool vlan30SW2(dhcp-config)#netw 192.168.30.0 255.255.255.0SW2(dhcp-config)#defa 192.168.30.254SW2(dhcp-config)#dns 8.8.8.8SW2(config-if)#exitSW2(config)#ip dhcp pool vlan40SW2(dhcp-config)#netw 192.168.40.0 255.255.255.0SW2(dhcp-config)#defa 192.168.40.254SW2(dhcp-config)#dns 8.8.8.8SW2(config)#spanning-tree vlan 10 root secondarySW2(config)#spanning-tree vlan 20 root secondarySW2(config)#spanning-tree vlan 30 root primarySW2(config)#spanning-tree vlan 40 root primarySW2(config)#ip route 0.0.0.0 0.0.0.0 192.168.0.1SW3#enSW3#vlan daSW3(vlan)#vtp do wwSW3(vlan)#vtp clientSW3(vlan)#exitSW3#conf tSW3(config)#int r f0/0 -1SW3(config-if-range)#sw mo trSW3(config-if-range)#no shSW3(config-if-range)#int f0/5SW3(config-if)#sw ac vlan 10SW3(config-if)#no shSW3SW6交换机均使用SW3命令即可完成配置,唯一不同是f0/5加入的VLAN号更改一下R2#conf tR2(config)#int f0/0R2(config-if)#ip add 192.168.1.1 255.255.255.0 接口配置IP地址R2(config-if)#ip nat inside 配置为内部NAT接口R2(config-if)#no shR2(config-if)#int f1/0R2(config-if)#ip add 192.168.0.1 255.255.255.0R2(config-if)#ip nat insideR2(config-if)#no shR2(config-if)#int f2/0R2(config-if)#ip add 169.239.123.241 255.255.255.248R2(config-if)#ip nat outside 配置为外部NAT接口R2(config-if)#no shR2(config-if)#exitR2(config)#ip access-list ex test 创建命名ACLR2(config-ext-nacl)#per ip 192.168.10.0 0.0.0.255 any 允许192.168.10.0网段访问所有地址(此处可用子网划分简化以下命令)R2(config-ext-nacl)#per ip 192.168.20.0 0.0.0.255 anyR2(config-ext-nacl)#per ip 192.168.30.0 0.0.0.255 anyR2(config-ext-nacl)#per ip 192.168.40.0 0.0.0.255 anyR2(config-ext-nacl)#exitR2(config)#ip nat inside source list test int f2/0 ov 将名为test的ACL转为f2/0接口上的地址R2(config)#ip route 0.0.0.0 0.0.0.0 169.239.123.242 配置默认路由R2(config)#ip route 192.168.10.0 255.255.255.0 192.168.1.2 1 静态路由加浮动路由R2(config)#ip route 192.168.20.0 255.255.255.0 192.168.1.2 1R2(config)#ip route 192.168.30.0 255.255.255.0 192.168.1.2 2R2(config)#ip route 192.168.40.0 255.255.255.0 192.168.1.2 2R2(config)#ip route 192.168.10.0 255.255.255.0 192.168.0.2 2R2(config)#ip route 192.168.20.0 255.255.255.0 192.168.0.2 2R2(config)#ip route 192.168.30.0 255.255.255.0 192.168.0.2 1R2(config)#ip route 192.168.40.0 255.255.255.0 192.168.0.2 1此处静态路由有多钟方式可根据自己喜好自行更改,以下内容为经过子网划分的路由:ip route 192.168.0.0 255.255.192.0 192.168.1.2 1ip route 192.168.0.0 255.255.192.0 192.168.0.2 2R1#conf tR1(config)#int f0/0R1(config-if)#ip add 169.239.123.242 255.255.255.248R1(config-if)#no shR1(config-if)#exitR1(config)#ip route 0.0.0.0 0.0.0.0 169.239.123.241实验验证:客户机自动获取IP地址;按照指定路径进行转发数据包,vlan40使用SW2进行转发,vlan10使用SW1进行转发;使用不同客户机ping R1查看HSRP备份状态;SW1查看HSRP备份状态SW2查看HSRP备份状态

相关推荐: CentOS 6.5 snort安装

yum install pcre*yum install gcc-c++wget https://libdnet.googlecode.com/files/libdnet-1.12.tgztar -xzvf libdnet-1.12.tgz./configur…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 01/31 08:29
下一篇 01/31 08:44