此篇博客正在介绍的是下图中的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 terminal
IOU2(config)#inter e0/1
IOU2(config-if)#ip add 12.1.1.1 255.255.255.0
IOU2(config-if)#no shutdown
IOU2(config-if)#inter e0/0
IOU2(config-if)#ip add 10.1.1.1 255.255.255.0
IOU2(config-if)#no shutdown
IOU2(config-if)#ip route 0.0.0.0 0.0.0.0 12.1.1.2 

IOU3的配置:

IOU3#configure terminal
IOU3(config)#inter e0/0
IOU3(config-if)#ip add 12.1.1.2 255.255.255.0
IOU3(config-if)#no shutdown
IOU3(config-if)#inter e0/1
IOU3(config-if)#ip add 23.1.1.2 255.255.255.0
IOU3(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.2
IOU3(dhcp-config)#network 23.1.1.0 255.255.255.0 地址池的设置
IOU3(dhcp-config)#exit
IOU3(config)#ip dhcp excluded-address 23.1.1.2 从地址池中除去24.1.1.2

IOU4的配置:

IOU4#configure terminal
IOU4(config)#inter e0/0
IOU4(config-if)#ip add dhcp IP地址设置成dhcp动态获取
IOU4(config-if)#no shutdown
IOU4(config-if)#inter e0/2
IOU4(config-if)#ip add 192.168.1.3 255.255.255.0
IOU4(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不通的:

 IOU2#ping 23.1.1.1
Type escape sequence to abort.
Sending , -byte ICMP Echos to 23.1.1.1, timeout is seconds:
!!!!!
Success rate is percent (/), round-trip min/avg/max = // ms
IOU2#
IOU2#ping 192.168.1.3
Type escape sequence to abort.
Sending , -byte ICMP Echos to 192.168.1.3, timeout is seconds:
UUUUU
Success rate is percent (/)
IOU2#

步骤二: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)#exit
IOU2(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)#exit
IOU2(config)#crypto dynamic-map dymap 10 设置动态map
IOU2(config-crypto-map)#set transform-set IPSEC
IOU2(config-crypto-map)#exit
IOU2(config)#crypto map mymap 10 ipsec-isakmp dynamic dymap
IOU2(config)#inter e0/1
IOU2(config-if)#crypto map mymap
*Jul 23 12:54:39.519: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
IOU2(config-if)#exit
IOU2(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)#exit
IOU4(config)#crypto isakmp key 0 huwentao address 12.1.1.1
IOU4(config)#crypto ipsec transform-set IPSEC esp-3des esp-md5-hmac
IOU4(cfg-crypto-trans)#exit
IOU4(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.1
IOU4(config-crypto-map)#set transform-set IPSEC
IOU4(config-crypto-map)#match address 100
IOU4(config-crypto-map)#exit
IOU4(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)#exit
IOU2(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:

 IOU4#ping 1.1.1.1
Type escape sequence to abort.
Sending , -byte ICMP Echos to 1.1.1.1, timeout is seconds:
!!!!!
Success rate is percent (/), round-trip min/avg/max = // ms
IOU4#show ipro
IOU4#show cry
IOU4#show crypto is
IOU4#show crypto isakmp peer
IOU4#show crypto isakmp peers
Peer: 12.1.1.1 Port: Local: 23.1.1.4
Phase1 id: 12.1.1.1
IOU4#show crypto isakmp sa
IPv4 Crypto ISAKMP SA
dst src state conn-id status
12.1.1.1 23.1.1.4 QM_IDLE ACTIVE IPv6 Crypto ISAKMP SA IOU4#

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

 IOU5#ping 10.1.1.1
Type escape sequence to abort.
Sending , -byte ICMP Echos to 10.1.1.1, timeout is seconds:
.....
Success rate is percent (/)
IOU5#

步骤四:配置动态路由

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.255
IOU2(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 adjacency
IOU4(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这个隧道接口传递过去的。

 IOU4(config)#do show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type , N2 - OSPF NSSA external type
E1 - OSPF external type , E2 - OSPF external type
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-, L2 - IS-IS level-
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override Gateway of last resort is 23.1.1.2 to network 0.0.0.0 S* 0.0.0.0/ [/] via 23.1.1.2
1.0.0.0/ is variably subnetted, subnets, masks
C 1.1.1.0/ is directly connected, Tunnel1
L 1.1.1.2/ is directly connected, Tunnel1
3.0.0.0/ is subnetted, subnets
C 3.3.3.3 is directly connected, Loopback0
10.0.0.0/ is subnetted, subnets
D 10.1.1.0 [/] via 1.1.1.1, ::, Tunnel1
23.0.0.0/ is variably subnetted, subnets, masks
C 23.1.1.0/ is directly connected, Ethernet0/
L 23.1.1.4/ is directly connected, Ethernet0/
192.168.1.0/ is variably subnetted, subnets, masks
C 192.168.1.0/ is directly connected, Ethernet0/
L 192.168.1.3/ is directly connected, Ethernet0/
IOU4(config)#

测试结果:

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

IOU5#
IOU5#ping 10.1.1.5
Type 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 ms
IOU5#

  

动态的GRE OVER IPSEC的实验模拟与分析的更多相关文章

  1. DMVPN的实验模拟与分析

    此篇博客正在介绍的是下图中的DMVPN: 为什么会出现DMVPN这个技术呢? 在这篇博客中https://www.cnblogs.com/huwentao/p/9355240.html介绍过Dynam ...

  2. GRE Over IPSec配置

    路由器GRE over IPSec站点到站点VPN         问题分析:对于前面的经典的IPSec VPN的配置来说,兼容性较好,适合于多厂商操作的时候,但是这种经典的配置方式不适合在复杂的网路 ...

  3. IPSec VPN实验

    IPSec VPN实验 实验拓扑: 实验目的:掌握IPSec VPN原理 掌握site-to-site VPN配置 IPSec配置参数: IKE policy isakmp key 转换集 加密算法 ...

  4. 课堂实验-模拟实现Sort

    课堂实验 模拟实现Linux下Sort -t : -k 2的功能.参考 Sort的实现. 代码如下: /** * Created by Administrator on 2017/5/20. */ i ...

  5. 实验 六:分析linux内核创建一个新进程的过程

    实验六:分析Linux内核创建一个新进程的过程 作者:王朝宪  <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029 ...

  6. Java-JDK动态代理(AOP)使用及实现原理分析

    Java-JDK动态代理(AOP)使用及实现原理分析 第一章:代理的介绍 介绍:我们需要掌握的程度 动态代理(理解) 基于反射机制 掌握的程度: 1.什么是动态代理? 2.动态代理能够做什么? 后面我 ...

  7. R语言——实验5-聚类分析

    针对课件中的例子自己实现k-means算法 调用R语言自带kmeans()对给定数据集表示的文档进行聚类. 给定数据集: a)         数据代表的是文本信息. b)        第一行代表词 ...

  8. 错误注入 异常行为 环境变量或代码动态激活来触发这些异常行为 模拟错误 容错性 正确性 稳定性 宏 本质 macro

    小结: 1. 微服务中某个服务出现随机延迟.某个服务不可用. 存储系统磁盘 IO 延迟增加.IO 吞吐量过低.落盘时间长. 调度系统中出现热点,某个调度指令失败. 充值系统中模拟第三方重复请求充值成功 ...

  9. [ipsec][strongswan] strongswan源码分析-- (二)rekey/reauth机制分析

    目录 strongwan sa分析(二) 名词约定 rekey/reauth 机制分析 1 概述 2 reauth 3 CHILD SA rekey 4 IKE SA rekey 5 其他 stron ...

随机推荐

  1. MVC5中Model设置属性注解

    ASP.NET MVC5中Model层开发,使用的数据注解有三个作用: 数据映射(把Model层的类用EntityFramework映射成对应的表) 数据验证(在服务器端和客户端验证数据的有效性) 数 ...

  2. 配置spark集群

    配置spark集群 1.配置spark-env.sh [/soft/spark/conf/spark-env.sh] ... export JAVA_HOME=/soft/jdk 2.配置slaves ...

  3. 华为HCNP实验 防火墙安全区域及安全策略配置(USG6000)

    防火墙安全区域及安全策略配置   一.学习目的 掌握防火墙安全区域的配置方法 掌握安全策略的配置方法   二.拓扑图         三.场景 你是公司的网络管理员.公司总部的网络分成了三个区域,包括 ...

  4. Spark Broadcast内幕解密:Broadcast运行机制彻底解密、Broadcast源码解析、Broadcast最佳实践

    本课主题 Broadcast 运行原理图 Broadcast 源码解析 Broadcast 运行原理图 Broadcast 就是将数据从一个节点发送到其他的节点上; 例如 Driver 上有一张表,而 ...

  5. SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解

    (1) 在SAP CRM里创建一个Lead后,会观察到有一个Opportunity自动生成,这是通过什么后台逻辑实现的呢? 检查前台日志或者后台事务码SLG1,发现有很多属于用户WF-BATCH的日志 ...

  6. NGUI UILabel文字宽度和 UITweener

    做个记录 方便别人和自己以后查找. NGUI UILabel   文字宽度 高度 mLabel.GetComponent<UILabel>().getLabWidth()   mLabel ...

  7. iOS - CocoaPods 和 Carthage 的比较

    CocoaPods 好处? 开发 iOS 项目不可避免地要使用第三方开源库,CocoaPods 的出现使得我们可以节省设置和更新第三方开源库的时间 在引入第三方库时它可以自动为我们完成各种各样的配置, ...

  8. BZOJ3143:[HNOI2013]游走(高斯消元)

    Description 一个无向连通图,顶点从1编号到N,边从1编号到M. 小Z在该图上进行随机游走,初始时小Z在1号顶点,每一步小Z以相等的概率随机选 择当前顶点的某条边,沿着这条边走到下一个顶点, ...

  9. geos学习笔记:安装和使用

    1.首先在https://trac.osgeo.org/geos下载geos-3.6.2.tar.bz2 解压后 cd geos- ./configue //或选择安装的目录./configure - ...

  10. [转]C# 指针之美

     将C#图像库的基础部分开源了(https://github.com/xiaotie/GebImage).这个库比较简单,且离成熟还有一段距离,但它是一种新的开发模式的探索:以指针和非托管内存为主的C ...