前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GRE over IPSec技术原理,值得一看!

GRE over IPSec技术原理,值得一看!

作者头像
网络技术联盟站
发布2023-03-14 09:08:52
2.5K0
发布2023-03-14 09:08:52
举报
文章被收录于专栏:网络技术联盟站
Part1GRE原理

1GRE简介

General Routing Encapsulation,简称GRE,是一种三层V**封装技术。GRE可以对某些网络层协议(如IPX、Apple Talk、IP等)的报文进行封装,使封装后的报文能够在另一种网络中(如IPv4)传输,从而解决了跨越异种网络的报文传输问题。异种报文传输的通道称为Tunnel(隧道)。

2GRE报文封装:

图:GRE报文格式

其中:

  • 净荷(Payload):系统收到的需要封装和路由的数据报称为净荷。
  • 乘客协议(Passenger Protocol):封装前的报文协议称为乘客协议。
  • 封装协议(Encapsulation Protocol):上述的GRE协议称为封装协议,也称为运载协议(Carrier Protocol)。
  • 传输协议(Transport Protocol或者Delivery Protocol):负责对封装后的报文进行转发的协议称为传输协议。

GRE能够承载的乘客协议包括IPv4、IPv6和MPLS协议,GRE所使用的运输协议是IPv4协议。

GRE首部各字段解释如下:

字段

长度

描述

C

1 bit

校验和验证位。如果该位置1,表示GRE头插入了校验和(Checksum)字段;该位为0表示GRE头不包含校验和字段。

K

1 bit

关键字位。如果该位置1,表示GRE头插入了关键字(Key)字段;该位为0表示GRE头不包含关键字字段。

Recursion

3 bits

用来表示GRE报文被封装的层数。完成一次GRE封装后将该字段加1。如果封装层数大于3,则丢弃该报文。该字段的作用是防止报文被无限次的封装。

Flags

5 bits

预留字段。当前必须设为0。

Version

3 bits

版本字段,必须置为0。Version为1是使用在RFC2637的PPTP中。

Protocol Type

16 bits

乘客协议的协议类型。

Checksum

16 bits

对GRE头及其负载的校验和字段。

Key

31 bits

关键字字段,隧道接收端用于对收到的报文进行验证。

因为VRP中的GRE头不包含源路由字段,因此Bit 1、Bit 3和Bit 4都置为0。

图:GRE报文抓包示例

GRE的的上层协议是IP,协议号为47.

3GRE的实现–隧道接口:

隧道接口(Tunnel接口)是为实现报文的封装而提供的一种点对点类型的虚拟接口,与Loopback接口类似,都是一种逻辑接口。

隧道接口必须配置的四项:封装类型、隧道接口地址、源地址、目的地址。

4GRE的应用场景:

  • GRE over IPSec
  • IPv6 over IPv4
  • 扩大条数受限的网络工作范围
  • GRE V**

5GRE的优缺点:

优点:

  • 支持多种上层协议
  • 支持组播,QoS 支持组播,就意味着可以运行组播类协议,如动态路由。

缺点:–薄弱的安全性

  • 不支持加密
  • 较弱的身份认证机制
  • 较弱的数据完整性校验

Part2GRE over IPSec

6IPSec的优缺点分析:

IPSec缺点:

  • 只支持IP协议的封装,不支持多层上层协议
  • 不支持组播

IPSec的优点 —较强的安全性:

  • 支持加密
  • 支持身份验证机制
  • 支持数据完整性校验

7GRE over IPSec:

GRE over IPSec可利用GRE和IPSec的优势,通过GRE将组播、广播和非IP报文封装成普通的IP报文,通过IPSec为封装后的IP报文提供安全地通信,进而可以提供在总部和分支之间安全地传送广播、组播的业务,例如视频会议或动态路由协议消息等。

当网关之间采用GRE over IPSec连接时,先进行GRE封装,再进行IPSec封装。GRE over IPSec使用的封装模式为可以是隧道模式也可以是传输模式。因为隧道模式跟传输模式相比增加了IPSec头,导致报文长度更长,更容易导致分片,所以推荐采用传输模式GRE over IPSec。

图:GRE over IPSec报文封装和隧道协商过程

IPSec封装过程中增加的IP头即源地址为IPSec网关应用IPSec安全策略的接口地址,目的地址即IPSec对等体中应用IPSec安全策略的接口地址。

IPSec需要保护的数据流为从GRE起点到GRE终点的数据流。GRE封装过程中增加的IP头即源地址为GRE隧道的源端地址,目的地址为GRE隧道的目的端地址。

8GER over IPSec的两种封装模式:

(1) 传输模式 -------建议采用

  • 2个IP头部 原始IP头部 GRE头部

(2) 隧道模式

  • 3个IP头部 原始IP头部 GRE头部 IPSEC头部

Part3GRE over IPSec配置实验

9实验拓扑图:

FW1和FW2之间建立GRE over IPSec隧道,使PC1网络好PC2网络用户可通过隧道互相访问。

图:GRE Over IPSec实验拓扑图

10实验一:IPSec策略在物理接口调用:

配置思路:

第一步:完成接口基本配置。

第二步:分别创建GRE隧道接口,并配置 GRE 隧道接口的 IP 地址、源地址和目的地址。

代码语言:javascript
复制
FW1:
interface Tunnel0
 ip address 172.16.1.1 255.255.255.0 
 tunnel-protocol gre
 source 202.100.1.10
 destination 202.100.1.11

