方案二:先上拓扑图
场景描述:
R2为总公司的出口路由器,R3是分公司的出口路由器,R1为总公司内部的一台路由器。现在有需求要在R1和R3之间做一条IPSEC ×××隧道,以供两端内网用户互相访问。为了防止NAT对***数据包的破坏,在R3(分公司)上可以使用扩展ACl来区分流量(做法见方案一),但是R1的***数据包,必须要经过R2,必须要进行一次地址转换。
解决方案:
思路:R3和R1直接建立IPsec关系肯定是不行的,但是我可以跟你R1做过NAT之后的地址来建立IPsec关系,这样的话就可以不破坏***封装过的包了。
可以有两种做法:
做法一:两端指对端的时候都是静态
配置要点:
在R1上指R3公网地址,R3上指R2的公网地址。
在中间NAT设备上面增加两条静态的nat条目,如:
r2(config)#ip nat inside sou sta esp 192.168.12.1 int e0/0
r2(config)#ip nat inside sou sta udp 192.168.12.1 500 int e0/0 500
这两条静态NAT就能够保证,×××数据包经过R2 NAT之后都是同一个地址,同一个端口号,这样就相当于R1、R3直接建立关系了。
方案二:
R1端指R3公网地址(静态),R3上指动态的(cry isk key 123 add 0.0.0.0 0.0.0.),然后在R2上不需要做任何设置即可。
动态指对端的方法见配置文件:
crypto isakmp policy 10
encr 3des
authentication pre-share
group 2
crypto isakmp key 123 address 0.0.0.0 0.0.0.0//原来指对端固定的IP地址,现在不知道具体地址是什么(经过了NAT设备),要改成0.0.0.0/0
crypto isakmp nat keepalive 10//做Nat穿透,每10秒发送一个keepalive报文保持nat设备上的相应会话不超时,使得两端IPsec通道一直保持畅通,不会终端
!
crypto ipsec transform-set *** esp-3des esp-md5-hmac
!
crypto dynamic-map dmap 10//和静态的不一样,这里要建一个动态的map
set security-association lifetime seconds 86400
set transform-set ***
match address ***
!
crypto map *** 10 ipsec-isakmp dynamic dmap //这里调用那个动态的map
然后应用到接口即可。
测试的时候要先用R1带源地址去pingR3,这样就能够建立IPsec通道了,
转载于:https://blog.51cto.com/nanjingfm/847867