GRE简述
GRE 协议
通用路由封装协议(General Routing Encapsulation,GRE)是一种三层VPN封装技术。GRE可以对某些网络层协议(如IPX、IPv4、IPv6等)的报文进行封装,使封装后的报文能够在另一种网络中(如IPv4)传输,从而解决了跨越异种网络(公网)的报文传输问题。GRE协议可以在任意一种网络协议上传递其他任意一种网络协议。
GRE VPN
• GRE的IP协议号是47。
• 一种三层的VPN封装技术。
• 在任意一种网络协议上传送任意一种其他网络协议的封装方法。
• 可以支持组播,可以结合路由协议,例如:ospf,isis,rip等。
•可以与NAT互相兼容。
• 解决了跨越异种网络(不是一种网络)的报文传输问题,异种报文传输的通道被称为隧道(Tunnel),GRE tunnel接口默认的OSPF网络类型是P2P。
• 异种网络:不是同一种网络,这些网络默认是不兼容的,通讯是有问题的。
如:私网跨越公网到达私网,IPv4跨越IPv6到达IPv4,反之亦然。本身这个技术用到的方面很广,是一种隧道技术。
•GRE keepalive机制可以检测GRE隧道链路是否正常,可以支持单向配置
GRE 报文封装
GRE构成要素分为4个部分:载荷数据,载荷协议(乘客协议)、封装协议和承载协议(运输协议)。
载荷数据:数据源和目的之间传递的私网数据。
载荷协议(乘客协议):内层的IP头部,用于标识私网数据的真实源和目的,是指用户在传输数据时所使用的原始网络协议。
封装协议:VPN隧道的协议对内部数据进行封装,作用就是用来“包装”乘客协议对应的报文,使原始报文能够在新的网络中传输。
承载协议(运输协议):外层的IP头部,用于帮助封装之后的VPN数据传递,是指被封装以后的报文在新网络中传输时所使用的网络协议。
GRE报头中用以太类型0x0800代表载荷协议是IP
传输过程:
如图所示,载荷协议为IPv6,封装协议为GRE,承载协议为IPv4。整体转发流程如下:
当R1收到IP1发来的IPv6数据包,查询设备路由表,发现出接口是隧道接口,则将此报文发给隧道接口处理。
隧道接口给原始报文添加GRE头部,然后根据配置信息,给报文加上IP头。该IP头的源地址就是隧道源地址,IP头的目的地址就是隧道目的地址。
封装后的报文在IPv4网络中进行普通的IPv4路由转发,最终到达目的地R2。
GRE VPN 优缺点
优点:
支持多种上层协议
支持组播,QoS
支持组播,就意味着可以运行组播类协议,如动态路由。
缺点:
薄弱的安全性
不支持加密
较弱的身份认证机制
较弱的数据完整性校验
GRE配置
注:前提公网可达!!!!
必须有隧道源和目的!
华为GRE配置:
interface Tunnel0/0/0 //进入隧道接口视图
ip address 10.1.2.1 255.255.255.0 //配置隧道接口IP
tunnel-protocol gre //配置隧道模式(没有配置这个代码不能指定源目地址)
source GigabitEthernet0/0/0 //指定隧道源地址
destination 200.1.1.1 //指定隧道目的地址
华三GRE配置:
interface Tunnel0 mode gre //创建隧道并且模式为gre
ip address 10.1.18.8 255.255.255.0 //配置隧道IP地址
source GigabitEthernet1/0 //指定隧道源IP
destination 202.101.100.1 //指定隧道目的IP
思科GRE配置:
interface Tunnel0 //创建隧道接口
ip address 10.1.2.1 255.255.255.0 //配置隧道IP地址
tunnel source Ethernet0/0 //指定隧道源IP
tunnel destination 202.101.200.1 //指定隧道目IP
tunnel mode gre ip //指定隧道模式
tunnel key 12345 //设置隧道key
锐捷GRE配置:
Ruijie(config)#interface tunnel 1
Ruijie(config-if-Tunnel 1)# ip address 172.16.100.1 255.255.255.0 //配置GRE隧道地址
Ruijie(config-if-Tunnel 1)#tunnel source 222.100.100.1 //配置GRE隧道源IP(路由器R1的外接口IP)
Ruijie(config-if-Tunnel 1)#tunnel destination 222.200.200.1 //配置GRE隧道目的IP(路由器R2的外接口IP)
配置完成再结合路由协议,建立路由邻居关系,传递路由信息