GRE通过静态路由实现IPv4互通

拓扑:

fig_dc_cfg_gre_002101.png


配置步骤

1、所有设备之间运行OSPF路由协议实现设备间路由互通。

2、在RouterA和RouterC上创建Tunnel接口,创建GRE隧道,并在RouterA和RouterC上配置经过Tunnel接口的静态路由,使PC1和PC2之间的流量通过GRE隧道传输,实现PC1和PC2互通。

配置信息:

R1:

interface Tunnel0/0/1

 ip address 10.1.3.1 255.255.255.0

 tunnel-protocol gre

 source 20.1.1.1

 destination 30.1.1.1

#

ospf 1

 area 0.0.0.0

  network 20.1.1.1 0.0.0.0

#

ip route-static 10.1.2.0 255.255.255.0 Tunnel0/0/1


R3:

interface Tunnel0/0/1

 ip address 10.1.3.2 255.255.255.0

 tunnel-protocol gre

 source 30.1.1.1

 destination 20.1.1.1

#

ospf 1

 area 0.0.0.0

  network 30.1.1.1 0.0.0.0

#

ip route-static 10.1.1.0 255.255.255.0 Tunnel0/0/1

#


GRE通过OSPF实现IPv4互通

拓扑

1.png

配置步骤

1、在设备之间运行IGP协议实现设备互通,这里使用OSPF路由协议且进程1。

2、与PC相连的设备之间建立GRE隧道,并使能Keepalive功能,并配置与PC相连的网段运行IGP协议,这里使用OSPF进程2,和OSPF1进行隔离,使PC1和PC2之间的流量通过GRE隧道传输,实现PC1和PC2互通。

R1\R3:

interface Tunnel0/0/1

 ip address 10.1.3.1 255.255.255.0

 tunnel-protocol gre

 keepalive

 source 20.1.1.1

 destination 30.1.1.1

原理分析

Keepalive检测功能的实现过程如下:

1、当GRE隧道的源端使能Keepalive检测功能后,就创建一个定时器,周期地发送Keepalive探测报文,同时通过计数器进行不可达计数。每发送一个探测报文,不可达计数加1。

2、对端每收到一个探测报文,就给源端发送一个回应报文。

3、如果源端的计数器值未达到预先设置的值就收到回应报文,就表明对端可达。如果源端的计数器值到达预先设置的值——重试次数(Retry Times)时,还没收到回送报文,就认为对端不可达。此时,源端将关闭隧道连接。但是源端口仍会继续发送Keepalive报文,若对端Up,则源端口也会Up,建立隧道链接。

###默认


GRE OVER IPSEC

拓扑

fig_dc_cfg_ipsec_006501.png

配置步骤

1、配置物理接口的IP地址和到对端的静态路由,保证两端路由可达。

R1\R3:

ip route-static 202.138.162.0 255.255.255.0 202.138.163.2

2、配置GRE Tunnel接口。

R1\R3:

interface Tunnel0/0/0

 ip address 192.168.1.2 255.255.255.0

 tunnel-protocol gre

 source 202.138.163.1

 destination 202.138.162.1

3、配置IPSec安全提议,定义IPSec的保护方法。

R1\R3:

ipsec proposal pro1

 esp authentication-algorithm sha2-256

 esp encryption-algorithm aes-128

4、配置IKE对等体,定义对等体间IKE协商时的属性。

R1\R3:

ike peer rut1 v1

 pre-shared-key cipher huawei

 ike-proposal 5

5、配置安全框架,并引用安全提议和IKE对等体。

R1\R3:

ipsec profile profile1

 ike-peer rut1

 proposal pro1

6、在Tunnel接口上应用安全框架,使接口具有IPSec的保护功能。

R1\R3:

interface Tunnel0/0/0

 ipsec profile profile1

7、配置Tunnel接口的转发路由,将需要IPSec保护的数据流引到Tunnel接口。

R1\R3:

ip route-static 10.1.1.0 255.255.255.0 Tunnel0/0/0


原理分析

GRE可以承载多种协议报文,包括组播、广播报文,而IPSEC不支持多协议承载只能对单播数据进行加密。所以当需要对语音、视频等流量进行隧道传输的时候,需采用GRE OVER IPSEC。

GRE隧道封装、解封装过程

封装:

fig_dc_fd_gre_000401ar.png

1、Ingress PE从连接X协议的接口接收到X协议报文后,首先交由X协议处理。

2、X协议根据报文头中的目的地址在路由表或转发表中查找出接口,确定如何转发此报文。如果发现出接口是GRE Tunnel接口,则对报文进行GRE封装,即添加GRE头。

3、根据骨干网传输协议为IP,给报文加上IP头。IP头的源地址就是隧道源地址,目的地址就是隧道目的地址。

4、根据该IP头的目的地址(即隧道目的地址),在骨干网路由表中查找相应的出接口并发送报文。之后,封装后的报文将在该骨干网中传输。

解封装:

1、Egress PE从GRE Tunnel接口收到该报文,分析IP头发现报文的目的地址为本设备,则Egress PE去掉IP头后交给GRE协议处理。

2、GRE协议剥掉GRE报头,获取X协议,再交由X协议对此数据报文进行后续的转发处理。