GRE原理
GRE简介:
General Routing Encapsulation,简称GRE,是一种三层VPN封装技术。GRE可以对某些网络层协议(如IPX、Apple Talk、IP等)的报文进行封装,使封装后的报文能够在另一种网络中(如IPv4)传输,从而解决了跨越异种网络的报文传输问题。异种报文传输的通道称为Tunnel(隧道)。
GRE报文封装:
图:GRE报文格式
其中:
净荷(Payload):系统收到的需要封装和路由的数据报称为净荷。
乘客协议(Passenger Protocol):封装前的报文协议称为乘客协议。
封装协议(Encapsulation Protocol):上述的GRE协议称为封装协议,也称为运载协议(Carrier Protocol)。
传输协议(Transport Protocol或者Delivery Protocol):负责对封装后的报文进行转发的协议称为传输协议。
GRE能够承载的乘客协议包括IPv4、IPv6和MPLS协议,GRE所使用的运输协议是IPv4协议。
GRE首部各字段解释如下:
图:GRE报文抓包示例
GRE的的上层协议是IP,协议号为47.
GRE的实现–隧道接口:
隧道接口(Tunnel接口)是为实现报文的封装而提供的一种点对点类型的虚拟接口,与Loopback接口类似,都是一种逻辑接口。
隧道接口必须配置的四项:封装类型、隧道接口地址、源地址、目的地址。
GRE的应用场景:
GRE over IPSec
IPv6 over IPv4
扩大条数受限的网络工作范围
GRE的优缺点:
优点:
支持多种上层协议
支持组播,QoS
支持组播,就意味着可以运行组播类协议,如动态路由。
缺点:~薄弱的安全性
不支持加密
较弱的身份认证机制
GRE over IPSec
IPSec的优缺点分析:
IPSec缺点:
只支持IP协议的封装,不支持多层上层协议
不支持组播
IPSec的优点 —较强的安全性:
支持加密
支持身份验证机制
支持数据完整性校验
GRE 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隧道的目的端地址。
GER over IPSec的两种封装模式:
(1) 传输模式 -------建议采用
2个IP头部 原始IP头部 GRE头部
(2) 隧道模式
3个IP头部 原始IP头部 GRE头部 IPSEC头部
GRE over IPSec配置实验
实验拓扑图:
FW1和FW2之间建立GRE over IPSec隧道,使PC1网络好PC2网络用户可通过隧道互相访问。
图:GRE Over IPSec实验拓扑图
安全策略的放行:
图:安全策略的放行
注意:关于需不需要放行gre流量的问题。
因为gre头部是在esp头部或公网IP头部中封装的,实际流量会被esp加密传输。应该是不需要放行gre的,但是在实际测试中需要放行。
在华为防火墙实际测试中,放行gre流量后IPSec SA可以正常建立,双方的主机也可以互相通信。而不放行gre的话,IPSec SA可以正常建立,但是双方的主机不能互相通信。
检查测试:
图:PC1与PC2的连通性测试
注意:当在Tunnel口调用IPSec后,可以成功建立IPSec SA,需要流量的触发。但是在防火墙的Web管理界面的IPSec监控中看不到有关IPSec的信息,只能通过命令行查看。
在配置IPSec Profile(模板)的时候:
不能配置远端的IP地址
在Tunnel口上绑定IPSec策略时,放行gre的流量的方向是,从vpn --> local的方向的流量。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
转自:CSDN博主