动态的GRE OVER IPSEC的实验模拟与分析

发布日期:2019-10-27

此篇博客正在介绍的是下图中的Dynamic P2P GRE OVER IPSEC VPN:

 

 

为什么出现这种动态的GRE OVER IPSEC VPN技术呢?

 首先在前面几篇博客中已经介绍过了,动态是为了保证在不更改总部路由器的配置的情况下,可以随意的增加和删除分部vpn路由器,IPSEC是为了保证数据传输的私密性,对于一个基本vpn通道来讲,这样已经完全可以满足要求了,但是为了使得总部路由器可以和分部路由器之间进行路由的传递,从而又加入了GRE,也就形成了现在的一种技术,Dynamic GRE OVER IPSEC VPN。我们都知道GRE是一个点对点(经常说的P2P)的模式,所以它也是有缺陷的,在下一篇博客中会讲一种MGRE的协议可以弥补这种缺陷。接下来先说一下GRE技术的具体配置。

 

 

拓扑结构图如下:

拓扑描述:IOU2是总部的vpn路由器,IOU4是分部的VPN路由器,并且IOU4的出接口是从dhcp中动态获取的地址,为了实现效果,所以设置了一个回环接口lo0地址为3.3.3.3用来作为隧道的地址,IOU3是用路由器模拟的一个internet网络,同样也是一台DHCP服务器,IOU1和IOU5分别是公司的内网。现在要通过技术实现内部网络的路由交换和互通。

 

 

 

 

步骤一:基础网络配置

IOU1的配置:

IOU1#configure terminal 进入配置模式IOU1(config)#inter e0/0 进入接口配置模式IOU1(config-if)#ip add 10.1.1.5 255.255.255.0 配置接口的ip地址IOU1(config-if)#no shutdown 启动接口IOU1(config-if)#ip route 0.0.0.0 0.0.0.0 10.1.1.1 配置默认路由指向10.1.1.5,也就是路由表中没有相应匹配项时,从10.1.1.5接口转发 

IOU2的配置:

IOU2#configure terminalIOU2(config)#inter e0/1IOU2(config-if)#ip add 12.1.1.1 255.255.255.0IOU2(config-if)#no shutdownIOU2(config-if)#inter e0/0IOU2(config-if)#ip add 10.1.1.1 255.255.255.0IOU2(config-if)#no shutdownIOU2(config-if)#ip route 0.0.0.0 0.0.0.0 12.1.1.2 

IOU3的配置:

IOU3#configure terminalIOU3(config)#inter e0/0IOU3(config-if)#ip add 12.1.1.2 255.255.255.0IOU3(config-if)#no shutdownIOU3(config-if)#inter e0/1IOU3(config-if)#ip add 23.1.1.2 255.255.255.0IOU3(config-if)#no shutdown IOU3(config)#service dhcp 设置为dhcp服务器IOU3(config)#ip dhcp pool DHCP 进入设置地址池IOU3(dhcp-config)#default-router 23.1.1.2 设置接受地址的路由器的默认网关为23.1.1.2IOU3(dhcp-config)#network 23.1.1.0 255.255.255.0 地址池的设置IOU3(dhcp-config)#exitIOU3(config)#ip dhcp excluded-address 23.1.1.2 从地址池中除去24.1.1.2

IOU4的配置:

IOU4#configure terminalIOU4(config)#inter e0/0IOU4(config-if)#ip add dhcp IP地址设置成dhcp动态获取IOU4(config-if)#no shutdownIOU4(config-if)#inter e0/2IOU4(config-if)#ip add 192.168.1.3 255.255.255.0IOU4(config-if)#no shutdown

IOU5的配置:

IOU5#configure terminal 进入配置模式IOU5(config)#inter e0/0 进入接口配置模式IOU5(config-if)#ip add 192.168.1.4 255.255.255.0 配置接口的ip地址IOU5(config-if)#no shutdown 启动接口IOU5(config-if)#ip route 0.0.0.0 0.0.0.0 192.168.1.3

