NAT-T技术如何实现IPsec多隧道的建立

Cisco ❀ IPsec多隧道建立(NAT-T技术引入)_IPSEC
拓扑要求:
现在要做的是MGRE在IPSEC加密的条件下进行ISP之间的VPN建立
需要使用:IPV4、NAT、IPSEC、MGRE、静态路由
NAT -T(路由器默认支持)
作用:可以在一个接口上连接多个VPN
开启NAT-T之后:
(1)非500可以进行IKE协商
(2)增加UDP-4500短号的头部
如果设备未开启,请使用下面的命令来开启NAT-T

R1(config)#crypto ipsec nat-transparency udp-encapsulation

由于:
IKE第一阶段由隧道出接口500源端口和目标端口发起,当隧道入接口收到时不能将其转换为真实目标的500端口,此时要加静态映射,IKE第一阶段完成
IKE第二阶段由隧道出接口4500源端口和目标端口发起,类似于IKE第一阶段,完成转换时会向出接口发送确认报文,源端口仍为4500,此时还应该在出接口上配置静态映射

1、IP地址具体规划如下:
给R1/R2/R3/R4/R5配置相应的IPV4地址:
R1-R2的S1/1接口IPV4地址为12.1.1.1/24
R2-R1的S1/0接口IPV4地址为12.1.1.2/24
R2的loopback接口IPV4地址为2.2.2.2/32
R2-R3的S1/1接口IPV4地址为23.1.1.1/24
R3-R2的S1/0接口IPV4地址为23.1.1.2/24
R1-R4的S1/0接口IPV4地址为14.1.1.1/24
R4-R1的S1/1接口IPV4地址为14.1.1.2/24
R3-R5的S1/1接口IPV4地址为35.1.1.1/24
R5-R3的S1/0接口IPV4地址为35.1.1.2/24

R4上建立tunnel 1,接口IPV4地址分别为192.168.1.1/24
R5上建立tunnel 1,接口IPV4地址分别为192.168.1.2/24

2、配置静态默认路由:

R1->R2:R1(config)#ip route 0.0.0.0 0.0.0.0 12.1.1.2
R3->R2:R3(config)#ip route 0.0.0.0 0.0.0.0 23.1.1.1
R4->R1:R4(config)#ip route 0.0.0.0 0.0.0.0 14.1.1.1
R5->R3:R5(config)#ip route 0.0.0.0 0.0.0.0 35.1.1.1

3、配置NAT环境
在R1与R3上配置NAT使得R4与R5可以访问R2的loopback
R1的NAT配置:

R1(config)#ip nat inside source list 1 int s1/1 overload 
R1(config)#int s1/1
R1(config-if)#ip nat outside
R1(config)#int s1/0
R1(config-if)#ip nat inside
R1(config)#access-list 1 permit 14.1.1.0 0.0.0.255

R3的NAT配置:

R3(config)#access-list 1 permit 35.1.1.0 0.0.0.255 
R3(config)#ip nat inside source list 1 interface s1/0 overload
R3(config)#int s1/0
R3(config-if)#ip nat outside
R3(config)#int s1/1
R3(config-if)#ip nat inside

4、建立tunnel环境
在R4与R5上建立tunnel 1,接口IPV4地址分别为192.168.1.1/24与192.168.1.2/24
R4的配置:

R4(config)#int tunnel 1
R4(config-if)#ip address 192.168.1.1 255.255.255.0

定义tunnel的源与目的

R4(config-if)#tunnel source s1/1
R4(config-if)#tunnel mode gre multipoint

开启NHRP

R4(config-if)#ip nhrp network-id 100
R4(config-if)#ip nhrp map multicast dynamic

R5的配置:

R5(config)#int tunnel 1
R5(config-if)#ip address 192.168.1.2 255.255.255.0
R5(config-if)#tunnel source s1/0
R5(config-if)#tunnel mode gre multipoint

开启NHRP

R5(config-if)#ip nhrp network-id 100
R5(config-if)#ip nhrp nhs 192.168.1.1
R5(config-if)#ip nhrp map 192.168.1.1 12.1.1.1 //这个映射的地址一定是可达的公网地址
R5(config-if)#exit

在R4与R5上开启IPSEC加密

R4(config)#crypto isakmp policy 10

R4(config-isakmp)#group 2
R4(config-isakmp)#hash md5
R4(config-isakmp)#authentication pre-share
R4(config-isakmp)#encryption 3des
R4(config-isakmp)#exit
R4(config)#crypto ipsec transform-set ccie esp-3des esp-md5-hmac
R4(cfg-crypto-trans)#mode transport
R4(config)#crypto isakmp key cisco address 0.0.0.0
R4(config)#crypto ipsec profile ccie
R4(ipsec-profile)#set transform-set ccie
R4(ipsec-profile)#exit

配置完成在接口调用:

R4(config)#int tunnel 1
R4(config-if)#tunnel protection ipsec profile ccie

//出现下面的提示时,说明IPSEC在tunnel上调用成功
*Aug 10 11:22:18.720: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON

(R5的IPSEC配置同R4相同)

调用完成,由于IKE的第一阶段无法建立,所以要在R1与R3上使用NAT-T技术

R1(config)#ip nat inside source static udp 14.1.1.2 500 12.1.1.1 500
R1(config)#ip nat inside source static udp 14.1.1.2 4500 12.1.1.1 4500
R3(config)#ip nat inside source static udp 35.1.1.2 500 23.1.1.21 500
R3(config)#ip nat inside source static udp 35.1.1.2 4500 23.1.1.21 4500

配置完成后,验证R4的tunnel 1到R5的tunnel 1的连通性

R4#traceroute 192.168.1.2 source 192.168.1.1 numeric 
Type escape sequence to abort.
Tracing the route to 192.168.1.2
VRF info: (vrf in name/id, vrf out name/id)
1 192.168.1.2 39 msec * 41 msec

创作者:Eric· Charles