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