网络工程师如何在EVE模拟器用思科路由器配置GRE Over IPsec ?

原文发布于 2020-12-22 09:42

前面我们分享过在eve模拟器环境下,使用思科路由器配置手工方式的IPsec V-P-N,但现实中往往不是两边站点各只有一个网段,可能会有很多网段,这就需要站点之间跑动态路由协议。但是站点之间通过IPsec V-P-N互联会有个问题:就是没有虚拟隧道接口,无法跑动态路由协议。例如跑OSPF两边无法建立邻居。所以,接下来龙哥通过分享GRE over IPsec V-P-N的配置案例,来了解看看这个问题是如何解决的?

一、拓扑图

grepconsole使用方法 grep -ev_IP

2、需求(目的)

1、需要解决两个站点之间跑动态路由协议,能学习到对端路由。

2、需要解决安全性问题,因为使用GRE,是不安全的(明文),所以需要再GRE之下跑IPsec V-P-N解决安全性问题。

3、配置思路

1、搭建好拓扑图环境,标出规划好的IP地址。

2、修改网络设备默认名称、配置好IP地址。

3、配置分公司与总部网关设备的路由,使之互通。(这里使用默认路由)

4、配置GRE,创建虚拟隧道口,配置隧道口IP地址。

5、配置R1、R3的router id、OSPF路由协议。

6、利用ACL配置IPsec 感兴趣流。

7、配置IPsec(这里使用ike)。

8、把IPsec 策略调用到出接口下。

4、配置过程

01、搭建好拓扑图环境,标出规划好的IP地址。

关于eve模拟器如何添加设备,可参考我往期文章:

手把手教你安装eve-ng模拟器,带你遨游网络技术世界!

02、修改网络设备默认名称、配置好IP地址。

R1配置(分公司网关设备)

grepconsole使用方法 grep -ev_R3_02

 

R2(模拟互联网)

grepconsole使用方法 grep -ev_IP_03

 

R3(模拟公司总部)

grepconsole使用方法 grep -ev_R3_04

 

03、配置分公司与总部网关设备的路由,使之互通。

分公司的网关和总部网关设备必须能通信,你想想,现网中只要你接入运营商的网络,就能上公网,两个站点肯定能ping通。所以本实验中,用默认路由来实现两端网关设备互通的问题。

在R1配置默认路由:

R1(config)#ip route 0.0.0.0 0.0.0.0 12.1.1.2

在R3配置默认路由:

R3(config)#ip route 0.0.0.0 0.0.0.0 23.1.1.2

配置完路由后,测试一下两边站点的连通性:

grepconsole使用方法 grep -ev_grepconsole使用方法_05

 

04、配置GRE,创建虚拟隧道口,配置隧道口IP地址。

grepconsole使用方法 grep -ev_grepconsole使用方法_06

我们在两个站点间的网关设备,各起一个GRE的隧道接口,配置同网段IP地址:

 

在R1配置GRE:

grepconsole使用方法 grep -ev_R3_07

在R3配置GRE:

grepconsole使用方法 grep -ev_IP_08

配置GRE后,可以测试一下 R1和R3的虚拟隧道接口连通性:(此刻,它们就好比是直连一样。)

grepconsole使用方法 grep -ev_IP_09

05、配置R1、R3的router id、OSPF路由协议

R1配置如下:

grepconsole使用方法 grep -ev_OSPF_10

 

R3配置如下:

grepconsole使用方法 grep -ev_IP_11

现在,我们来查看一下OSPF 邻居状态如何?以及是否学习到对端的路由了?

grepconsole使用方法 grep -ev_R3_12

 

grepconsole使用方法 grep -ev_grepconsole使用方法_13

 

R1学习到总部的路由了:

grepconsole使用方法 grep -ev_IP_14

R3学习到分公司的路由了:

grepconsole使用方法 grep -ev_grepconsole使用方法_15

 

现在,我们把tunnel 口 shutdown一下,然后在网关出接口抓包看一下:(这里抓包,龙哥的目的是为了待会配置IPsec V-P-N后再做个对比)

grepconsole使用方法 grep -ev_IP_16

 

grepconsole使用方法 grep -ev_grepconsole使用方法_17

grepconsole使用方法 grep -ev_IP_18

同时,我们也再次学习到了,GRE的协议号是47。

grepconsole使用方法 grep -ev_OSPF_19

 

grepconsole使用方法 grep -ev_R3_20

我们可以看到GRE外层的IP,使用的是网关出接口的IP地址。

06、利用ACL配置IPsec 感兴趣流

现在两边站点跑OSPF是通过GRE,包括正常的业务数据也是通过GRE来封装了:

grepconsole使用方法 grep -ev_grepconsole使用方法_21

grepconsole使用方法 grep -ev_grepconsole使用方法_22

所以,接下来,我们配置感兴趣流,只需匹配GRE的流量就可以了。

在R1配置GRE感兴趣流:

grepconsole使用方法 grep -ev_grepconsole使用方法_23

在R3配置GRE感兴趣流:

grepconsole使用方法 grep -ev_R3_24

07、配置IPsec(这里使用ike)

grepconsole使用方法 grep -ev_IP_25

grepconsole使用方法 grep -ev_OSPF_26

08、把IPsec 策略调用到出接口下。

R1(config)#int e0/0
R1(config-if)#crypto map R1toR3 
R1(config)#int e0/0
R1(config-if)#crypto map R1toR3

 

当IPsec 策略在接口下调用,可以看到日志信息,开始协商了:

grepconsole使用方法 grep -ev_R3_27

grepconsole使用方法 grep -ev_grepconsole使用方法_28

 

因为我的抓包一直是开启着,所以接下来,我直接在R1带源地址继续ping 总部地址,然后再看看报文。

grepconsole使用方法 grep -ev_IP_29

grepconsole使用方法 grep -ev_OSPF_30

从报文看,我们可以发现,ICMP报文已经被ESP协议封装了,即被IPsec加密了,我们无法看到里面的内容。

grepconsole使用方法 grep -ev_R3_31

而且两边站点OSPF定期发的hello报文,也被加密,我们无法看到真正的内容,所以安全性提高了。

 

配置IPsec,我们查看OSPF邻居,Full的。

grepconsole使用方法 grep -ev_OSPF_32

顺便也验证一下其他网段连通性:(都没问题)

grepconsole使用方法 grep -ev_OSPF_33

看完本期文章您是否有收获了呢?

https://zhuanlan.zhihu.com/p/338611579

发布于 2020-12-22 09:42

 

下面是我的总结:

grepconsole使用方法 grep -ev_grepconsole使用方法_34