GRE VPN_百度百科
收藏
0有用+1
0

GRE VPN

通用路由封装协议
GRE VPN(Generic Routing Encapsulation)即通用路由封装协议,是对某些网络层协议(如IPIPX)的数据报进行封装,使这些被封装的数据报能够在另一个网络层协议(如IP)中传输。
GREVPN(Virtual Private Network)的第三层隧道协议,即在协议层之间采用了一种被称之为Tunnel(隧道)的技术。
中文名
通用路由封装协议
外文名
Generic Routing Encapsulation
简    称
GRE VPN
特    点
GRE是一个标准协议,能够实施QOS

GRE的特点

播报
编辑
  • GRE是一个标准协议
  • 支持多种协议和多播
  • 能够用来创建弹性的VPN
  • 支持多点隧道
  • 能够实施QOS

GRE的缺点

播报
编辑
  • 缺乏加密机制
  • 没有标准的控制协议来保持GRE隧道(通常使用协议和keepalive)
  • 隧道很消耗CPU
  • 出现问题要进行DEBUG很困难
  • MTU和IP分片是一个问题

GRE协议栈

播报
编辑
GRE的协议栈,如图1:
图1

GRE包封装格式

播报
编辑
GRE的包封装格式,如图2:
图2

常见GRE载荷协议号

播报
编辑
如图3:
图3

IP over IP 的GRE封装

播报
编辑
图4
GRE over IPv4典型配置举例(路由应用)

GRE VPN基本配置

播报
编辑
  • 创建虚拟Tunnel接口[H3C]interface tunnelnumber
  • 指定Tunnel的源端[H3C-Tunnel0]source{ip-addr/interface-type/interface-num}
  • 指定Tunnel的目的端[H3C-Tunnel0]destinationip-address
  • 设置Tunnel接口的网络地址[H3C-Tunnel0]ip addressip-address mask
  • 配置通关Tunnel的路由

GRE over IPv4典型配置举例

播报
编辑
组网需求
路由器Router A和路由器Router B之间通过Internet相连。运行IP协议的私有网络的两个子网Group 1和Group 2,通过在两台路由器之间使用GRE建立隧道实现互联。
GRE over IPv4应用组网图
图5
配置步骤
# 配置接口Ethernet1/1。
<RouterA> system-view
[RouterA] interface ethernet 1/1
[RouterA-Ethernet1/1] ip address 10.1.1.1 255.255.255.0
[RouterA-Ethernet1/1] quit
# 配置接口Serial2/0(隧道的实际物理接口)。
[RouterA] interface serial 2/0
[RouterA-Serial2/0] ip address 1.1.1.1 255.255.255.0
[RouterA-Serial2/0] quit
# 创建Tunnel0接口。
[RouterA] interface tunnel 0
# 配置Tunnel0接口的IP地址
[RouterA-Tunnel0] ip address 10.1.2.1 255.255.255.0
# 配置Tunnel封装模式
[RouterA-Tunnel0] tunnel-protocol gre
# 配置Tunnel0接口的源地址(Serial2/0的IP地址)。
[RouterA-Tunnel0] source 1.1.1.1
# 配置Tunnel0接口的目的地址(Router B的Serial2/1的IP地址)。
[RouterA-Tunnel0] destination 2.2.2.2
[RouterA-Tunnel0] quit
# 配置从Router A经过Tunnel0接口到Group 2的静态路由
[RouterA] ip route-static 10.1.3.0 255.255.255.0 tunnel 0
配置路由器Router B
# 配置接口Ethernet1/1。
<RouterB> system-view
[RouterB] interface ethernet 1/1
[RouterB-Ethernet1/1] ip address 10.1.3.1 255.255.255.0
IPv4Group 2IPv4Group 1Eth1/110.1.1.1/24Eth1/110.1.3.1/24Tunnel010.1.2.1/24S2/01.1.1.1/24S2/12.2.2.2/24IPv4 networkGRE tunnelTunnel010.1.2.2/24Router ARouter B
[RouterB-Ethernet1/1] quit
# 配置接口Serial2/1(隧道的实际物理接口)。
[RouterB] interface serial 2/1
[RouterB-Serial2/1] ip address 2.2.2.2 255.255.255.0
[RouterB-Serial2/1] quit
# 创建Tunnel0接口。
[RouterB] interface tunnel 0
# 配置Tunnel0接口的IP地址。
[RouterB-Tunnel0] ip address 10.1.2.2 255.255.255.0
# 配置Tunnel封装模式。
[RouterB-Tunnel0] tunnel-protocol gre
# 配置Tunnel0接口的源地址(Serial2/1的IP地址)。
[RouterB-Tunnel0] source 2.2.2.2
# 配置Tunnel0接口的目的地址(Router A的Serial2/0的IP地址)。
[RouterB-Tunnel0] destination 1.1.1.1
[RouterB-Tunnel0] quit
# 配置从Router B经过Tunnel0接口到Group 1的静态路由。
[RouterB] ip route-static 10.1.1.0 255.255.255.0 tunnel 0