申明:第一次发博文,以下内容纯属个人经验总结,若有不妥当之处欢迎大家指点交流,QQ:765390765。
NAT和ipsec本身是一对矛盾体,但是现实生活中又时经常用到的,现在总结出三种解决方案供大家参考:(在定义第二阶段交换集的时候使用ESP的封装方式,不能使用HA方式)
方案一:
情景描述:总公司和分公司在出口设备上都做了NAT,现在两个公司又要在出口设备上起用IPsec×××以方便两边内网用户可以互相访问。
解决方案:在两边配置NAT的时候使用扩展的ACL来匹配流量(此目的是区分IPSEC和NAT的流量,效果就是两端互访的时候不需要经过NAT,自然IPsec的数据包就不会被破坏了):
以总公司端配置为例:
原先我们配置NAT的时候使用标准ACL:
ip access-list st nat
permit 1.1.1.0 0.0.0.255
配置IPSEC的ACL时候使用扩展的ACL:
ip acccess-list ex ***
permit ip 1.1.1.0 0.0.0.255 2.2.2.0 0.0.0.255
由以上两条acl可以看出,当总公司内网用户(1.1.1.0/24)访问分公司内网(2.2.2.0/24)的时候,两条ACL都能够匹配到。通过实际验证,这种数据流量是不进入IPsec隧道的,直接NAT之后扔到公网上了,所以我们要做的就是区分出不同需求的流量。
比如我们在定义nat的ACl的时候可以这样定义(使用扩展的):
ip access-list ex nat
deny ip 1.1.1.0 0.0.0.255 2.2.2.0 0.0.0.255
permit ip 1.1.1.0 0.0.0.255 any
IPSEC的ACl保持不变,这样的一个小小改变就能够使得去往分公司的流量统统走IPSEC隧道,而其他流量走NAT了。
转载于:https://blog.51cto.com/nanjingfm/847244