VRRP(虚拟路由器冗余协议)是一种选择协议,它可以把一个虚拟路由器的责任动态分配到局域网上的 VRRP 路由器中的一台。控制虚拟路由器 IP 地址的 VRRP 路由器称为主路由器,它负责转发数据包到这些虚拟 IP 地址。一旦主路由器不可用,这种选择过程就提供了动态的故障转移机制,这就允许虚拟路由器的 IP 地址可以作为终端主机的默认第一跳路由器。使用 VRRP 的好处是有更高的默认路径的可用性而无需在每个终端主机上配置动态路由或路由发现协议。

      VRRP中定义了三种状态模型,初始状态Initialize,活动状态Master和备份状态Backup,其中只有活动状态的交换机可以为到虚拟IP地址的的转发请求提供服务。

      虚拟交换机根据配置的优先级的大小选择主交换机,优先级最大的作为主交换机,状态为Master,若优先级相同(如果交换机没有配置优先级,就采用默认值100),则比较接口的主IP地址,主IP地址大的就成为主交换机,由它提供实际的路由服务。其他交换机作为备份交换机,随时监测主交换机的状态。当主交换机正常工作时,它会每隔一段时间发送一个VRRP组播报文,以通知组内的备份交换机,主交换机处于正常工作状态。如果组内的备份交换机长时间没有接收到来自主交换机的VRRP组播报文,则将自己状态转换为Master。当组内有多台备份交换机,将有可能产生多个主交换机。这时每一个主交换机就会比较VRRP报文中的优先级和自己本地的优先级,如果本地的优先级小于VRRP中的优先级,则将自己的状态转换为Backup,否则保持自己的状态不变。通过这样一个过程,就会将优先级最大的交换机选成新的主交换机,完成VRRP的备份功能。

      VRRP协议的工作机理与CISCO公司的HSRP(Hot Standby Routing Protocol)有许多相似之处。但二者主要的区别是在CISCO的HSRP中,需要单独配置一个IP地址作为虚拟路由器对外体现的地址,这个地址不能是组中任何一个成员的接口地址

      下面我们还是举这个例子,可以和上一篇的hsrp相对照:

      有一家公司有两台路由器,想做的负载均衡,让公司的两个vlan走不同的路径上网,(两个vlan间通信也走不同路径),如vlan10的从左边路由上网,vlan20的走右边上网,当某一台路由器坏掉时,两个vlan也能正常上网,其简易的拓扑图如下:

路由器R1的配置:

sysname R1       更改名称为R1

int e0             进入e0端口

ip address 192.168.1.2 255.255.255.0   给e0端口配置ip

int e1.10         进入e1的子接口

vlan-type dot1q vid 10      封装相应的协议dot1q,和相应的vlan号

ip address 192.168.10.1 255.255.255.0    给子接口e1.10配置ip

interface Ethernet1.20     进入e1的另一子接口

vlan-type dot1q vid 20     将子接口封装为dot1q协议,并写出相应vlan号

ip address 192.168.20.1 255.255.255.0     给这个子接口配置ip

quit

vrrp ping-enable       开启vrrp

int e1.10             进到e1.10子接口

vrrp vrid 10 virtual-ip 192.168.10.254    将子接口划分到相应的vrrp组中并指定虚拟ip

vrrp vrid 10 priority 120                配置此接口的优先级120,默认值为100

vrrp vrid 10 track Ethernet0 reduced 30   配置追踪信息,当e0不通时,自动降优先级30

interface Ethernet1.20                 进到e1.20子接口

vrrp vrid 20 virtual-ip 192.168.20.254    配置虚拟ip

quit

ip route-static 0.0.0.0 0.0.0.0 192.168.1.1    配置默认路由,以便和外网通信

acl 2000        建一个访问控制列表

rule permit source any     设置列表信息,允许所有的源ip通过

quit

interface Ethernet0           

nat outbound 2000 interface    当符合列表2000外出的地址都转换成此端口的地址出去

查看配置的信息命令:

