二、GRE(Generic Routing Encapsulation,通用路由封装协议)

2 GRE

2.1 概念

GRE(Generic Routing Encapsulation,通用路由封装协议),是一种传统的隧道协议技术。GRE对某些网络层协议的数据报进行封装,使这些被封装的数据报能够在IPv4网络中传输。

2.2 GRE的封装/解封装

GRE的封装可以细分为两步:
(1)在私网原始报文的前面添加GRE头;
(2)在GRE头前面添加新的IP头。
在防火墙上,封装操作通过一个Tunnel(隧道)接口实现。报文进入Tunnel接口后,防火墙就会为报文封装GRE头和新IP头。防火墙对私网报文进行封装、解封及转发的全过程如图1所示。
在这里插入图片描述
图1 GRE报文转发过程
PC_A通过GRE隧道访问PC_B时,FW_A和FW_B上的报文转发过程为:
(1)PC_A访问PC_B的原始报文进行FW_A后,首先匹配路由表,根据匹配结果FW_A送到Tunnel接口进行GRE封装,增加GRE头、外层新IP头;
(2)FW_A根据封装后报文的新IP头的目的地址再次查找路由表,假设FW_A查找到去往FW_B的下一跳地址为1.1.1.2。
(3)FW_B接收报文后,首先判断报文是不是GRE报文(报文新IP头中的Protocol字段的值为47,即是GRE报文,否则不是),若是GRE报文,则报文送到Tunnel接口解封装,去掉IP头、GRE头,恢复为原始报文。
(4)FW_B根据原始报文的目的地址再次查找路由表,根据匹配结果将报文发送至PC_B。

2.3 GRE的安全机制

恶意用户伪装成FW_A向FW_B发送GRE报文,则伪装者可访问FW_B的资源,为了避免这种情况的发生,GRE配置了以下安全机制。

2.3.1 关键字验证

防火墙只处理与自身建立连接GRE隧道的对端设备发送的GRE报文,GRE头中的“Key”字段用来保证这一功能的实现。只有两端设置的Key字段完全一直才能建立隧道。

2.3.2校验和验证

虽然GRE隧道两端防火墙实现了通信,但是报文在Internet传输途中可能被篡改,为保证报文传输的完整性,防火墙在封装GRE头时,将GRE头中的Checksum位的值置1,然后根据报文信息计算校验和,并将校验和填到Checksum字段中。当对端收到报文也会计算校验和并与报文中携带的校验和进行比较,一致则接受,否则丢弃。

2.3.3 Keepalive

当一端防火墙出现问题时,另一端发送的探测报文无法检测到对端状态,则会关闭隧道,这样避免了对端不可达而造成的数据黑洞。

2.4 GRE的缺陷

没有加密功能,通常配合IPSec使用,即GRE over IPSec技术

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值