HSRP是Cisco私有的一种技术,它的作用是当网络边缘设备或接入链路出现故障时,通信流量能够迅速恢复,可以使网络正常的运行时间接近100%。 HSRP的工作原理就是将两台以上的路由器作为一个组,映射为一个虚拟路由器对外提供服务,而这两台路由器就是HSRP组成员,一个组中有活跃路由器、备份路由器、虚拟路由器和其他路由器。 其各个路由器的功能如下:

` 活跃路由器`:转发发送到虚拟路由器的数据包,通过发送hello消息来承担和保持它活跃的角色;

备份路由器:监视HSRP组的运行状态,并且当前活跃路由器不能正常运行时,迅速承担起转发数据包的责任。 备份路路由器也传输hello消息,告知组内所有路由器备份路由器的角色和状态变化;

虚拟路由器:(就是该LAN上的网关)是向最终用户提供一台可以连续工作的路由器,虚拟路由器有它自己的Mac地址和ip地址,但并不实际转发数据包;

HSRP备份组可以包含其他路由器,这些路由器监视hello消息,但是不做应答,这些路由器转发任何经由它们的数据包,但并不转发经由虚拟路由器的数据包;

当活跃路由器失效时,其他HSRP路由器将不能接收到hello消息,随后备份路由器就会承担起活跃路由器的角色。

随着备份路由器成为活跃路由器,那么备份路由器位置空缺,组中所有的路由器将竞争备份路由器的角色,默认情况(优先级相同)下,IP地址最大的路由器将成为新的备份路由器。

尽管一个HSRP组中有多台路由器,但只有活跃路由器才负责转发发送到虚拟路由器的数据包。

模拟一个网络环境,我们来配置HSRP,如下图所示:

这张实验图需要配置的主要有: 以太网通道(MLS 1 和MLS 2 之间 ); trunk链路(MLS 1 的F0/2-4、MLS 2 上的F0/2-4、SW 3 的F0/1-2); 三台交换机上配置vtp,并在vtp服务器上创建相应的VLAN; 配置相应的路由和接口ip地址;

①:R 1 路由器配置如下:

R1>en #进入特权模式 R1#conf t #进入全局配置模式 R1(config)#in f0/0 #进入F0/0接口 R1(config-if)#ip add 20.0.0.1 255.0.0.0 #配置接口IP地址 R1(config-if)#no sh #打开接口 其他接口与此类似,配置下相应的接口IP地址即可。

R1(config)#ip route 192.168.10.0 255.255.255.0 192.168.1.1
R1(config)#ip route 192.168.20.0 255.255.255.0 192.168.2.1 配置相应的静态路由,可根据实际情况配置动态路由

至此,R 1路由器的配置已完成;

②:接下来配置MLS 1:

MLS1>en #进入特权模式 MLS1#conf t #进入全局配置模式 MLS1(config)#ip routing #开启路由功能 MLS1(config)#ip route 20.0.0.0 255.0.0.0 192.168.1.2 #配置路由条目 MLS1(config)#vlan 10 #创建VLAN 10 MLS1(config-vlan)#vlan 20 #创建VLAN20 MLS1(config-vlan)#vtp do lv #定义vtp的域名 MLS1(config)#vtp mo ser #定义vtp的工作模式 MLS1(config)#in f0/1 #进入与路由器相连的接口 MLS1(config-if)#no sw #关闭接口的交换功能 MLS1(config-if)#ip add 192.168.1.1 255.255.255.0 #配置接口IP MLS1(config-if-range)#in ra f0/2-4 #进入F0/2-4接口 MLS1(config-if-range)#sw tr en do #定义封装协议 MLS1(config-if-range)#sw mo tr #并且改为trunk链路 MLS1(config-if-range)#in ra f0/2-3 #进入F0/2-3,也就是两台三层交换机互连的接口 MLS1(config-if-range)#channel-group 1 mo on #配置以太网通道 MLS1(config-if-range)#in vl 10 #进入VLAN10 MLS1(config-if)#ip add 192.168.10.1 255.255.255.0 #配置该三层交换机上的VLAN 10 IP地址 MLS1(config-if)#stan 10 ip 192.168.10.254 #配置虚拟路由器IP地址(该ip地址就是VLAN10 网段中的网关地址) MLS1(config-if)#stan 10 pri 150 #配置优先级为150 MLS1(config-if)#stan 10 pre #配置占先权(其中的“10”是备份组的编号,若要配置同一组中的备份路由器,组号必须一致) MLS1(config-if)#standby 10 track f 0/1 100 #配置接口跟踪(若与外网通信接口出现故障,优先级会降低100,从而优先级比它低的备份路由器才可以成为活跃路由器MLS1(config-if)#standby 10 track f 0/4 100 #同上,所有有流量通过的接口最好都配置接口跟踪,若不然,可能接口无法与外界通信,它依然是活跃路由器,从而无法实现冗余。 经过上述配置,该三层交换机就会成为VLAN10的活跃路由器。