测试路由连通性:

用IOU2去ping 23.1.1.1是可以ping通的,但是去ping 192.168.1.4是ping不通的:

1 IOU2#ping 23.1.1.1 2 Type escape sequence to abort. 3 Sending 5, 100-byte ICMP Echos to 23.1.1.1, timeout is 2 seconds: 4 !!!!! 5 Success rate is 100 percent (5/5), round-trip min/avg/max = 6/6/7 ms 6 IOU2# 7 IOU2#ping 192.168.1.3 8 Type escape sequence to abort. 9 Sending 5, 100-byte ICMP Echos to 192.168.1.3, timeout is 2 seconds:10 UUUUU11 Success rate is 0 percent (0/5)12 IOU2#View Code

 

 

步骤二:IPSEC的配置

IOU2的配置:

IOU2(config)#crypto isakmp policy 10 IOU2(config-isakmp)#encryption 3des IOU2(config-isakmp)#hash md5 IOU2(config-isakmp)#group 1 IOU2(config-isakmp)#authentication pre-share IOU2(config-isakmp)#exitIOU2(config)#crypto isakmp key 0 huwentao address 0.0.0.0 对端地址要设置成所有地址IOU2(config)#crypto ipsec transform-set IPSEC esp-3des esp-md5-hmac IOU2(cfg-crypto-trans)#exitIOU2(config)#crypto dynamic-map dymap 10 设置动态mapIOU2(config-crypto-map)#set transform-set IPSECIOU2(config-crypto-map)#exitIOU2(config)#crypto map mymap 10 ipsec-isakmp dynamic dymapIOU2(config)#inter e0/1 IOU2(config-if)#crypto map mymap *Jul 23 12:54:39.519: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ONIOU2(config-if)#exitIOU2(config)#

IOU4的配置(正常的GRE over ipsec的配置):

IOU4(config)#crypto isakmp policy 10 IOU4(config-isakmp)#encryption 3des IOU4(config-isakmp)#hash md5 IOU4(config-isakmp)#group 1 IOU4(config-isakmp)#authentication pre-share IOU4(config-isakmp)#exitIOU4(config)#crypto isakmp key 0 huwentao address 12.1.1.1IOU4(config)#crypto ipsec transform-set IPSEC esp-3des esp-md5-hmac IOU4(cfg-crypto-trans)#exitIOU4(config)#access-list 100 permit gre host 3.3.3.3 host 12.1.1.1 匹配流量为隧道的流量IOU4(config)#crypto map mymap 10 ipsec-isakmp % NOTE: This new crypto map will remain disabled until a peer and a valid access list have been configured.IOU4(config-crypto-map)#set peer 12.1.1.1IOU4(config-crypto-map)#set transform-set IPSECIOU4(config-crypto-map)#match address 100IOU4(config-crypto-map)#exitIOU4(config)#inter e0/0 IOU4(config-if)#crypto map mymap IOU4(config-if)#exit

 

 

步骤三:GRE的配置

IOU2的配置(从此处的配置可以看出,当分部路由器增加的时候,并不是完全的不用配置总部路由器,我们还需要配置他的gre隧道):

IOU2(config)#inter tunnel 1 IOU2(config-if)#tunnel source 12.1.1.1 IOU2(config-if)#tunnel destination 3.3.3.3 目的地址,这个地方也就是传统的gre的缺点。DMVPN会解决这样的缺点IOU2(config-if)#ip add 1.1.1.1 255.255.255.0 IOU2(config-if)#exitIOU2(config)#ip route 3.3.3.3 255.255.255.255 12.1.1.2 这个是默认的配置,虽然说3.3.3.3的路由在公网上面是没有办法传递的。

IOU4的配置:

IOU4(config)#inter tunnel 1 IOU4(config-if)#ip add 1.1.1.2 255.255.255.0 IOU4(config-if)#tunnel source 3.3.3.3 IOU4(config-if)#tunnel destination 12.1.1.1 IOU4(config-if)#exit

