8.5、GRE原理与配置

8.5、GRE原理与配置

  • 前言
    • IPSec v*n用于在两个端点之间提供安全的IP通信,但只能加密并传播单播数据,无法加密和传输语音、视频、动态路由协议信息等组播数据流量
    • 通用路由封装协议GRE(Generic Routing Encapsulation)提供了将一种协议的报文封装在另一种协议报文中的机制,是一种隧道封装技术。GRE可以封装组播数据,并可以和IPSec结合使用,从而保证语音、视频等组播业务的安全
      • 日常生活中,需要提供视频会议、传播语音。对于组播数据流量,可以通过通用路由封装协议GRE进行传播。但是GRE不能够提供加密,要想实现组播业务的安全性,可将IPSec和GRE结合使用
  • GRE应用场景
    • 8.5、GRE原理与配置
    • GRE支持将一种协议的报文封装在另一种协议报文中
      • eg
        • 当IPSec技术创建一个隧道以后,无法进行传输OSPF路由协议、RIP路由协议,这时可以通过GRE将路由信息封装在另一种协议报文中进行传输
    • GRE可以解决异种网络传输问题
      • eg
        • 企业分支和企业网络实现的是IPX的协议,但是运营商使用的是IP协议。此时两者之间不能进行通信,但是通过GRE可以实现两者的通信
    • 8.5、GRE原理与配置
    • GRE隧道扩展了受跳数限制的路由协议的工作范围,支持企业灵活设计网络拓扑
      • Eg
        • 在IPSec路由器之间假设有20台路由器,路由器之间运行的是RIP协议,路由器之间的最大跳数是15,超过15之后设备无法通信。由于网络中有20个路由器,所以使用RIP无法进行通信
        • 此时可以通过GRE隧道,对于GRE隧道使用RIP协议,对于RIP协议来讲不管中间有多少台路由器,实际上中间RIP检查到的只有两台,因为做了隧道,所以只识别RTC和RTD两台路由器,这样就可以扩大网络的工作范围
    • 8.5、GRE原理与配置
    • 首先通过GRE对报文进行封装,然后再由IPSec对封装后的报文进行加密和传输
    • GRE本身是不支持加密的,可以通过IPSec来进行保证报文的安全性
  • GRE报文结构
    • 8.5、GRE原理与配置
    • GRE在封装数据时,会添加GRE头部信息,还会添加新的传输协议头部信息
      • 正常的数据是IP报文加数据,但是传输数据时要经过GRE隧道。经过GRE隧道时会添加一个GRE头部信息,再加上一个IP地址,这是IP地址是外层地址,另一个是内层地址
  • GRE关键字验证
    • 8.5、GRE原理与配置
    • 隧道两端设备通过关键字字段(Key)来验证对端是否合法
      • GRE提供一定的验证的,但是验证方法非常弱,只是通过Key关键字进行验证
  • Keepalive检测
    • 8.5、GRE原理与配置
    • Keepalive检测功能用于检测隧道对端是否可达
      • 对于GRE而言,只要一端设置成功以后,物理链路进行UP,但是对端是否UP本端并不知道,所以通过检测技术检测对端是否可达。使用的是Keepalive检测方法
    • 当我们去使能Keepalive的检测功能之后,GRE隧道源端就会创建一个计时器来周期性的发送Keepalive的探测报文检测不可达数
      • 每发送一个探测报文不可达数就会加1,以此来检测对端的可达性
      • 配置时建议开启Keepalive检测
      • Keepalive默认是关闭的,需要我们去进行开启。Keepalive可以检测隧道链路是否是处于Keepalive的状态,是否是可达的。
        • 如果不可达,隧道连接就会被关闭
  • GRE配置
    • 8.5、GRE原理与配置
    • GRE配置比较简单
      • 1、创建一个Tunnel接口
      • 2、配置IP地址
        • 使用公网地址
      • 3、指定Tunnel协议为GRE协议
      • 4、配置隧道对端地址
        • 源地址
        • 目的地址
      • 配置一个静态路由指定Tunnel接口转发的路由
        • 路由地址是GRE封装前原始报文的目的地址
        • 出接口是隧道的接口
  • 配置验证
    • 8.5、GRE原理与配置
    • 查看隧道状态
      • 隧道状态
      • 协议状态
      • 接口地址
      • Tunnel地址
        • 源地址
        • 目的地址
    • 8.5、GRE原理与配置
    • 查看路由
      • 静态路由
        • 静态路由的目的是之前的目的IP地址
        • 下一跳
        • 出接口
  • 配置Keepalive检测
    • 8.5、GRE原理与配置
    • 配置Keepalive检测
      • 直接在隧道下开启Keeplive检测即可
        • 默认重传次数是3
        • 发送周期是5s
  • 配置验证
    • 8.5、GRE原理与配置
    • 查看Keepalive配置
      • 重传次数是3次
      • 发送周期是3s
  • 总结
    • GRE的应用场景有哪些?
      • 1、解决异种网络的问题
      • 2、扩展受跳数限制的路由协议工作范围
      • 3、IPSec结合实现加密传输组播数据
    • Display interface tunnel命令显示的信息中会包含Internet Address和Tunnel source,这两种的区别是什么?
      • Internet Address
        • GRE隧道使用的虚拟隧道地址
      • Tunnel source
        • 表示隧道起点的地址,是设备出口的物理地址
      • 两者最大区别
        • 一个是物理地址,一个是虚拟的隧道地址