发新话题
打印

[原创] VRRP互连问题解析案例

VRRP互连问题解析案例

VRRP互连问题解析案例【拓扑结构】

                          图1  拓扑图
【问题描述】
某单位使用两台NE80E路由器和Juniper的两台防火墙,两台NE80E使用32FE的三层单板,在两台NE80E之间启用VRRP,同时在Juniper两台防火墙使用VRRP以达到备份的目的。
在进行VRRP主备倒换的时候出现如下问题:当NE80E-1的做VRRP的E8/0/15接口down以后,下面AR46相应的vpn可以ping通核心局域网里面的服务器;如果这个时候NE80E-1的E8/0/15接口up以后,AR46相应的VPN不能ping通核心局域网的服务器。但是AR46的路由表正常,下一跳已经指向了NE80E-1的Loopback接口地址;
恢复的方法有两种:
1 等待很长的时间下面的AR46才能ping通核心局域网的服务器,
2 在NE80E-1 ping对端防火墙的VRRP地址以后,下面的AR46相应的VPN也能很快的ping通核心局域网的服务器;
【设备配置信息】
相关的配置信息:
NE80E-1:
interface Ethernet8/0/15
description LINK-TO XN-FW
negotiation auto
undo shutdown
ip binding vpn-instance vpn5
ip address 10.216.12.19 255.255.255.248
vrrp vrid 1 virtual-ip 10.216.12.18
vrrp vrid 1 priority 150
vrrp vrid 1 preempt-mode
vrrp vrid 1 track Ethernet8/0/15 reduced 100
NE80E-2配置信息:
interface Ethernet8/0/15
description LINK-TO XN-FW
negotiation auto
undo shutdown
ip binding vpn-instance vpn5
ip address 10.216.12.19 255.255.255.248
vrrp vrid 1 virtual-ip 10.216.12.18
vrrp vrid 1 preempt-mode
   vrrp vrid 1 track Ethernet8/0/15 reduced 100
【VRRP的原理】
网络设备VRRP刚刚启动的时候:
VRRP工作原理:当NE80-1和NE80-2都启动VRRP后,他们会以224.0.0.18的组播地址发送VRRP协议报文,其中包含的主要信息为[组号,Virtual IP,hello time, priority,preempt-mode,authentication-mode],而我们主要关心的参数是组号和优先级。当NE80-1和NE80-2收到对方的VRRP报文后,经过比较NE80-1发现其它参数都一致(如组号,认证方式等),但它的优先级比NE80-2高(假定它为150,而Router-2为100),这时,它就会认为它是Master,同时NE80-2也收到了NE80-1的参数时,因级别不够,100<150,只好屈服在认为自己是Slave,双方相安无事,这种状态就保持了下来。而做为Master的一方,会发送一个免费的ARP报文(gratuitous arp),此ARP报文是通告了IP和MAC的对应关系,不需要网络中的设备应答,而这个关系就是虚拟IP和虚拟MAC的对应关系,而和它在同一网络中的网络设备(包括PC),会在自己的ARP表中添加这样一条记录。
当VRRP发生切换的时候:
当NE80-1(master)上的E8/0/15接口Down掉,而它又设置了监控E8/0/15,如果Down掉VRRP组优先级降低100,这样它的VRRP的优先级就从150-100<100,当它和Slave交换VRRP的报文时,自己感到底气不足,这时Slave就名正言顺地跳了出来,因为它的优先级高,它就会发送免费ARP,通告虚拟IP+虚拟MAC的关系;
当NE80-1的E8/0/15接口恢复后,它的VRRP优先级就会复原,再和Router-2交换VRRP报文时,发现自己实力恢复了,优先级150>100,然后它发送了免费ARP;
通过以上原理,结合已有案例实际组网情况如下:
1 .在NE80-1的端口E 8/0/15端口down以后,AR46可以ping通核心局域网,
AR46的路由表如下:

disp bgp vpn vpn vpn5 routing

Flags: # - valid   ^ - active  I - internal

    D - damped  H - history S - aggregate suppressed

    Dest/Mask          Next-Hop        Med        Local-pref Origin Path

   ---------------------------------------------------------------------

    Route Distinguisher:64600:50 (VPN instance:vpn5)

#^I 0.0.0.0            10.217.50.2     0          100         IGP   

#^I 10.216.12.16/29    10.217.50.2     0          100         INC   

                           
2 .当NE80-2的端口E8/0/15端口up以后,AR46不能ping通核心局域网的服务器
  AR46的路由表如下:
disp bgp vpn vpn vpn5 routing
Flags: # - valid   ^ - active  I - internal
    D - damped  H - history S - aggregate suppressed

    Dest/Mask          Next-Hop        Med        Local-pref Origin Path

   ---------------------------------------------------------------------
    Route Distinguisher:64600:50 (VPN instance:vpn5)

#^I 0.0.0.0            10.217.50.1     0          100         IGP   
#^I 10.216.12.16/29    10.217.50.1     0          100         INC   

通过以上路由表可以看出,当NE80-1的端口up以后,路由表是正确的;但是为什么数据到达NE80-1以后没有进行正确的转发呢?怀疑可能是arp的问题,在NE80-1上面执行dis arp slot 8以后没有看到对端防火墙VRRP 10.216.12.17/29的arp的表象;
根据上面VRRP的原理,当NE80-1重新变为VRRP MASTER的时候,由于当接口down掉以后,相应接口的arp会清空;根据VRRP的免费的arp发送的时间,当VRRP发生切换的时候NE80-1会给对方设备发免费的ARP报文;但是对于juniper防火墙而言,它的VRRP状态没有发生切换,所以没有给NE80-1发送免费的arp报文(或者需要一定的时间才会发送免费arp),导致NE80-1始终没有学习到Juniper防火墙的vrrp 相应的虚拟地址的arp,所以导致从AR46一直ping不通核心网络的服务器;
【解决方案
1. 将对方的juniper防火墙上面配置vrrp发送免费arp的时间改小
2. 在NE80上面配置静态的arp,将对端VRRP的虚拟地址和虚拟地址的mac地址进行绑定;
由于juniper防火墙的工程师不在,采用了第二种方法,在NE80上添加了静态的arp以后问题解决;
同时考虑到当Juniper防火墙的端口down以后学习免费arp的时间,将NE80发送免费arp的时间:vrrp free-arp 调整为最小;
本帖最近评分记录
  • 雪焰 IT币 +12 谢谢分享 2006-9-6 17:00

TOP

hao 好东西值得分享

TOP

发新话题