USG5500配置了虚拟服务器之后外网访问服务器失败

发布时间:  2014-12-04 浏览次数:  130 下载次数:  0
问题描述
用户从外网访问内网服务器地址失败,通过命令查看会话表,发现会话表可以正常建立并有数据包交互
处理过程
通过命令查看会话表信息如下
[BJS-JTQ-FW]display firewall session table verbose destination inside 10.10.10.22
18:51:15  2014/12/03
Current Total Sessions : 3
  tcp  VPN:public --> public
  Zone: untrust--> dmz  TTL: 00:00:10  Left: 00:00:08
  Interface: GigabitEthernet0/0/2  NextHop: 10.10.10.22  MAC: 6c-ae-7b-3e-fc-ca
  <--packets:1 bytes:52   -->packets:2 bytes:92
  62.186.68.13:35237-->111.20.132.82:8077[10.10.10.22:8077]

发现有交互报文,但是在终端上看访问失败

在服务器和防火墙的出口上抓包,检查TCP的交互信息
25     8.205078 62.186.68.13   10.10.10.22   TCP  60     41615 > 8077 [RST] Seq=1 Win=0 Len=0
26     8.379261 62.186.68.13   10.10.10.22   TCP  66     41618 > 8077 [SYN] Seq=0 Win=8192 Len=0 MSS=1200 WS=4 SACK_PERM=1
27     8.379323 10.10.10.22   62.186.68.13   TCP  66     "8077 > 41618 [SYN, ACK] Seq=0 Ack=1 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM=1"
28     8.465985 62.186.68.13   10.10.10.22   TCP  60     41618 > 8077 [RST] Seq=1 Win=0 Len=0
29     9.153422 0.0.0.0     255.255.255.255     DHCP        337  DHCP Discover - Transaction ID 0x6e936d26
30     10.302176        62.186.68.13   10.34.100.22   TCP  66     41630 > 8077 [SYN] Seq=0 Win=8192 Len=0 MSS=1200 WS=4 SACK_PERM=1
31     10.302262        10.10.10.22   62.186.68.13   TCP  66     "8077 > 41630 [SYN, ACK] Seq=0 Ack=1 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM=1"
32     10.388774        62.186.68.13   10.10.10.22   TCP  60     41630 > 8077 [RST] Seq=1 Win=0 Len=0
33     11.107304        62.186.68.13   10.10.10.22  TCP  66     [TCP Spurious Retransmission] 41615 > 8077 [SYN] Seq=0 Win=8192 Len=0 MSS=1200 WS=4 SACK_PERM=1
通过抓包发现设备可以正常收到syn包并回复ACK报文,但是客户端却没有收到回复的ack报文,从而再发出超时重传包,连接失败。

确认ack包已经从防火墙发出,因此确定是运营商网络导致丢包 排查运营商网络后,故障解决。 
根因
由于来回路径不一致,导致服务器回给终端的ack报文在运营商的网络中被丢弃。排查运营商网络后恢复
建议与总结
在配置虚拟服务器后,通过公网访问失败排查思路如下:
1、检查虚拟服务器是否正常配置
2、检查域间策略是否已经放开
3、检查是否形成会话表且有数据报文交互
4、通过内网是否可以正常访问服务器的映射公网地址
5、通过抓包确认交互过程是否正常 

END