[R1]dis cu

  Now create configuration...

  Current configuration

  !

    version 1.74

    local-user user1 service-type administrator password simple 123

    sysname R1

    undo pos-server addr-switch

    firewall enable

    aaa-enable

    aaa accounting-scheme optional

    vrrp ping-enable

  !

  acl 2000 match-order auto

    rule normal permit source any

  !

  controller e1 0

  !

  interface Aux0

    async mode flow

    link-protocol ppp

  !

  interface Ethernet0        外出接口e0的信息

    ip address 192.168.1.2 255.255.255.0

    nat outbound 2000 interface          

  !

  interface Ethernet1

  !

  interface Ethernet1.10       子接口e1.10的信息

    vlan-type dot1q vid 10

    ip address 192.168.10.1 255.255.255.0

    vrrp vrid 10 virtual-ip 192.168.10.254

    vrrp vrid 10 priority 120

    vrrp vrid 10 track Ethernet0 reduced 30

  !

  interface Ethernet1.20      子接口e1.20的信息

    vlan-type dot1q vid 20

    ip address 192.168.20.1 255.255.255.0

    vrrp vrid 20 virtual-ip 192.168.20.254

  !

  interface Serial0

    link-protocol ppp

  !

  interface Serial1

    link-protocol ppp

  !

  interface Async0

    physical-mode async                  

    async mode protocol

    link-protocol ppp

  !

  interface Async1

    physical-mode async

    async mode protocol

    link-protocol ppp

  !

  interface Async2

    physical-mode async

    async mode protocol

    link-protocol ppp

  quit

  ip route-static 0.0.0.0 0.0.0.0 192.168.1.1 preference 60      默认路由信息

  !

  Return

查看vrrp的详细信息

[R1]dis vrrp

   Ethernet1.20 | Virtual Router 20

       state : Backup

  Virtual IP : 192.168.20.254     虚拟ip

    Priority : 100               默认优先级100

     Preempt : YES   Delay Time : 0      华为的抢占模式是默认开启的

       Timer : 1

   Auth Type : NO

   Ethernet1.10 | Virtual Router 10

       state : Backup

  Virtual IP : 192.168.10.254

    Priority : 90

     Preempt : YES   Delay Time : 0

       Timer : 1

   Auth Type : NO

    Track IF : Ethernet0   Priority reduced : 30    追踪e0端口, 和减少优先级30

路由器R2的配置:

sysname R2

interface Ethernet0.10      

vlan-type dot1q vid 10

ip address 192.168.10.2 255.255.255.0

interface Ethernet0.20

vlan-type dot1q vid 20

ip address 192.168.20.2 255.255.255.0

interface Ethernet1

ip address 192.168.2.2 255.255.255.0

quit

vrrp ping-enable

interface Ethernet0.10      此处的R2的e0.10没有配置优先级,是因为实现vlan间通信的负载均衡,让vlan10 走的是R1路由器。

vrrp vrid 10 virtual-ip 192.168.10.254

interface Ethernet0.20

vrrp vrid 20 virtual-ip 192.168.20.254

vrrp vrid 20 priority 120            此处配置优先级120,大于R1  vlan20的优先级,实现了vlan20走的R2路由器

vrrp vrid 20 track Ethernet1 reduced 30     追踪端口,当e1端口不通信,就减少优先级30,然后R1的相应接口会自动启动抢占模式

quit

acl 2000

rule permit source any

quit

interface Ethernet1

nat outbound 2000 interface

quit

ip route-static 0.0.0.0 0.0.0.0 192.168.2.1

查看R2信息命令:

[R2]dis cu

  Now create configuration...

  Current configuration

  !

    version 1.74

    local-user user1 service-type administrator password simple 123

    sysname R2

    firewall enable

    aaa-enable

    aaa accounting-scheme optional

    vrrp ping-enable

  !

  acl 2000 match-order auto

    rule normal permit source any

  !

  interface Aux0

    async mode flow

    link-protocol ppp

  !

  interface Ethernet0

  !

  interface Ethernet0.10

    vlan-type dot1q vid 10

    ip address 192.168.10.2 255.255.255.0

    vrrp vrid 10 virtual-ip 192.168.10.254

  !

  interface Ethernet0.20

    vlan-type dot1q vid 20

    ip address 192.168.20.2 255.255.255.0

    vrrp vrid 20 virtual-ip 192.168.20.254

    vrrp vrid 20 priority 120

    vrrp vrid 20 track Ethernet1 reduced 30

  !

  interface Ethernet1

    ip address 192.168.2.2 255.255.255.0

    nat outbound 2000 interface

  !

  interface Serial0

    link-protocol ppp

  !

  interface Serial1

    link-protocol ppp

  !

  interface Async0

    physical-mode async

    async mode protocol

    link-protocol ppp

  !                                      

  interface Async1

    physical-mode async

    async mode protocol

    link-protocol ppp

  voice-setup

    !

    subscriber-line 0

    !

    subscriber-line 1

    !

    quit

  !

  quit

  ip route-static 0.0.0.0 0.0.0.0 192.168.2.1 preference 60

  !

  return

