【原创】带 NAT 的 GRE over IPSEC

2020-05-11 15:40:18 浏览数 (1)

最近一小伙伴问我 Gre Over IPSEC 的配置,我写出贴子如下,请大佬指教!

相比网上的 Gre over IPSEC,本配置中对企业内的数据流进行了加密,对企业访问 Internet 的数据流未加密,保证了效率和安全的平衡!

一、拓扑

要求:

1. R2、R3、R4 模拟运营商网络,运行 ISIS 协议。

2.R1、R5 分别模拟企业网的边界路由器,其分别具备公网 IP 地址 12.1.1.1/24 和 45.1.1.5/24。

3. R1、R5 之间配置 IPSEC,保证企业数据可以通过加密安全传输。

4. R1、R5 背后的企业网可以正常访问 Internet。

二、配置

1.基本配置(省略)。

2.在 R2、R3、R4 上配置 ISP 网络。

① R3 上的配置

② R2 上的配置

③ R4 上的配置

配置完成之后,在 R3 上查看 ISIS 邻居关系。

使用 R2 的 e0/0 接口测试 R4 的 e0/1 接口,查看公网路由的连通性。

可以看到公网路由完好。

3. 企业边界路由器 R1、R5 上的配置

① R1 上配置Gre Tunnel

在配置 Gre Tunnel 前,必须保证企业边界路由器 R1、R5 之间的互通,并且要保证企业内的PC 可以正常访问 ISP 的公网,所以在 R1 和 R5 上配置缺省路由。

② R5 上配置Gre Tunnel

此时在 R1 和 R5 上测试 tunnel 的连通性。

③ 在 R1 和 R5 上配置 NAT 功能

因为企业网内部的 PC 要访问 ISP 上的公网,并且不需要加密,故需配置NAT 功能。

配置完 NAT 后,在 R1 上使用 loopback 访问 ISP 网络地址。

④ R1、R5 上配置 loopback0 互访的路由,用于模拟企业网中的 PC 互访,亦即需要加密的流量部分。

此时再测试 R1、R5 的 loopback0 的连通性。

此时说明 R1、R5 背后的企业网可以互通,我们下面对其进行加密。

⑥ R1 上的 IPSEC 配置

⑦ R5 上的 IPSEC 配置

此时 IPSEC 配置完成。

三、测试

① 测试 R1、R5 背后的企业网互访时是否加密。

明显看到 R1、R5 背后的企业网互访时是加密的。

② 测试 R1、R5 背后的企业网访问 ISP 网络时是否加密。

由于要 R5 的 e0/1 上进行了 NAT 转换,故抓包时使用的是 R5 的 e0/1 接口上的地址做为源地址。

③ 使用 R1 的 loopback0 访问 R5 的公网地址(即 R5 的 e0/1 接口)。

明显看到 R1 背后的企业网访问另一侧的边界路由器 R5 的公网 IP 时,还是加密的。

从抓包中可以看,企业网内部的 PC 访问公网中的任何地址时,不会对流量加密。

至此,带 NAT 功能的 IPSEC 配置完成,并且保证了该加密的流量,不该加密的不加密,综合考虑了效率和安全的需求。

最后思考:为什么可以在 GRE OVER IPSEC 中可以带上 NAT?

因为当 R1 背后的企业网访问公网中时,经过 NAT 转换,源 IP 地址转换为 R1 的公网 IP— —12.1.1.1/24,而目标地址却为公网中的 IP 地址,即并非为 R5 侧的企业网地址 5.5.5.0/24,故不会被访问控制列表 R1TOR5 抓取,这样就不会被加密。

而当 R1 背后的企业网访问 R5 背后的企业网时,则由于 R1 上定义了去往 R5 背后企业网的静态路由Ip route 5.5.5.0 255.255.255.0 tunnel 15 。故该流量会走 tunnel15,而走 tunnel15 时,必会带上 GRE 头部和 tunnel15 的源、目地址,即会加上 R1 的 e0/0 和 R5 的 e0/1 地址,这样,就会被 R1TOR5 抓取,这样就会进行加密。

0 人点赞