设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 2052|回复: 3
收起左侧

在Linux下的(VRRP)虚拟路由冗余协议介绍

[复制链接]
发表于 2010-9-20 14:35:20 | 显示全部楼层 |阅读模式
 这篇文章描述的是如何在Linux下实现VRRP (Virtual Router Redundancy Protocol 虚拟路由器冗余协议)。是我本人在学习VRRP过程的一个小总结,并结合了一些其他资料,对VRRP的一些基本概念、原理及Linux如何实现VRRP的一个介绍,
  
  包括以下几个部分:
  1, VRRP介绍
  2, Linux下的VRRP组件
  3, 安装Keepalived
  
  1,VRRP介绍
  
  我们在建立一个网络时,为了保证网络稳定不间断的运行,经常采用一些动态的路由协议,如OSPF、RIP等,这些路由协议可以自动的绕开很多的网络故障,如:路由器DOWN机等。但很多时候我们可能无法使用这些高端的路由协议:
  
  (1), 因为有时候是用户端,要配置OSPF、RIP等协议必须有上游ISP供应商的支持,但很多ISP供应商是不提供这种服务的,他们只提供静态路由。(有时候使用OSPF、RIP等协议的目的是为了进行链路和路由的备份,VRRP可以完全替代他们这部分工作)
  
  (2), 我们有两条以上的Internet线路,需要对他们进行负载均衡和路由线路、路由器的备份(VRRP也主要是为这种需求设计的)
  
  为了能够保证网络的不间断、稳定的运行,VRRP是一个最好的选择,VRRP是Virtual Router Redundancy Protocol 虚拟路由器冗余协议的缩写,在RFC2338中有比较详细的描述。
  
  2,VRRP概念
  
  VRRP中有很多的概念,我们结合下图对他们进行一一的介绍:
  
  2.gif

  (1), 图中路由器RA是虚拟路由器VRID 1的主路由器,负责掌管“内部网1”的网关;并且是虚拟路由器VRID 2的备份路由器,当VRID 2的主路由器RB不可用时,接管RB的工作。
  
  (2), 路由器RB是虚拟路由器VRID 2的主路由器,负责掌管“内部网2”的网关;并且是虚拟路由器VRID 1的备份路由器,当VRID 1的主路由器RA不可用时,接管RA的工作。
  
  3,VRRP术语:
  
  (1), Virtual Router:虚拟路由器。在我们这个图中,是由实际路由器RA和RB使用VRRP协议组成的一个路由器镜相。
  
  (2), Vitual Router ID:简称为VRID,是网络中Virtual Router的唯一的身份标示,是一个数字。
  
  (3), VRRP Instance:VRRP实体。VRRP Instance可以理解为是一个程序,运行在一台实际的路由器上,他负责掌管一些VRRP协议需要的一些信息。如:说明这台实际的路由器是主路由器还是备份路由器、这台路由器所属的VRID等。
  
  (4), Virtual Router IP:一个Virtual Router具有一个IP地址,在正常情况下,有这个Vritual Router中的主路由器掌管,当主路由器出现故障时由这个Virtual Router中的备份路由器掌管。
  
  (5), Master:也就是主路由器。一个实际路由器是否是主路由器,一般在自己的VRRP Instance中作出描述。
  
  (6), Backup:备份路由器。一个实际路由器是否是备份路由器,一般在自己的VRRP Instance中作出描述。
  
  (7), Priority:优先权。在VRRP Instance中将对每个实际的路由器定义一个优先权,他是一个数字从1到254(0和254在RFC定义中被保留),当主路由器不可用时,备份路由器将根据自己的优先权来决定由谁接管主路由器的工作。数字越大,权值越大。
  
  (8), Owner:Virtual Router IP的掌管者。
  
  (9), Authentication:验证。处在同一个VRID中的实际路由器是需要通信的,他们之间的通信需要相互验证。一般使用密码验证。另外需要说明的是:同一个VRID中的实际路由器通信时使用组播地址:224.0.0.18。
  
  4,VRRP的数据包结构:
  
  3.gif

  关于更详细的说明请参考RFC2338 VRRP文档。
  
  5,Linux下的VRRP组件
  
  在Linux下可以实现非常漂亮稳定的VRRP功能。实现这个功能的软件是keepalived(http://www.keepalived.org),keepalived起初是为LVS(LinuxVirtualServer www.linuxvirtualserver.org Linux下的服务器负载均衡系统)设计的,是专门监控服务器状态的。后来加入了VRRP的功能。Keepalived的VRRP功能是从Linux中VRRPD发展而来:http://www.off.net/~jme/vrrpd/index.html
  
  6,Keepalived的安装
  
  Keepalived的安装需要先安装下面两个组件:
  openssl(www.openssl.org
  popt(http://www.gnu.org/directory/libs/popt.html
  
  (1), openssl的安装,如果你的系统已经有了openssl系统,而且在/usr/include目录下有openssl的目录,那么openssl就不需要安装了,如果不是这样你需要安装。
  tar zxvf openssl-0.9.7d.tar.gz
  cd openssl-0.9.7d
  configure
  make
  make test
  make install
  
  然后将openssl的include目录复制到/usr/include
  cp –r /usr/local/ssl/include/openssl /usr/include
  
  (2), tar zxvf popt-1.7.tar.gz
  cd popt-1.7
  ./configure
  make
  make install
  (3), 在安装keepalived之前,你可能需要重新编译Linux的内核,将Netlink、Linux Virtual Server和组播功能的选项编译进新内核:如下面的图:
  
 
   4.gif
   5.gif

  (4), keepalived的安装
  tar zxvf keepalived-1.1.7.tar.gz
  cd keepalived-1.1.7
  ./configure –prefix=/usr/local/keepalived
  make
  make install
发表于 2011-7-2 18:23:42 | 显示全部楼层
沙发 2011-7-2 18:23:42 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2012-9-12 08:49:11 | 显示全部楼层
谢谢楼主分享
板凳 2012-9-12 08:49:11 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-6-6 13:51:15 | 显示全部楼层
地板 2013-6-6 13:51:15 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-1-24 19:28 , Processed in 0.062204 second(s), 11 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表