查看vrrp详细信息:

[R2]dis vrrp

   Ethernet0.20 | Virtual Router 20

       state : Master

  Virtual IP : 192.168.20.254

    Priority : 120

     Preempt : YES   Delay Time : 0

       Timer : 1

   Auth Type : NO

    Track IF : Ethernet1   Priority reduced : 30

   Ethernet0.10 | Virtual Router 10

       state : Master

  Virtual IP : 192.168.10.254

    Priority : 100

     Preempt : YES   Delay Time : 0

       Timer : 1

   Auth Type : NO

路由器R3的配置:

sysname R3

interface Ethernet0    

ip address 192.168.1.1 255.255.255.0    配置e0的ip

interface Ethernet1

ip address 192.168.2.1 255.255.255.0    给e1端口相应的ip

interface LoopBack1                  设置一个loopback端口作为外网

ip address 202.102.224.25 255.255.255.0    给loopback端口相应的ip

查看命令:

[R3]dis cu

  Now create configuration...

  Current configuration

  !

    version 1.74

    local-user user1 service-type administrator password simple 123

    sysname R3

    firewall enable

    aaa-enable

    aaa accounting-scheme optional

  !

  interface Aux0

    async mode flow

    link-protocol ppp

  !

  interface Ethernet0

    ip address 192.168.1.1 255.255.255.0

  !

  interface Ethernet1

    ip address 192.168.2.1 255.255.255.0

  !

  interface Serial0

    link-protocol ppp

  !

  interface Serial1

    link-protocol ppp                    

  !

  interface Async0

    physical-mode async

    async mode protocol

    link-protocol ppp

  !

  interface Async1

    physical-mode async

    async mode protocol

    link-protocol ppp

  !

  interface Async2

    physical-mode async

    async mode protocol

    link-protocol ppp

  !

  interface LoopBack1

    ip address 202.102.224.25 255.255.255.0

  !

  Return

交换机SW1的配置:

sysname SW1    改成 相应名称

vlan 10         创建vlan10

port link-type eth0/3 to eth0/10     把相应端口加入到vlan10 中

quit

vlan 20             创建vlan20

port link-type eth0/11 to eth0/15     把相应端口加入到vlan20 中

interface Ethernet0/2

port link-type trunk       把此端口设置成trunk

port trunk permit vlan all   允许所有vlan通过,默认只允许vlan1通过

quit

interface Ethernet0/24

port link-type trunk        把此端口设置成trunk

port trunk permit vlan all     允许所有vlan通过,默认只允许vlan1通过

 

查看相应的命令:

dis cu

#

sysname SW1

#

radius scheme system

server-type huawei

primary authentication 127.0.0.1 1645

primary accounting 127.0.0.1 1646

user-name-format without-domain

domain system

radius-scheme system

access-limit disable

state active

idle-cut disable

self-service-url disable

messenger time disable

domain default enable system

#

local-server nas-ip 127.0.0.1 key huawei

local-user user1

password simple 123

service-type telnet level 3             

#

queue-scheduler wrr 1 2 4 8

#

vlan 1

#

vlan 10

#

vlan 20

#

interface Vlan-interface1

ip address 192.168.1.9 255.255.255.0

#

interface Aux0/0

#

interface Ethernet0/1

#

interface Ethernet0/2

port link-type trunk

port trunk permit vlan all

#

interface Ethernet0/3

port access vlan 10

#                                        

interface Ethernet0/4

port access vlan 10

#

#

interface Ethernet0/10

port access vlan 10

#

interface Ethernet0/11                   

port access vlan 20

#

#

interface Ethernet0/15

port access vlan 20

#

#

interface Ethernet0/24

port link-type trunk

port trunk permit vlan all

#

interface Ethernet0/25

#

interface NULL0

