USG5530S做网关内网所有用户间歇性不能访问特定网站的问题案例

发布时间:  2014-04-28 浏览次数:  332 下载次数:  0
问题描述
某客户使用USG5530S做出口网关,在2个月内出现3次内网所有用户都无法访问同一个网站的问题,并且每次故障都在30分钟之后自动恢复。

网络拓扑如下:

告警信息
处理过程
(1)由于故障时,只有一个特定网站不能访问,其他网站如www.google.com等网站访问正常,于是怀疑网站的可能存在问题,无法正常访问。但是经过客户确认,在外网是能够正常访问该网站的。同时在故障期间,我们也在本地自己的网络中做测试访问该网站,也的确能够正常访问。因此排查网站故障问题。
(2)查看防火墙的诊断信息,确认是否有异常流量或者攻击,如下可知,防火墙的会话数,峰值会话速率等统计都是比较正常的,没有出现异常高的情况。防火墙被攻击的可能性不大。

<USG5500>
=================================================================
  ===============display firewall statistic system===============
=================================================================
13:48:09  2014/01/09
System statistic information:
         BootCon,              9434509,     Total connection since last reboot
       PeakSpeed,                  693,              Peak session speed(num/s)
    CurSessSpeed,                   34,           Current session speed(num/s)

CurPatSessSpeed,                   28,       Current PAT session speed(num/s)
        TotalCon,                 5529,                Total connection num
      CurHalfCon,                  111,     Total current TCP Half connections

      TcpSession,                 2997,             Total current TCP sessions
      UdpSession,                 2532,             Total current UDP sessions
        HttpSess,                  790,                          HTTP Sessions
         DnsSess,                 1178,                           DNS Sessions

 (3)故障期间,在内网发起访问,在防火墙上查看相应的会话信息,发现报文只有出去的,没有回应的报文。由此判断可能是中间网络丢包或者是网站服务器端没有回应。会话信息如下:

[USG5500]display firewall session table verbose destination inside x.y.109.242
14:49:43  2014/01/22
Current Total Sessions : 1
  tcp  [Unknown]  VPN:public --> public
  Zone: trust--> untrust  TTL: 00:00:05  Left: 00:00:00
  Interface: GigabitEthernet0/0/1  NextHop: x.y.170.254  MAC: 08-81-f4-ca-xx-xx
  <--packets:0 bytes:0   -->packets:2 bytes:104
  10.0.51.246:60887[x.y.170.225:6664]-->x.y.109.242:8080

然后在对网站做可达性测试时发现,网站域名对应的IP: x.y.109.242的不同端口(443、80、8080)对应的网络设备也都不一样,如443端口对于的是一台安全设备的登录界面。因此推断网站服务器的外面应该存在NAT安全设备,该设备上可能配置了攻击防范或者连接数限制之类的安全策略。而客户的上网用户是通过在USG防火墙上做接口NAT的方式上网的,也就是说,客户内网所有访问该网站的用户的源IP都会被转换成同一个公网IP,也就是防火墙的接口IP,这样的一来,一旦内网同时访问该网站的用户很多时,网站侧服务器前面的安全设备就有可能认为该IP发起的是HTTP攻击(或者是对同一个IP连接数做了限制,已经超过了连接数限制),从而将该IP地址加入黑名单一段时间,在这段时间内用户就无法访问该网站。这也能解释每次都是30分钟后,网络自动恢复的现象。

基于以上定位分析,可以在防火墙上配置源NAT时多使用几个公网地址作为源地址,内网不同用户发起的访问就会被转换成不同的公网地址,这样对端网站前面的安全设备就不会认为是攻击了。配置修改方案如下:

Step 1、添加一个NAT address-group:
nat address-group 9 x.y.170.248 x.y.170.253 
Step 2、然后将nat-policy中的policy 0 从:
nat-policy interzone trust untrust outbound
。。。。
policy 0
  action source-nat
  easy-ip GigabitEthernet0/0/1
修改为:
nat-policy interzone trust untrust outbound
。。。。
policy 0
  action source-nat                                                            
  address-group 9 

使用上述方案修改,客户网络至今已稳定运行3个月,未出现相同的问题。问题彻底解决。
根因
根据问题现象,可能有如下原因:
(1) 网站出现故障,无法正常访问;
(2) 客户网络被攻击或者中病毒,导致有大量的异常流量,影响了正常业务;
建议与总结
在分析网络无法访问等问题时,需要结合故障现象的特点,逐步排查可能原因,并站在整个网络的角度大胆的设想和分析,很多问题的根源并一定在我们的设备和客户的网络上。

END