用IOU4去ping 1.1.1.1去触发ipsec,发现是可以ping通的,而且还建立了ipsec对等体和sa:

1 IOU4#ping 1.1.1.1 2 Type escape sequence to abort. 3 Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds: 4 !!!!! 5 Success rate is 100 percent (5/5), round-trip min/avg/max = 5/5/6 ms 6 IOU4#show ipro 7 IOU4#show cry 8 IOU4#show crypto is 9 IOU4#show crypto isakmp peer10 IOU4#show crypto isakmp peers 11 Peer: 12.1.1.1 Port: 500 Local: 23.1.1.412 Phase1 id: 12.1.1.113 IOU4#show crypto isakmp sa 14 IPv4 Crypto ISAKMP SA15 dst src state conn-id status16 12.1.1.1 23.1.1.4 QM_IDLE 1001 ACTIVE17 18 IPv6 Crypto ISAKMP SA19 20 IOU4#View Code

由于双方只是建立了隧道,还没有交换路由信息,因此用IOU5去ping 10.1.1.1是ping不通的。

1 IOU5#ping 10.1.1.12 Type escape sequence to abort.3 Sending 5, 100-byte ICMP Echos to 10.1.1.1, timeout is 2 seconds:4 .....5 Success rate is 0 percent (0/5)6 IOU5#View Code

 

 

步骤四:配置动态路由

IOU2的配置:

IOU2(config)#router eigrp 1 配置eigre 宣告网络,并且关掉路由汇总功能,用来传递两端路由IOU2(config-router)#network 10.1.1.0 0.0.0.255 IOU2(config-router)#network 1.1.1.1 0.0.0.255IOU2(config-router)#no auto-summary IOU2(config-router)#exit

IOU4的配置:

IOU4(config)#router eigrp 1 IOU4(config-router)#network 1.1.1.2 0.0.0.0*Jul 23 13:23:51.739: %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 1.1.1.1 (Tunnel1) is up: new adjacencyIOU4(config-router)#network 192.168.1.0 0.0.0.255 IOU4(config-router)#no auto-summary IOU4(config-router)#exit

查看IOU4的路由表发现,已经有了10.1.1.0的网络,是通过1.1.1.1这个隧道接口传递过去的。

1 IOU4(config)#do show ip route 2 Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP 3 D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 4 N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 5 E1 - OSPF external type 1, E2 - OSPF external type 2 6 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 7 ia - IS-IS inter area, * - candidate default, U - per-user static route 8 o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP 9 a - application route10 + - replicated route, % - next hop override11 12 Gateway of last resort is 23.1.1.2 to network 0.0.0.013 14 S* 0.0.0.0/0 [254/0] via 23.1.1.215 1.0.0.0/8 is variably subnetted, 2 subnets, 2 masks16 C 1.1.1.0/24 is directly connected, Tunnel117 L 1.1.1.2/32 is directly connected, Tunnel118 3.0.0.0/32 is subnetted, 1 subnets19 C 3.3.3.3 is directly connected, Loopback020 10.0.0.0/24 is subnetted, 1 subnets21 D 10.1.1.0 [90/26905600] via 1.1.1.1, 00:00:34, Tunnel122 23.0.0.0/8 is variably subnetted, 2 subnets, 2 masks23 C 23.1.1.0/24 is directly connected, Ethernet0/024 L 23.1.1.4/32 is directly connected, Ethernet0/025 192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks26 C 192.168.1.0/24 is directly connected, Ethernet0/127 L 192.168.1.3/32 is directly connected, Ethernet0/128 IOU4(config)#View Code

 

 

测试结果:

在IOU5上面ping 10.1.1.5,是可以ping通的,说明配置成功。

IOU5#IOU5#ping 10.1.1.5Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 10.1.1.5, timeout is 2 seconds:!!!!!Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/6 msIOU5#