由于地址池配置问题导致业务中断

发布时间:  2012-07-17 浏览次数:  106 下载次数:  0
问题描述
组网如图所示,两台防火墙做双机热备,保护内网用户访问外网。内网用户全部使用私网地址通过在防火墙上做NAT转换后访问公网,防火墙上配置的地址池与出口地址在同一个网段。当配置完成后,发现所有业务流量流入备份设备,导致业务中断。
告警信息
处理过程
步骤 1     检查两台防火墙的出接口VRRP状态
  1. 在主用防火墙上执行display vrrp interface查看出接口VRRP的状态,显示如下:
<Sysname> display vrrp interface Ethernet 0/0/0
Ethernet 0/0/0  |  Virtual Router 1
state          :   Master
Virtual IP     :   13.13.13.1
Virtual MAC    :   0000-5e00-0101
Primary IP     :   13.13.13.2
Config Prior   :   110
Run Prior      :   110
Preempt        :   YES   Delay Time : 0
Timer          :   1
Auth type      :   NONE


  1. 在备用防火墙上执行display vrrp interface查看出接口VRRP的状态,显示如下:
<Sysname> display vrrp interface Ethernet 0/0/0
Ethernet 0/0/0  |  Virtual Router 1
state          :   Slave
Virtual IP     :   13.13.13.1
Virtual MAC    :   0000-5e00-0101
Primary IP     :   13.13.13.3
Config Prior   :   100
Run Prior      :   100
Preempt        :   YES   Delay Time : 0
Timer          :   1
Auth type      :   NONE


通过上面的显示信息可以看出,两台防火墙的出接口的VRRP配置没有问题,排除原因一。
步骤 2查看两台防火墙的地址池配置
  1. 在主用上查看地址池配置,配置显示如下:
[Sysname] nat address-group 1 13.13.13.4 13.13.13.10 vrrp 10
看出主用防火墙的地址池配置没有问题。
  1. 在备用防火墙上查看地址池配置,配置显示如下:
[Sysname] nat address-group 1 13.13.13.4 13.13.13.10
从上面的配置显示可以看出,备用防火墙上的地址池没有配置VRRP备份组号,这应该是导致问题出现的原因。
步骤 3在备用上执行nat address-group 1 13.13.13.4 13.13.13.10 vrrp 10命令,经测试,故障消失。
根因
因为组网中备份会发引导流量流经自己,可能的原因应该跟VRRP配置问题有关系。初步确认原因如下:
  • 原因一:两台防火墙出接口的VRRP配置问题
  • 原因二:两台防火墙的地址池没有配置VRRP
建议与总结
组网中业务故障是因为备用防火墙中的NAT地址池未配置VRRP ID,会导致主备用防火墙同时回应外网设备ARP请求,因此外网设备NAT地址的ARP可能从备用学习到,从而将报文误送到了备用防火墙。具体的交互过程如下:
  1. 外网设备请求NAT地址池的地址的ARP报文,为广播报文,会通过交换机等设备转发到主备用。

当地址池中的地址与出接口地址不在同一网段时,外网用户要访问地址池的地址时,会通过查找路由找到需要访问的地址,此时地址池配置可以不带VRRP ID参数。
  1. 由于主备用都配置了相同的NAT地址池,并且备用的NAT地址池没有配置VRRP ID参数,这样会导致主备收到外网设备的ARP请求报文后,都进行ARP应答处理。
  2. 当外网设备先收到主用的ARP应答报文,后收到备用的ARP应答报文,会将ARP报文学习成备用的ARP(而我们正常使用需要学习到主用的ARP应答),这样会导致从外网设备到NAT地址的业务报文都送到备用,又因为备用的出接口VRRP状态为备份状态,不能转发报文,导致业务中断。

当然也有如下这种情况:
外网设备先收到备用的ARP应答报文,后收到主用的ARP应答报文,这样会将ARP报文学习成主用的ARP,业务流量可以正常通信。但ARP报文一段时间后会刷新,有可能就会导致本例中出现的故障。所以配置地址池时主备双方都要配置VRRP ID。

END