打印本文 打印本文  关闭窗口 关闭窗口  
在CISCO设备上实现路由热备份
作者:陈鹏  文章来源:eNet  点击数  更新时间:2009/9/9 21:36:43  文章录入:陈鹏  责任编辑:陈鹏

在企业中,如果有自己的局域网,而且还规划了各个部门,那么部门之间可能会被规划到了不同的IP网段中,那么各部门之间的互相访问,则需要路由器来完成,那么各个部门因为在不同的子网中,所以它们的出口网关也不同。

路由器


  看上面这个图。左下角有一台用路由器来模拟的PC机(很遗憾,这个实验是用我BLOG中介绍过的那个dynamips来做的。交换机无法和真实的PC连接,一个小BUG,只好用了一台3620来代替PC.变通一下,也可以完成任务的)。它用F0/0口连接到了S3上。

  现在在Router上有一个网段为1.1.1.1/24,而PC机的IP为192.168.1.200/24,很显然它们不在同一个网段中。那么如果PC要访问Router,则需要配置一个网关。

  这里,S3将不做任何的配置,只把它看成一台连接设备,集线设备……

  这里的网关选择有两个,S1和S2的FA0/1口。随便给PC配上哪一个就可以了。

  但是,如果只配一个网关的话,这个网关失效了怎么办呢?那么PC将无法访问外部。而对于一个企业内部的员工而言,除非懂点这个……一般情况下,并不是每个员工能真正弄的清楚网关是干什么的或者怎么在PC上配网关。这样一来的话,那个指定的网关失效了,假设有200多台员工机器现在需要修改网关,对管理员来说,将是一项很艰巨的任务!

  HSRP——路由热备份协议解决了这个问题。

  刚才在图中谈到,S1和S2的F0/1口都可以成为PC的网关。认真看一下这个图,就能想清楚的哦。S1到PC和S2到PC其实都差不多,只是S2到PC中间多了一台S4而已。

  在HSRP中,能把可以做为网关的设备集合起来形成一个虚拟的组——就好象windows的服务器集群。对外来看,它们是一台设备……

  这里,我们把S1和S2看成是一台新的虚拟设备——S0,那么它有一个接口,这个接口就是PC的网关。这个接口必须和S1、S2的F0/1口在同一个网段中。

  HSRP不仅为这个新的虚拟设备虚拟出了一个接口,我们还将给其配上IP信息,而且它还会自动的为该接口虚拟出一个MAC地址,在我的BLOG里有篇文章是关于ARP的,里面讲到过,MAC和IP的关系。

  这个MAC地址是有规律的,格式如下

  0000.0c07.acXX

  这是一段十六进制的MAC,前六位是厂商代码

  第七位到第十位为HSRP标识

  十一位和十二位是我们配置HSRP时的组号,换成二进制(比如我们定义了一个HSRP组,组号为1,那么这里就是01)

  HSRP有五种状态:

  1、Initial(初始化)

  2、listen(监听)

  3、speak(发言)

  4、standby(备份)

  5、Active(活动——主)

  例如现在有两台网关设备被定义到一个HSRP组中,虽然HSRP承担了网关的功能,但其实是这个组中的某一台设备来承担起来的。到底是谁被HSRP映射了呢?这里需要进行一个选举。它们根据优先级来通过在指定接口上向外发送HSRP的hello报文来进行选举,而且默认为非抢占式的。在选举时,有的设备可能会经历如上5种状态,那么该设备将会到达active,即为担当重任的那台网关设备。其次就是standby,也就是在active设备down后,它将启用并接管曾经的active的工作变成新的active设备。也可以有多台网关设备。在HSRP中,活动设备只有一台。

  根据上面的图。把实际的配置完成。

PC:
PC(config-if)#ip add 192.168.1.200 255.255.255.0
PC(config-if)# no shut
PC(config)#ip route 0.0.0.0 0.0.0.0 192.168.1.100
//默认网关指向HSRP虚拟接口

S1:
S1(config)#int fa0/1
S1(config-if)#no switchport
//定义该接口为一个三层接口
S1(config-if)#ip add 192.168.1.1 255.255.255.0
S1(config-if)#no shut
S1(config-if)#standby 1 ip 192.168.1.100
//定义一个组号为一的虚拟HSRP组
S1(config-if)#standby 1 proiority 210
//定义该组在F0/1接口下的优先级为210
S1(config-if)#standby 1 preempt *把HSRP定义为抢占式
S1(config-if)#standby 1 track fa0/0 30
//监测上行接口,当上行接口down后,优先级自动减30,也就是变成180
S1(config-if)#int fa0/0
S1(config-if)#ip add 172.16.1.1 255.255.255.0
S1(config-if)#no shut
S1(config)#router rip
S1(config)#ver 2
S1(config)#no auto
S1(config)#net 172.16.1.0
S1(config#net 192.168.1.0

S2:
S2(config)#int fa0/1
S2(config-if)#ip add 192.168.1.2 255.255.255.0
S2(config-if)#no shut
S2(config-if)#standby 1 ip 192.168.1.100
S2(config-if)#standby 1 priority 200(默认为200)
S2(config-if)#standby 1 preempt
S2(config-if)#int fa0/0
S2(config-if)#no switchport
S2(config-if)#ip add 172.16.2.1 255.255.255.0
S2(config-if)#no shut
S2(config)#router rip
S2(config-router)#ver 2
S2(config-router)#no auto
S2(config-router)#net 192.168.1.0
S2(config-router)#net 172.16.0.0

Router:
Router(config)#int fa0/0
Router(config-if)#ip add 172.16.1.2 255.255.255.0
Router(config-if)#no shut
Router(config)#int fa0/1
Router(config-if)#ip add 172.16.2.2 255.255.255.0
Router(config-if)#no shut
Router(config)#int lo 0
Router(config-if)#ip add 1.1.1.1 255.255.255.0
Router(config)#router rip
Router(config-router)#net 172.16.0.0
Router(config-router)#net 1.1.1.1



打印本文 打印本文  关闭窗口 关闭窗口