AR G3路由器做了NAT后IPSec业务出现不通

发布时间:  2014-09-15 浏览次数:  486 下载次数:  0
问题描述
 

如图所示,PC通过Router_1进行NAT后访问Server。在Router_1Router_2之间配置好IPSec隧道后,发现IPSec隧道无法建立。如果取消NAT功能,IPSec业务恢复正常。


 

Router_1的主要配置如下:

acl number 3000                                                                
rule 5 permit ip source 10.1.1.0 0.0.0.255  
#
acl number 3101                                                                
rule 5 permit ip source 10.1.1.0 0.0.0.255 destination 3.1.1.0  0.0.0.255
#   
ipsec proposal tran1                                                           
esp authentication-algorithm sha2-256                                         
esp encryption-algorithm aes-256                                              
#                                                                              
ike proposal 5                                                                 
encryption-algorithm aes-cbc-128                                                                                                     
authentication-algorithm sha2-256                                             

ike peer spub v1                                                               
pre-shared-key cipher %^%#A'yl"vD>"K%xE#S.$|Y)0x.m8v\{^>M%222M##DK%^%#        
ike-proposal 5                                                                
remote-address 2.1.1.1
#
ipsec policy map1 10 isakmp                                                    
security acl 3101                                                             
ike-peer spub                                                                 
proposal tran1
#
nat address-group 1 1.1.1.2 1.1.1.2

interface GigabitEthernet0/0/2                                                 
ip address 1.1.1.1 255.255.255.0                                              
ipsec policy map1 
nat outbound 3000 address-group 1

告警信息
处理过程

1.         查看Router_1IPSecNAT配置。确认经过IPSec封装的数据流与NAT转换的数据流配置是否正确。

acl number 3000                                                        
 rule 5 permit ip source 10.1.1.0 0.0.0.255                            
#
acl number 3101                                                                
 rule 5 permit ip source 10.1.1.0 0.0.0.255 destination 3.1.1.0  0.0.0.255
#

从上可以看出,所有从PC上发出的源地址为10.1.1.0网段的流量都匹配了NAT策略,其中包括需要经过IPSec隧道的流量。由于设备优先处理NAT流程,故在IPSec封装之前,PC访问对端的数据流会首先进行NAT转换。所以ACL策略配置有误。

这种情况下,处理方法有两种:一是修改IPSecACL的源地址为PCNAT转换后的地址;二是将NAT策略中,需经过IPSec封装的数据流不做NAT

2.   按照上面介绍的处理方法修改ACL策略。

l  如果访问对端的数据流需要在IPSec封装前进行NAT转换,则把ACL 3000的源地址改为NAT后地址。

[Router_1] acl 3101
[Router_1-acl-adv-3101] rule permit ip source 1.1.1.0 0.0.0.255 destination 3.1.1.0 0.0.0.255

l  如果访问对端的数据流不需要在IPSec封装前进行NAT转换,则在ACL中增加一条Deny策略。

[Router_1] acl 3000
[Router_1-acl-adv-3000] rule 10 deny ip source 10.1.1.0 0.0.0.255 destination 3.1.1.0 0.0.0.255

修改后,IPSec业务恢复正常。

根因
对于设备上一个接口同时配置了IPSec业务和NAT业务的情况,设备转发时会先进行NAT转换,不匹配NAT流程的报文才会进行IPSec处理;而上述Router_1的配置显示,NATACL3000IPSecACL3101都是针对相同的私网源地址,这样IPSec流就被匹配到NATACL3000了,不进行IPSec处理,从而导致NATIPSec业务不通。
建议与总结

IPSecNAT配置在同一台设备上时,要确认经过IPSec封装的数据流是否还需要进行NAT转换。

n  如果需要进行NAT转换,则Security ACL要匹配NAT后的地址。

n  如果不需要进行NAT转换,则Security ACL要匹配NAT前的地址。且ACL中要将经过IPSec隧道的数据流的动作配置为Deny

END