一个因IPSEC导致的NAT失败的故障处理

发布时间:  2016-12-26 浏览次数:  115 下载次数:  0
问题描述

网络组织结构:


客户网络部署防火墙和路由器,AR作为出口路由器连接internet。
防火墙A之间启用IPSEC与远端防火墙B之间建立ipsec隧道
AR 上启用NAT做网络地址进行转换。
故障现象:
NAT失效,报文没有被地址转换

处理过程

1,查看AR NAT表项,无NAT表项生成,说明NAT失败

<Huawei>display nat session all

  NAT Session Table Information:


  Total : 0


2,查看AR NAT配置,确认NAT配置确认。
3,查看防火墙配置,发现防火墙 ipsec 配置为 ESP的传输模式

相关命令如下



根据IPSEC 原理,ESP的传输模式的报文封装格式为:


 
可以看到,报文对于TCP部分是先做ESP加密,导致NAT失败



解决方案
解决方案:
调整IPSEC 隧道为tunnel 模式。相关命令如下

ipsec proposal XXXX
encapsulation-mode tunnel 
transform esp

同时,在穿越NAT的环境下,IPSEC 也需要启用NAT穿越功能,相关命令如下:

ike peer peer-name,创建IKE Peer,并进入IKE Peer视图。 
执行命令nat traversal,开启NAT穿越功能。

END