USG2130配置nat server后,从外网访问出现失败

发布时间:  2015-04-22 浏览次数:  265 下载次数:  0
问题描述

客户使用一台USG2130在公网出口,通过ADSL拨号上网,内部的一台服务器通过NAT SERVER的方式映射到外网,外部用户通过ADSL拨号后获取的地址访问内部的服务器。在测试的时候发现访问不成功,客户通过在内网电脑上抓包发现电脑收到了SYN请求后,不断的在往外发送SYN ACK报文,并且没有再收到任何其他报文。

处理过程

1. 检查客户配置没有发现异常,关键配置如下所示:

    nat server 7 protocol tcp global interface Dialer0 502 inside 192.168.100.238 502 no-reverse

2. 查看会话的信息发现报文也正常的进行发转发

[USG2100]display firewall session table verbose destination-port 502
19:13:18  2015/04/20
  Current Total Sessions : 1
   tcp  VPN:public --> public
   Zone: untrust--> trust  TTL: 00:00:05  Left: 00:00:00
   Interface: Vlanif1  NextHop: 192.168.100.238  MAC: f0-de-f1-ee-bf-42
   <--packets:4 bytes:184   -->packets:2 bytes:120
   223.104.16.108:9475-->119.51.153.178:502[192.168.100.238:502]
3. 由于客户在电脑上抓包发现收到了SYN报文,但是没有后续报文,怀疑设备是将电脑返回的报文给丢弃了,因此在防火墙上进行流量统计,结果显示如下:

Protocol(TCP) SourceIp(192.168.100.238) DestinationIp(223.104.16.108)  
  SourcePort(502) DestinationPort(9385) VpnIndex(public)  
            Receive           Forward           Discard  
  Obverse : 1          pkt(s) 0          pkt(s) 1          pkt(s)  
  Reverse : 0          pkt(s) 0          pkt(s) 0          pkt(s)
   
  Discard detail information:
   DP_L3Fwd_ProcessIpv4          :exit 2:     1
   DP_L3Fwd_DataProcess          :exit 6:     1
   DP_L3Fwd_StatusChk            :exit 1:     1
4. 根据报错信息查询到最后一条:

DP_L3Fwd_StatusChk            Exit 1:开启链路状态检测功能时,所有非SYN报文丢弃;关闭链路状态检测功能时,RST、FIN报文透传,带ACK标记的报文都进入首包流程,其余报文丢弃。

5. 再次检查客户的配置,发现客户还启用了攻击防范的相关功能,因此尝试关闭攻击防范功能再进行测试。在将攻击防范功能关掉后,清掉会话表项再次从外部访问确实访问成功了,因此可以判定与攻击防范功能相关。

6. 在确认功能模块后,对该模块的功能项一一进行测试,发现只要打开畸形报文检测功能后外网就访问不了此服务器。

根因
客户的这种业务报文比较特殊与畸形报文的特点类似,因为命令了畸形报文的攻击检测而被丢弃掉了。
解决方案
关掉攻击检测中的畸形报文检测。
建议与总结

在启用了攻击防范的设备中,如果在配置正确的情况下可以通过尝试关闭掉该功能来帮助解决问题。

END