华为eSPN防火墙GRE VPN配置

GRE协议概述

GRE示意图
GRE(General Routing Encapsulation,通用路由封装)是对某些网络层协议(如IPX、IP、AppleTalk等)的报文进行封装,使这些被封装的报文能够在另一网络层协议中传输。

GRE提供了将一种协议的报文封装在另一种协议报文中的机制,使报文能够在异种网路中传输,封装后报文的传输通道成为Tunnel。

Tunnel是一个虚拟的点对点的连接,可以看成仅支持点对点连接的虚拟接口,这个接口提供了一条通路,使封装的数据报能够在这个通路上传输,并在一个Tunnel的两端分别对数据报进行封装和解封装。


Tunnel隧道接口

隧道接口包含以下元素:

  • 源地址:报文传输协议中的源地址,从负责封装后报文传输的网络来看,隧道的源地址就是实际发送报文的接口IP地址

  • 目的地址:报文传输协议中的目的地址。从负责封装后报文传输的网络来看,隧道本端的目的地址就是隧道目的端的IP地址。

  • 隧道接口IP地址:为了在隧道接口上启用动态路由协议,或使用静态路由协议发布隧道接口,要为隧道接口分配IP地址。隧道接口的IP地址可以不是公网地址,甚至可以借用其他接口的IP地址以节约IP地址。但是当Tunnel接口借用IP地址时,由于Tunnel接口本身没有IP地址,无法在此接口上启用动态路由协议,必须配置静态路由或策略路由才能实现路由器间的连通性。

  • 封装类型: 隧道接口的封装类型是指该隧道接口对报文进行的封装方式。一般有以下四种封装方式:GRE、MPLS TE、IPv6-IPv4、IPv4-IPv6。


GRE的实现—封装与解封装

在这里插入图片描述
报文从FWA到FWB的传输流程:

  1. FWA从连接私网的接口接收到来自私网的报文后,首先交由私网上运行的协议模块处理。
  2. 私网协议模块检查私网报文头中的目的地址并在私网路由表或转发表中查找出接口,确定如何路由此包。如果发现出接口是Tunnel接口,则将此报文发给隧道模块
  3. 隧道模块接收到报文后进行如下处理:
    ①隧道模块根据乘客报文的协议类型和当前GRE隧道所配置的Key和Checksum参数,对报文进行GRE封装,即添加GRE头。
    ②根据配置信息,给报文加上IP头。该IP头的源地址就是隧道源地址,IP头的目的地址就是隧道目的地址。
    ③将该报文交给IP模块处理,IP模块根据该IP头目的地址,在公网路由表中查找相应的出接口并发送报文,之后,封装后的报文将在该IP公共网络中传输。
  4. 解封装过程和封装过程相反。FWB从连接公网的接口收到该报文,分析IP头发现报文的目的地址为本设备,且协议字段值为47,表示为GRE(参见RFC1700),于是交给GRE模块处理。GRE模块去掉IP头和GRE报头,并根据GRE头的Protocol Type字段,发现此报文的乘客协议为私网上运行的协议,于是交由此协议处理。此协议像对待一班数据报一样对此数据报进行转发。

GRE VPN的配置

GRE VPN配置思路

GRE VPN配置思路
注:配置Tunnel逻辑接口时,需要指定GRE隧道使用的源地址及目的地址。配置到对端网络内网网段的路由时,下一跳为Tunnel接口

配置命令

配置情境图
配置防火墙A:
①基本配置(略)

②创建并配置Tunnel接口

  1. 创建Tunnel接口并进入接口视图
    interface tunnel 1

  2. 给Tunnel接口配置IP地址
    ip address 10.1.1.1 24

  3. 配置Tunnel接口的封装协议
    tunnel-protocol gre

  4. 配置Tunnel隧道的源地址
    source 1.1.1.1

  5. 配置Tunnel隧道的目的地址
    destination 5.5.5.5

③配置从防火墙A经过Tunnel1接口到Group2的静态路由
ip route-static 10.3.2.0 24 tunnel 1

④防火墙B的配置与A基本一致,只需调换隧道的源地址和目的地址及默认路由

注:Tunnel的源端地址和目的端地址位移标识了一个通道,两端地址应互为源地址和目的地址

展开阅读全文

没有更多推荐了,返回首页