FW2
interface Tunnel0
 ip address 172.16.1.2 255.255.255.0 
 tunnel-protocol gre
 source 202.100.1.11
 destination 202.100.1.10

第三步:配置静态路由,将出接口指定为 GRE 隧道接口,将流量引入到隧道中。

注意:也可以动态路由方式

代码语言:javascript
复制
FW1:
 ip route-static 10.1.2.0 255.255.255.0 Tunnel0

FW2
 ip route-static 10.1.1.0 255.255.255.0 Tunnel0

第四步:配置 IPSec 隧道。包括配置 IPSec 策略的基本信息、配置待加密的数据流和配置安全提议。

IPSEC配置:

阶段一:

代码语言:javascript
复制
ike proposal 10
 authentication-algorithm sha2-256
 integrity-algorithm aes-xcbc-96 hmac-sha2-256

ike peer 10           
 pre-shared-key Huawei@123
 ike-proposal 10  
 remote-address 202.100.1.11

阶段二:

代码语言:javascript
复制
acl number 3000
 rule 5 permit ip source 202.100.1.10 0 destination 202.100.1.11 0

注意: 保护的是GRE的隧道

代码语言:javascript
复制
ipsec proposal 10  
 encapsulation-mode auto
 esp authentication-algorithm sha2-256
#
ipsec policy ipsec_policy 10 isakmp
 security acl 3000
 ike-peer 10  
 proposal 10  


interface GigabitEthernet0/0/2  --------------在物理接口调用 
 ip address 202.100.1.10 255.255.255.0
 ipsec policy ipsec_policy

安全策略的放行:

图:安全策略的放行

注意:关于需不需要放行gre流量的问题。 因为gre头部是在esp头部或公网IP头部中封装的,实际流量会被esp加密传输。应该是不需要放行gre的,但是在实际测试中需要放行。 在华为防火墙实际测试中,放行gre流量后IPSec SA可以正常建立,双方的主机也可以互相通信。而不放行gre的话,IPSec SA可以正常建立,但是双方的主机不能互相通信。

检查测试:

图:PC1与PC2的连通性测试


图:IPSec SA状态

11实验二:IPSec策略在Tunnel口调用:

配置思路:

IPSEC 配置思路:

阶段一:

代码语言:javascript
复制
ike proposal 10
 authentication-algorithm sha2-256
 integrity-algorithm aes-xcbc-96 hmac-sha2-256
#
ike peer 10            
 pre-shared-key Huawei@123
 ike-proposal 10

注意:不能配置remote-address.

阶段二:

不需要感兴趣流

代码语言:javascript
复制
ipsec proposal 10
 encapsulation-mode auto
 esp
#
ipsec profile ipsec_pro
 ike-peer 10
 proposal 10

不能调用ACL

调用:

代码语言:javascript
复制
interface Tunnel0
 ipsec profile ipsec_pro

放行策略:

代码语言:javascript
复制
security-policy
 rule name IPSEC1
  source-zone local
  source-zone untrust
  destination-zone local
  destination-zone untrust
  source-address 202.100.1.10 mask 255.255.255.255
  source-address 202.100.1.11 mask 255.255.255.255
  destination-address 202.100.1.10 mask 255.255.255.255
  destination-address 202.100.1.11 mask 255.255.255.255
  service ISAKMP
  service esp
  action permit

 rule name IPSEC2
  source-zone trust
  source-zone v**
  destination-zone trust
  destination-zone v**
  source-address 10.1.1.0 mask 255.255.255.0
  source-address 10.1.2.0 mask 255.255.255.0
  destination-address 10.1.1.0 mask 255.255.255.0
  destination-address 10.1.2.0 mask 255.255.255.0
  action permit    
                       
  rule name v**_local  ----------只需要放行V**-LOCAL
  source-zone v**
  destination-zone local 
  service gre
  action permit 

注意:当在Tunnel口调用IPSec后,可以成功建立IPSec SA,需要流量的触发。但是在防火墙的Web管理界面的IPSec监控中看不到有关IPSec的信息,只能通过命令行查看。 在配置IPSec Profile(模板)的时候:

  • 不能配置远端的IP地址
  • 不能绑定ACL,即感兴趣流

在Tunnel口上绑定IPSec策略时,放行gre的流量的方向是,从v** --> local的方向的流量。


参考文档:华为HedEx文档

代码语言:javascript
复制
5000字学习本地广播和定向广播,非常详尽!
最新整理的Linux命令大全,收藏!
OSPF和RIP个人总结,概念+区别,易于记忆,收藏!
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网络技术联盟站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1GRE简介:
  • 2GRE报文封装:
  • 3GRE的实现–隧道接口:
  • 4GRE的应用场景:
  • 5GRE的优缺点:
  • Part2GRE over IPSec
    • 6IPSec的优缺点分析:
      • 7GRE over IPSec:
        • 8GER over IPSec的两种封装模式:
        • Part3GRE over IPSec配置实验
          • 9实验拓扑图:
            • 10实验一:IPSec策略在物理接口调用:
              • 配置思路:
              • 检查测试:
            • 11实验二:IPSec策略在Tunnel口调用:
              • 配置思路:
          相关产品与服务
          弹性公网 IP
          弹性公网 IP(Elastic IP,EIP)是可以独立购买和持有,且在某个地域下固定不变的公网 IP 地址,可以与 CVM、NAT 网关、弹性网卡和高可用虚拟 IP 等云资源绑定,提供访问公网和被公网访问能力;还可与云资源的生命周期解耦合,单独进行操作;同时提供多种计费模式,您可以根据业务特点灵活选择,以降低公网成本。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档