配置了nat enable导致IPSec VPN单向不通

发布时间:  2015-11-10 浏览次数:  2485 下载次数:  0
问题描述
拓扑图如下:



总部的内网IP网段为192.168.0.0/24,通过拨号上网,公网IP地址不固定,域名为ad-1.xxx.org。分支的内网IP网段192.168.1.0/24,通过拨号上网,公网IP地址不固定,域名为Ad1as.xxx.org。IPSec VPN应用在拨号接口Diar1上。配置完毕后,测试结果如下:

192.168.1.3  ping  ad-1.xxx.org     = pass
192.168.0.3  ping  ad1as.dyndns.org  = pass
192.168.1.3  ping  192.168.0.3      = pass
192.168.0.3  ping  192.168.1.3      = Fail
处理过程
步骤 1 从总部ping分支结构的内网IP不通,IPSec VPN隧道也没有建立。

由于USG2110-F的版本为V100R005,并且总部的USG2110-F存在双拨号出口,遂怀疑是由于在双拨号出口时配置IPSec VPN出现域名对应的IP地址变化导致IPSec VPN不通(此问题在USG2110-F的V300R001版本解决)。

firewall zone untrust
set priority 5
detect ftp
add interface Dialer0
add interface Dialer1
add interface Ethernet0/0/0
add interface Ethernet2/0/0
#

步骤 2 将USG2110-F升级为最新版本V300R001C00SPC900,问题依旧。并且实际上第二个拨号后是shutdown状态的,该防火墙并不存在双出口的问题。

interface Ethernet2/0/0
pppoe-client dial-bundle-number 2
shutdown
#

步骤 3 调客户拿到分支机构USG2110-F的配置,对比发现总部和分支的USG2110-F的ACL配置互为镜像,并不存在ACL不匹配问题。

总部USG2110-F的ACL:

acl number 3000
rule 5 permit ip source 192.168.0.0 0.0.0.255 destination 192.168.1.0 0.0.0.255

分支USG2110-F的ACL

acl number 3000
rule 5 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.0.0 0.0.0.255

步骤 4 远程访问的测试,测试结果如下:

192.168.1.3  ping  ad-1.xxx.org     = pass
192.168.0.3  ping  ad1as.dyndns.org  = pass
192.168.1.3  ping  192.168.0.3      = pass
192.168.0.3  ping  192.168.1.3      = Fail

步骤 5 最新的总部USG2110-F的配置中,有如下配置:

interface Dialer0
nat enable

问题就出在这里。在接口上配置了nat enable,从该接口出去的所有数据包的源IP地址,都会转变为该接口的IP地址(此处为Dialer0的IP,公网IP)。当从192.168.0.3ping192.168.1.3时,源IP被NAT成了接口Dialer0的IP后,无法匹配ACL3000,故不会建立IPSec VPN隧道,该ping数据包由于目的地址是私网IP,在接口Dialer0出去后,无法在公网传输。
根因
出口处配置了NAT,且NAT策略不合理。
解决方案
1、在接口Dialer0下去掉nat enable。

2、新增NAT策略。

nat-policy interzone trust untrust outbound

policy 0
  action no-nat
  policy source 192.168.0.0 mask 24
  policy destination 192.168.1.0 mask 24

policy 1
  action source-nat
  policy source 192.168.0.0 mask 24
  easy-ip Dialer0
建议与总结
1、使用nat enable要慎重。该命令会把所有配置该命令的接口出去的数据包的源IP修改为接口IP。

2、IPSec VPN和NAT部署在同一台设备上时,IPSec VPN保护的数据流不应该做NAT,在NAT策略配置时需要注意到这一点。

END