Secospace产品E200E-X3双出口引起的部分用户网速慢问题

发布时间:  2012-10-11 浏览次数:  241 下载次数:  0
问题描述
如下图所示,在某公司采用E200E-X3防火墙作为出口,该公司共有两个出口,运营商A和运营商B进行出口负载分担,某工程师部署该防火墙时在两个出口同时加入untrust 域,内网用户则加入了trust域,并做了源NAT映射。在部署完之后,发现部分用户上网正常,有部分用户则上网速度很慢,甚至有时上不了网。


告警信息
处理过程
1.为了解决以上问题,需要解决的是防火墙在选路确认后,NAT之后的地址必须跟选路选的是同一个运营商作为出口。所以必须将出口加入到不同域,在根据不同域间分别做源NAT映射
2.创建一个新的域,把运营商B加入到新域里,配置如下:
firewall zone  internet_B
  set priority 10
  add interface GigabitEthernet0/0/1

3.添加从trust到 internet_B,源NAT配置
 nat-policy interzone trust untrust outbound
  policy 0
  policy source 192.168.1.0 0.0.0.255
  action source-nat
  easy-ip GigabitEthernet 0/0/1
4.重置所有的会话表,使所有用户重新建立会话,执行命令:reset firewall sesstion table
根因
1.部分用户上网正常,部分用户上网速度慢,说明DNS,源NAT和路由配置是正确的,否则应该所有用户都上不了网,不能出现部分用户能上网,部分用户网速慢。
2.在防火墙上执行display firewall session table verbose ,检查防火墙的源NAT映射表项
[Eudemon] display firewall session table verbose 

http VPN: public --> public                                                    
Zone: trust --> untrust TTL: 00:00:10 Left: 00:00:08           
Interface: GigabitEthernet0/0/0 Nexthop: 41.134.5.49  MAC: F0-DE-F1-69-26-91                       
<--packets: 9 bytes: 364 -->packets: 9 bytes: 364                             
10.16.1.20:5246[41.134.5.52:5246] --> 16.8.3.8:80   

http VPN: public --> public                                                    
Zone: trust --> untrust TTL: 00:10:00 Left: 00:09:59           
Interface: GigabitEthernet0/0/1 Nexthop: 41.160.30.65   MAC: 00-21-97-cf-22-38                       
<--packets: 4 bytes: 238 -->packets: 14 bytes: 1640                            
10.16.1.122:3745[41.134.5.52:3745] --> 2.2.2.2:80   

从以下表项可以看出,第一个表项是正确的,10.16.1.20这个用户NAT到运营商A出口IP,下一跳也是运营商A的网关。而第二个表项则是有问题的,第二个表项10.16.1.122这个用户NAT到运营商A出口IP,但是下一跳确是运营商B的网关,数据报文发到运营商B之后,运营商B的设备根据报文目的IP进行处理,报文能顺利到目的地址,而回应报文在返回的时候,是根据原先报文的源地址进行查找路由,必然就走到运营商A了,这就造成来回路径不一直。从而引起的某些用户网速慢,甚至上不了网。

3.查看防火墙路由表配置,执行命令:display ip routing-table

[Eudemon ]display ip routing-table
20:56:07  2012/09/30
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
        Destinations : 5        Routes : 5

Destination/Mask    Proto  Pre  Cost     Flags NextHop         Interface

        0.0.0.0/0       Static 60   0          RD    41.134.5.49       GigabitEthernet0/0/0
        0.0.0.0/0       Static 60   0          RD   41.160.30.65      GigabitEthernet0/0/1
     10.16.1.1/24   Direct 0    0           D     127.0.0.1              InLoopBack0
      127.0.0.0/8    Direct 0    0           D     127.0.0.1              InLoopBack0
      127.0.0.1/32  Direct 0    0           D    127.0.0.1              InLoopBack0

[Eudemon ]
从路由表表项可以看出该防火墙做了等价路由,而防火墙报文的处理机制是先进行选路,在做源NAT,即如果防火墙配置了等价路由,防火墙会根据源IP进行hash选路,在确认后下一跳出口后,报文在做源NAT地址转换。所有就有可能造成选路选的是运营商B的,而NAT地址确NAT成运营商A的出口IP
建议与总结
对于防火墙双出口场景,且配置了等价路由的情况下,建议将双出口加入到不同域,以防止双出口等价路由引起的来回路径不一致,影响业务

END