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 调整为最小;