USG2210 ipsec vpn建立成功通信失败

发布时间:  2015-07-19 浏览次数:  299 下载次数:  0
问题描述

设备信息:防火墙USG2210,版本 V300R001C00SPC700  

问题描述:该USG2210替换以前的老设备,和对端(也是华为USG)做ipsec对接,配置和之前设备一样,ipsec能建立,流量不通,查看所有流量都走nat出去了,没有走vpn隧道。

处理过程

1、首先查看ipsec建立情况;ipsec sa也查看过,此处不再列出。

<USG2200>display ike sa

10:07:42  2015/07/19

current ike sa number: 7

-----------------------------------------------------------------------------

conn-id    peer                    flag          phase vpn

-----------------------------------------------------------------------------

40097      119.147.X.94          RD|ST         v1:2  public

40096      119.147.X.94          RD|ST         v1:2  public

40095      119.147.X.94          RD|ST         v1:2  public

40094      119.147.X.94          RD|ST         v1:2  public

40093      119.147.X.94          RD|ST         v1:2  public

40092      119.147.X.94          RD|ST         v1:2  public

40085      119.147.X.94          RD|ST         v1:1  public

 

  flag meaning

  RD--READY    ST--STAYALIVE  RL--REPLACED      FD--FADING

  TO--TIMEOUT  TD--DELETING   NEG--NEGOTIATING  D--DPD

<USG2200>

 

2、既然VPN已建立起来,让用户在内网测试通信,然后查看一下会话表项;

 

<USG2200>display firewall session table verbose source inside 192.168.10.246

10:11:42  2015/07/19

Current Total Sessions : 1

  icmp  VPN:public --> public

  Zone: trust--> untrust  TTL: 00:00:20  Left: 00:00:16

  Interface: GigabitEthernet0/0/0  NextHop: 183.62.208.217  MAC: 54-75-d0-ae-6c-00

  <--packets:0 bytes:0   -->packets:1 bytes:60

 192.168.10.246:1[183.62.X.218:1]-->192.168.8.2:2048

 

3、发现本该走VPN的数据流却被NAT转换了,再确认NAT配置策略;

 

nat-policy interzone trust untrust outbound

policy 1

  action no-nat

  policy source 192.168.50.0 0.0.0.255

  policy source 192.168.10.0 0.0.0.255

  policy destination 192.168.8.0 0.0.0.255

  policy destination 192.168.103.0 0.0.0.255

  policy destination 192.168.105.0 0.0.0.255

  policy destination 192.168.0.0 0.0.0.255

 

policy 2

  action source-nat

  easy-ip GigabitEthernet0/0/0         //这个接口的IP地址是 183.62.X.220

 

可以发现,策略里面明确写明VPN数据流是不被NAT转换的,但实际上却被转换了。但有一点不对,公网接口IP183.62.X.220,怎么会形成192.168.10.246:1[183.62.X.218:1]-->192.168.8.2:2048

 

4、到第三步时,发现转换后的地址并不是nat策略里面的公网接口地址,常见与NAT有关的表项server-map了,怀疑是由于server-map表项导致。再查看整个设备配置,发现 nat server 43 protocol tcp global 183.62.208.218 3389 inside 192.168.10.246 3389 ,查看表项再确认一下;

 

[USG2200]display firewall server-map ip 192.168.10.246

09:58:29  2015/07/19

  This operation will take a few minutes. Press 'Ctrl+C' to break ...

server-map item(s)

------------------------------------------------------------------------------

Nat Server, any -> 183.62.X.218:3389[192.168.10.246:3389], Zone: ---

   Protocol: tcp(Appro: unknown), Left-Time: --:--:--, Addr-Pool: ---

   VPN: public -> public

 

Nat Server Reverse, 192.168.10.246[183.62.X.218] -> any, Zone: ---

   Protocol: any(Appro: ---), Left-Time: --:--:--, Addr-Pool: ---

   VPN: public -> public

5、 nat server配置加上no-reversenat server 43 protocol tcp global 183.62.208.218 3389 inside 192.168.10.246 3389 no-reverse,清掉之前的会话表项再查测试VPN通信,测试成功。

<USG2200>display firewall session table verbose source inside 192.168.10.246

10:24:23  2015/07/19

Current Total Sessions : 3

  icmp  VPN:public --> public

  Zone: trust--> untrust  TTL: 00:00:20  Left: 00:00:20

  Interface: GigabitEthernet0/0/0  NextHop: 183.62.208.217  MAC: 00-00-00-00-00-00

  <--packets:686 bytes:41160   -->packets:688 bytes:41280

  192.168.10.246:1-->192.168.8.2:2048

根因

根因在于:nat server 43 protocol tcp global 183.62.X.218 3389 inside 192.168.10.246 3389     没有加no-reverse,形成了反向server-map表项。而客户测试的设备刚好是这台被映射的服务器(其实在此之前其他未被映射的设备是能够正常通信的),测试通信的报文匹配了server-map表项被转换成公网地址。

解决方案
将服务器映射配置修改为: nat server 43 protocol tcp global 183.62.X.218 3389 inside 192.168.10.246 3389 no-reverse

END