#

user-interface aux 0

user-interface vty 0 4

authentication-mode scheme

#

return

交换机SW2的配置:

sysname SW2

vlan 10

port link-type eth0/3 to eth0/10     

quit

vlan 20

port link-type eth0/11 to eth0/15

interface Ethernet0/2

port link-type trunk

port trunk permit vlan all

quit

interface Ethernet0/24

port link-type trunk

port trunk permit vlan all

查看命令:

dis cu

#

sysname SW2

#

radius scheme system

server-type huawei

primary authentication 127.0.0.1 1645

primary accounting 127.0.0.1 1646

user-name-format without-domain

domain system

radius-scheme system

access-limit disable

state active

idle-cut disable

self-service-url disable

messenger time disable

domain default enable system

#

local-server nas-ip 127.0.0.1 key huawei

#

queue-scheduler wrr 1 2 4 8

#

vlan 1                                   

#

vlan 10

#

vlan 20

#

interface Aux0/0

#

interface Ethernet0/1

#

interface Ethernet0/2

port link-type trunk

port trunk permit vlan all

#

interface Ethernet0/3

port access vlan 10

#

interface Ethernet0/4

port access vlan 10

#

#

interface Ethernet0/10

port access vlan 10

#

interface Ethernet0/11

port access vlan 20

#

#

interface Ethernet0/15

port access vlan 20

#

#

interface Ethernet0/24

port link-type trunk

port trunk permit vlan all

#

interface Ethernet0/25

#

interface NULL0

#

user-interface aux 0

user-interface vty 0 4

#

Return

最后的通信结果:

Vlan10中机器的ip配置;

Vlan20中机器的ip配置:

看它们的通信情况:

首先Vlan10上的机器ping  vlan20上的机器:

其追踪的路径:

再看vlan20中的机器pingvlan10中的机器:

和其追踪走的路径:

C:\Users\likang>ping 192.168.10.100

正在 Ping 192.168.10.1 具有 32 字节的数据:

来自 192.168.10.1 的回复: 字节=32 时间<1ms TTL=255

来自 192.168.10.1 的回复: 字节=32 时间<1ms TTL=255

来自 192.168.10.1 的回复: 字节=32 时间<1ms TTL=255

来自 192.168.10.1 的回复: 字节=32 时间<1ms TTL=255

192.168.10.1 的 Ping 统计信息:

    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),

往返行程的估计时间(以毫秒为单位):

    最短 = 0ms,最长 = 0ms,平均 = 0ms

C:\Users\likang>tracert 192.168.10.100

通过最多 30 个跃点跟踪

到 SF-PC [192.168.10.100] 的路由:

  1    <1 毫秒    6 ms    <1 毫秒 192.168.20.1           可以看到vlan20中的机器和vlan10通信走的是R2路由器

  2     1 ms    <1 毫秒   <1 毫秒 SF-PC [192.168.10.100]

跟踪完成。

 

这样就完成了vlan间通信的负载均衡。

Vlan10机器ping外网的结果:

和其追踪的路径:

Vlan20中的机器ping外网和追踪的路径:

C:\Users\likang>ping 202.102.224.25

正在 Ping 202.102.224.25 具有 32 字节的数据:

来自 202.102.224.25 的回复: 字节=32 时间<1ms TTL=254

来自 202.102.224.25 的回复: 字节=32 时间=1ms TTL=254

来自 202.102.224.25 的回复: 字节=32 时间=3ms TTL=254

来自 202.102.224.25 的回复: 字节=32 时间=2ms TTL=254

202.102.224.25 的 Ping 统计信息:

    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),

往返行程的估计时间(以毫秒为单位):

    最短 = 0ms,最长 = 3ms,平均 = 1ms

C:\Users\likang>tracert 202.102.224.25

通过最多 30 个跃点跟踪到 202.102.224.25 的路由

  1    <1 毫秒   <1 毫秒   <1 毫秒 192.168.20.2         走的是R2路由器,

  2    <1 毫秒   <1 毫秒   <1 毫秒 202.102.224.25

跟踪完成。

这样和外网通信也完成了负载均衡。

当shutdown掉路由器R1上的e0端口:

Vlan10上的机器ping外网和追踪的路径:

说明我们成功的完成了。

 

 

 

还有很多不足之处,请多指教!