zoukankan      html  css  js  c++  java
  • VRRP

    一、简述

    VRRP:虚拟网关冗余协议,是为了预防单台网关设备发生单点故障的一项网关冗余技术。

    VRRP是运行在三层接口上的,无论这个接口是真实的还是虚拟的,三层交换机、路由器、防火墙等设备均可配置部署。

    当三层接口激活了VRRP协议之后,便会发送和侦听VRRP报文,需要协同的VRRP设备必须属于同一个广播域,否则组播VRRP报文无法正常交互。

    虚拟路由器是一台逻辑设备,有自己单独的IP和MAC地址,当VRRP开始工作时,R2和R2会进行选举,胜出的路由器成为master,其他的路由器成为backup路由器,master承担虚拟路由器的具体工作,如此一来当PC需要发送数据包到外部网络时,数据包实际被发送给master路由器,而当R1故障之后,通过VRRP协议的运作,R2能够感知到当前的master路由器发生故障,从而将自己的状态自动切换到master,接下来它将接替原来属于R1的工作,在整个VRRP的切换过程当中,用户是完全没有感觉的,PC的配置也不需要任何变更。

    二、基本概念

    1、VRRP组及VRID

    一个VRRP组由多台协同工作的设备接口共同组成,使用相同的VRID(虚拟路由器标识符)号,也就是说需要协同的两台设备在配置VRRP时,VRID必须是一样的,一个VRRP组当中只能出现一台master路由器,值得一提的是,一个接口可以加入多个VRRP组,只要VRID不同即可。

    虚拟出来的路由器有自己单独的IP地址和MAC地址,虚拟出来的MAC地址的格式是0000-5e00-01xx,其中xx指的是VRID。当master路由器收到请求虚拟路由器MAC地址的ARP request时,回复的并不是自己物理接口的MAC地址,而是虚拟MAC地址。

    通常情况下,虚拟路由器的地址都是单独的一个IP,但是并不是说不能使用与VRRP接口重复的IP地址,这样是可以的,一般不推荐这么做,如果在IP资源短缺的场景中,是可以这么做的,此时与虚拟网关IP重叠的那台路由器将会无条件成为master,这么做的时候master的优先级会加到最大255。

    2、master路由器与backup路由器

    master路由器其实指的并不是整个路由器的状态是master,而仅仅指的是运行VRRP协议的那个接口状态是master。master路由器在一个VRRP组中承担转发任务,这就要求当有用户发送ARP报文请求网关的MAC地址时,只能是master进行响应,响应的不是自己的mac地址,而是虚拟路由器的mac地址,这是第二次强调了。

    master路由器会周期性的发送VRRP报文给backup路由器,目的是告诉backup路由器自己存活,如果backup在一定的时间周期内收不到master路由器的报文,backup路由器就会判断主路由器死了,backup路由器将会将自己的状态切换成master.

    主从的选举是通过优先级进行选举的,比大,优先级大的将成为主路由器,缺省的优先级是100。

    3、抢占模式(preempt mode)

    如果backup路由器激活了抢占功能,那就当成发现master路由器的优先级比自己更低的时候就会立刻切换至master状态,成为新的master路由器。如果bakcup路由器没有激活抢占功能时,那么即使它发现master路由器的优先级比自己更小时,只要master路由器不死(不死意味着正常发送VRRP存活报文),backup不会抢占,也只能默默地保持bakcup状态,直到master路由器死掉。

    backup路由器就像古代的太子,只有皇帝死了,太子才能上位,皇上如果得了大病长时间卧床不起,身体不如太子了,太子没有开启抢占模式也不能抢占皇帝的位置;一旦太子开启了抢占模式,只要一发现皇帝的身体不行了,就会立马将自己的太子身份升级,自动升级,成为皇帝。当皇帝也不容易,不能轻易露出虚弱,要一直给太子传达自己身体非常好的信号。

    三、工作机制

    VRRP协议的正常工作依赖于VRRP的正常收发,出了问题一般大部分都是VRRP协议报文无法正常收发了。VRRP只定义了一种报文格式:通告报文,可能你也猜到了,只有master路由器使用通告报文,bakcup路由器并不需要进行回复,通告报文的组播地址是224.0.0.18,我觉得你必须要记住这个地址,因为这个知识点面试的时候经常会问到的。

    VRRP协议是三层协议,所以封闭在IP报废当中,协议号是112。

    2、状态机

    init初始状态,如果接口被down或者没插线的话接口状态就是init。

    当接口up之后,如果其VRRP的优先级为255,这种情况会发生了接口的实际IP地址是VRRP虚拟IP地址的情况,那么接口的VRRP状态将由init切换到master,而如果接口的VRRP优先级不为255,则进入bakcup状态。

    backup路由器只干一件事,就是等着master路由器死掉,它对于虚拟IP的ARP请求不予回应;丢弃目的MAC地址为VRRP虚拟MAC地址的数据帧;不接收目的IP地址为VRRP虚拟IP地址的数据包;如果他收到一个VRRP报文时:

    如果VRRP的优先级为0,这可能意味着master路由器主动放弃了master状态

    四、配置及实现

    1、路由器上配置VRRP

    img

    基础配置

    R1:默认激活抢占
    interface GigabitEthernet0/0/0
     ip address 192.168.1.253 255.255.255.0 
     vrrp vrid 1 virtual-ip 192.168.1.254
     vrrp vrid 1 priority 120
     vrrp vrid 1 preempt-mode timer delay 60  #将抢占延时设置为60秒
     vrrp vrid 1 track interface GigabitEthernet0/0/1 reduced 30  #监视上行链路,上行接口down之后将优先级减去30。
     R2:
     interface GigabitEthernet0/0/0
     ip address 192.168.1.252 255.255.255.0 
     
     
     vrrp vrid 1 virtual-ip 192.168.1.254  #默认优先级就是100,所以不用配置
    

    查看命令(两条)

    [R1]dis vrrp
      GigabitEthernet0/0/0 | Virtual Router 1
        State : Master              #当前状态是master
        Virtual IP : 192.168.1.254  #虚拟IP
        Master IP : 192.168.1.253   #物理接口的IP
        PriorityRun : 120           #本设备运行的优先级
        PriorityConfig : 120        #本设置配置的优先级
        MasterPriority : 120        #master的优先级
        Preempt : YES   Delay Time : 60 s   #抢占激活,延时为60秒 
        Virtual MAC : 0000-5e00-0101    #虚拟MAC地址3
        Track IF : GigabitEthernet0/0/1   Priority reduced : 30  #监视上行接口,故障之后减去30
    
    [R2]dis vrrp brief 
    Total:1     Master:0     Backup:1     Non-active:0      
    VRID  State        Interface                Type     Virtual IP     
    ----------------------------------------------------------------
    1     Backup       GE0/0/0                  Normal   192.168.1.254 
    

    NOTE:

    VRRP的监视功能还可以监视IP路由前缀,也可以与BFD、NQA联动。

    2、路由器上子接口上配置VRRP

    img

    interface GigabitEthernet0/0/2
     port link-type trunk
     port trunk allow-pass vlan 10 20
    interface GigabitEthernet0/0/3
     port link-type trunk
     port trunk allow-pass vlan 10 20
    

    R1:

    interface GigabitEthernet0/0/0.10
     dot1q termination vid 10      #是搞清楚为什么加这一条命令?为什么三层交换机做VRRP的时候不用?
     ip address 192.168.10.253 255.255.255.0 
     vrrp vrid 10 virtual-ip 192.168.10.254
     vrrp vrid 10 priority 120             #VRRP10的master 
     vrrp vrid 10 preempt-mode timer delay 30
     vrrp vrid 10 track interface GigabitEthernet0/0/1
    interface GigabitEthernet0/0/0.20
     ip address 192.168.20.253 255.255.255.0 
     vrrp vrid 20 virtual-ip 192.168.20.254   #VRRP20的backup
     vrrp vrid 20 track interface GigabitEthernet0/0/1
    

    R2

    interface GigabitEthernet0/0/0.10
     ip address 192.168.10.252 255.255.255.0 
     vrrp vrid 10 virtual-ip 192.168.10.254
     vrrp vrid 10 track interface GigabitEthernet0/0/1
    interface GigabitEthernet0/0/0.20
     ip address 192.168.20.252 255.255.255.0 
     vrrp vrid 20 virtual-ip 192.168.20.254
     vrrp vrid 20 priority 120
     vrrp vrid 20 preempt-mode timer delay 30
     vrrp vrid 20 track interface GigabitEthernet0/0/1
    
    [R1]dis vrrp brief
    Total:2     Master:1     Backup:1     Non-active:0      
    VRID  State        Interface                Type     Virtual IP     
    ----------------------------------------------------------------
    10    Master       GE0/0/0.10               Normal   192.168.10.254 
    20    Backup       GE0/0/0.20               Normal   192.168.20.254 
    [R2]dis vrrp brief
    Total:2     Master:1     Backup:1     Non-active:0      
    VRID  State        Interface                Type     Virtual IP     
    ----------------------------------------------------------------
    10    Backup       GE0/0/0.10               Normal   192.168.10.254 
    20    Master       GE0/0/0.20               Normal   192.168.20.254 
    

    2、三层交换机上配置VRRP

    img

    中间交换机的配置:

    e0/0/1配置为access,vlan 10

    e0/0/2配置为access,vlan 20

    e0/0/3和e0/0/4配置为trunk,允许vlan10和vlan20通过

    vlan batch 10 20
    int e0/0/1
    port link-ty ac
    port de vlan 10
    int e0/0/2 
    port link-ty ac
    port de vlan 20
    int e0/0/3
    port link-ty tr
    port tr all vlan all
    int e0/0/4
    port link-ty tr
    port tr all vlan all
    

    上面的两台交换机的两个接口也要配置成trunk接口,后面的配置由于过于简单,略过。P

  • 相关阅读:
    7.内网渗透之windows认证机制
    10.Python之Ansible自动化运维常用模块
    9.python 系统批量运维管理器之Fabric模块
    8.python 系统批量运维管理器之pexpect模块
    7.python实现高效端口扫描器之nmap模块
    6.python探测Web服务质量方法之pycurl模块
    5.python之pip安装模块失败
    4.python 系统批量运维管理器之paramiko模块
    3.python 发送邮件之smtplib模块
    微慕WordPress小程序增强版
  • 原文地址:https://www.cnblogs.com/yizhangheka/p/12519687.html
Copyright © 2011-2022 走看看