热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

利用VRRP功能实现简单的路由器备份(图)

文章标题:利用VRRP功能实现简单的路由器备份(图)。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

  有时候为了保证我们网络的稳定性和可靠性,可能会申请两条出口链路,使用两个路由器。在其中的一个路由器无法正常工作时,由另外一个路由器来接管相应的工作。实现的原理是利用RFC2338中描述的VRRP(Virtual Router Redundancy Protocol)协议。实现的工具是keepalived。
  
  实验名称:利用VRRP功能实现简单的路由器备份
  操作系统:RedHat 7.3
  所使用的内核:linux-2.4.24
  实验用到的模块: keepalived-1.16.tar.gz(如果对VRRP和Keepalived不太了解,先看看这里)
  
  网络结构如下图所示:图中的V-Gate就是VRRP中的VIP。
  
 

  网络中有两个Linux Router:
  
  (1), Master(eth0:192.168.1.10/24接外网; eth1:192.168.3.1/24接内网)
  
  (2), Backup(eth0:192.168.2.10/24接外网; eth1:192.168.3.2/24接内网)
  
  内网的IP地址段为192.168.3.0/24,网关(V-Gate)为192.168.3.3/24,记住192.168.3.3/24这个地址是在Keepalived启动时生效的。
  
  首先我们在Linux Router Master上安装keepalived-1.1.6.tar.gz
  
  (1),下载keepalived-1.1.6.tar.gz (http://www.keepalived.org)
  
  (2),解压缩:
  #tar zxvf keepalived-1.1.6.tar.gz
  
  (3)编译keepalived
  #cd keepalived-1.1.6
  #./configure ?prefix=/usr/local/keepalived
  #make
  
  (4)安装keepalived
  #make install
  
  (5)配置Linux Router Master的VRRP,
  #vi /usr/local/keepalived/etc/keepalived/keepalived.conf
  内容如下:
  
  --------------------------------------------------------------------------------
  
  vrrp_instance VI_1 {
  state MASTER
  interface eth1
  virtual_router_id 51
  priority 100
  advert_int 1
  authentication {
  auth_type PASS
  auth_pass 1111
  }
  virtual_ipaddress {
  192.168.3.3
  }
  }
  
  --------------------------------------------------------------------------------
  
  在Linux Router Backup上安装keepalived的方法是相同的,不同的是配置文件/usr/local/keepalived/etc/keepalived/keepalived.conf,如下:
  
  --------------------------------------------------------------------------------
  
  vrrp_instance VI_1 {
  state BACKUP
  interface eth1
  virtual_router_id 51
  priority 100
  advert_int 1
  authentication {
  auth_type PASS
  auth_pass 1111
  }
  virtual_ipaddress {
  192.168.3.3
  }
  }
  
  --------------------------------------------------------------------------------
  
  在启动Master上的keepalived之前,我们先看一下Master上eth1的情况:
  --------------------------------------------------------------
  # ip add show eth1
  
  8: eth1: mtu 1500 qdisc pfifo_fast qlen 1000
  link/ether 00:e0:4c:3a:d7:25 brd ff:ff:ff:ff:ff:ff
  inet 192.168.3.1/24 brd 192.168.3.255 scope global eth1
  inet6 fe80::2e0:4cff:fe3a:d725/64 scope link
  --------------------------------------------------------------
  我们看到只有一个IP地址:192.168.3.1/24,现在我们启动Master上的keepalived
  #/usr/local/keepalived/sbin/keepalived ?D ?f /usr/local/keepalived/etc/keepalived/keepalived.conf
  
  现在我们再看一下Master上eth1的情况:
  --------------------------------------------------------------
  # ip add show eth1
  8: eth1: mtu 1500 qdisc pfifo_fast qlen 1000
  link/ether 00:e0:4c:3a:d7:25 brd ff:ff:ff:ff:ff:ff
  inet 192.168.3.1/24 brd 192.168.3.255 scope global eth1
  inet 192.168.3.3/32 scope global eth1
  inet6 fe80::2e0:4cff:fe3a:d725/64 scope link
  ---------------------------------------------------------------
  我们看到有两个IP地址,其中一个就是V-Gate:192.168.3.3/32
  
  用同样的方法启动Backup上的keepalived
  #/usr/local/keepalived/sbin/keepalived ?D ?f /usr/local/keepalived/etc/keepalived/keepalived.conf
  
  这样,当Master失效时,Backup就会通过MultiCast地址:224.0.0.18这个组播地址,获得这个消息,并将192.168.3.3这个地址接管过来。
  
  总结,请你注意一下我们这个实验的题目“利用Keepalived的VRRP功能实现简单的路由器备份”,而不是路由备份。我们这个实验的目的,是让大家熟悉VRRP协议和如何利用Keepalived实现VRRP协议。
推荐阅读
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 本文介绍了iOS开发中检测和解决内存泄漏的方法,包括静态分析、使用instruments检查内存泄漏以及代码测试等。同时还介绍了最能挣钱的行业,包括互联网行业、娱乐行业、教育行业、智能行业和老年服务行业,并提供了选行业的技巧。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文整理了Java面试中常见的问题及相关概念的解析,包括HashMap中为什么重写equals还要重写hashcode、map的分类和常见情况、final关键字的用法、Synchronized和lock的区别、volatile的介绍、Syncronized锁的作用、构造函数和构造函数重载的概念、方法覆盖和方法重载的区别、反射获取和设置对象私有字段的值的方法、通过反射创建对象的方式以及内部类的详解。 ... [详细]
  • macOS Big Sur全新设计大版本更新,10+个值得关注的新功能
    本文介绍了Apple发布的新一代操作系统macOS Big Sur,该系统采用全新的界面设计,包括图标、应用界面、程序坞和菜单栏等方面的变化。新系统还增加了通知中心、桌面小组件、强化的Safari浏览器以及隐私保护等多项功能。文章指出,macOS Big Sur的设计与iPadOS越来越接近,结合了去年iPadOS对鼠标的完善等功能。 ... [详细]
  • 本文介绍了pack布局管理器在Perl/Tk中的使用方法及注意事项。通过调用pack()方法,可以控制部件在显示窗口中的位置和大小。同时,本文还提到了在使用pack布局管理器时,应注意将部件分组以便在水平和垂直方向上进行堆放。此外,还介绍了使用Frame部件或Toplevel部件来组织部件在窗口内的方法。最后,本文强调了在使用pack布局管理器时,应避免在中间切换到grid布局管理器,以免造成混乱。 ... [详细]
  • 64G iPad升级到iPadOS后,发现外置存储只能在苹果自带的文件app中显示,非官方app无法直接读取外置存储的内容。用户只能先使用自带文件app将文件复制到iPad上,再用程序读取。这种限制给用户带来了不便,而且操作过程中还存在拷贝不显示进度、容易失败、不能安全弹出等问题。 ... [详细]
  • Unity3D引擎的体系结构和功能详解
    本文详细介绍了Unity3D引擎的体系结构和功能。Unity3D是一个屡获殊荣的工具,用于创建交互式3D应用程序。它由游戏引擎和编辑器组成,支持C#、Boo和JavaScript脚本编程。该引擎涵盖了声音、图形、物理和网络功能等主题。Unity编辑器具有多语言脚本编辑器和预制装配系统等特点。本文还介绍了Unity的许可证情况。Unity基本功能有限的免费,适用于PC、MAC和Web开发。其他平台或完整的功能集需要购买许可证。 ... [详细]
  • 概述H.323是由ITU制定的通信控制协议,用于在分组交换网中提供多媒体业务。呼叫控制是其中的重要组成部分,它可用来建立点到点的媒体会话和多点间媒体会议 ... [详细]
  • POCOCLibraies属于功能广泛、轻量级别的开源框架库,它拥有媲美Boost库的功能以及较小的体积广泛应用在物联网平台、工业自动化等领域。POCOCLibrai ... [详细]
  • 当google在搜索上很成功,并购youtube、发布gmail、进入手机、一统地图的时候,我们说google真伟大。当苹果在mp3领域一骑绝尘,iphone秒杀诺基亚,ipad打倒了电子 ... [详细]
  • 我一直都有记录信息的习惯,不知是从什么时候开始,大约是在工作后不久。如今还真有点庆幸从那时开始记了点东西,当然是电子版的,写 ... [详细]
  • 用了element-ui的dialog组件加上canvas来绘图,在老版本 ... [详细]
  • 交换机配置:intg100unshintvlani1ipadd192.168.56.177qstelseuser-iv4authaaaproinsshupl3qsshuserpyt ... [详细]
author-avatar
学海无涯
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有