接下来把它配置为VLAN20 的备份路由器:
`MLS1(config-if)#in vl 20            #进入VLAN 20`
`MLS1(config-if)#ip add 192.168.20.1 255.255.255.0           #配置该VLAN的IP地址`
`MLS1(config-if)#stan 20 ip 192.168.20.254            #配置备份组20的虚拟路由器IP`
`MLS1(config-if)#stan 20 pre     #配置占先权`

注意:备份组20 使用默认的优先级100即可,当组中出现优先级比它高的路由器,它就会成为备份路由器。


至此,该交换机就配置完成了。

③:配置MLS2交换机:
`MLS2>en            #进入特权模式 `

MLS2#conf t #进入全局配置模式 MLS2(config)#ip routing #开启路由功能 MLS2(config)#ip route 20.0.0.0 255.0.0.0 192.168.2.2 #配置路由条目 MLS2(config)#in f0/1 #进入F0/1 MLS2(config-if)#no sw #关闭该端口的交换功能 MLS2(config-if)#ip add 192.168.2.1 255.255.255.0 #配置相应IP地址 MLS2(config-if)#in ra f0/2-4 #进入这三个接口 MLS2(config-if-range)#sw tr en do #定义封装协议 MLS2(config-if-range)#sw mo tr #并改为trunk链路 MLS2(config)#in ra f0/2-3 #进入F0/2-3接口 MLS2(config-if-range)#channel-group 1 mo on #配置以太网通道(组号与MLS1交换机上配置的要一致) MLS2(config)#vtp do lv #定义vtp域名,要与之前的一致 MLS2(config)#vtp mo cli #定义该vtp为客户机模式 MLS2(config-if-range)#in vl 10 #等待VLAN信息同步过来后,进入VLAN10 MLS2(config-if)#ip add 192.168.10.2 255.255.255.0 #配置该交换机上VLAN10 的IP地址 MLS2(config-if)#stan 10 ip 192.168.10.254 #配置该交换机备份组10的虚拟路由器IP(要与MLS1交换机上备份组10的虚拟路由器IP一致) MLS2(config-if)#stan 10 pre #配置占先权

(因为此三层交换机为备份组中的备份路由器,所以使用默认的优先级100即可)

MLS2(config-if)#in vl 20 #进入VLAN 20 MLS2(config-if)#ip add 192.168.20.2 255.255.255.0 #配置此交换机VLAN20的IP地址 MLS2(config-if)#stan 20 ip 192.168.20.254 #配置备份组20的虚拟路由器IP(与MLS1交换机配置的备份组20虚拟路由器IP一致MLS2(config-if)#stan 20 pri 150 #此交换机要配置为活跃路由器,所以要配置它的优先级比默认的高 MLS2(config-if)#stan 20 pre #配置占先权 MLS2(config-if)#stan 20 track f 0/1 100 #配置接口跟踪 MLS2(config-if)#stan 20 track f 0/4 100 #配置接口跟踪

至此热备份路由器就配置完成了,可以通过show Stan br 命令来两个三层交换机查看备份路由器的信息如下:

MLS1:

MLS2:

若要实现全网通,则要继续配置sw3,如下所示:

④:配置SW3:

sw3>en sw3#conf t sw3(config)#in ra f0/1 -2 #进入F0/1-2 sw3(config-if-range)#sw mo tr #配置为trunk链路 sw3(config-if-range)#vtp do lv #配置vtp sw3(config)#vtp mo cli #定义vtp模式为客户机模式 sw3(config)#in f0/3 #把接口添加到相应的VLAN中 sw3(config-if)#sw ac vl 20 sw3(config-if)#in f0/4 sw3(config-if)#sw ac vl 10

接下来给各个客户机配置正确的ip及网关,即可实现全网通。