Presentation is loading. Please wait.

Presentation is loading. Please wait.

GRE原理与配置.

Similar presentations


Presentation on theme: "GRE原理与配置."— Presentation transcript:

1 GRE原理与配置

2 前言 IPSec VPN用于在两个端点之间提供安全的IP通信,但只能加密并传播单播数据,无法加密和传输语音、视频、动态路由协议信息等组播数据流量。 通用路由封装协议GRE(Generic Routing Encapsulation)提供了将一种协议的报文封装在另一种协议报文中的机制,是一种隧道封装技术。GRE可以封装组播数据,并可以和IPSec结合使用,从而保证语音、视频等组播业务的安全。

3 学习目标 学完本课程后,您应该能: 掌握GRE的应用场景 掌握GRE的工作原理 掌握GRE over IPSec的配置

4 GRE应用场景 GRE支持将一种协议的报文封装在另一种协议报文中。 GRE可以解决异种网络的传输问题。 企业分支 企业总部 GRE 隧道
GRE用来对某些网络层协议如IPX(Internet Packet Exchange)的报文进行封装,使这些被封装的报文能够在另一网络层协议(如IP)中传输。GRE可以解决异种网络的传输问题。 IPSec VPN技术可以创建一条跨越共享公网的隧道,从而实现私网互联。IPSec VPN能够安全传输IP报文,但是无法在隧道的两个端点之间运行RIP和OSPF等路由协议。GRE可以将路由协议信息封装在另一种协议报文(例如IP)中进行传输。 GRE支持将一种协议的报文封装在另一种协议报文中。 GRE可以解决异种网络的传输问题。

5 GRE应用场景 GRE隧道扩展了受跳数限制的路由协议的工作范围,支持企业灵活设计网络拓扑。 GRE隧道 RTA RTB RTC RTD
使用GRE可以克服IGP协议的一些局限性。例如,RIP路由协议是一种距离矢量路由协议,最大跳数为15。如果网络直径超过15,设备将无法通信。这种情况下,可以使用GRE技术在两个网络节点之间搭建隧道,隐藏它们之间的跳数,扩大网络的工作范围。 GRE隧道扩展了受跳数限制的路由协议的工作范围,支持企业灵活设计网络拓扑。

6 GRE应用场景 首先通过GRE对报文进行封装,然后再由IPSec对封装后的报文进行加密和传输。 企业分支 企业总部 IPsec隧道
GRE本身并不支持加密,因而通过GRE隧道传输的流量是不加密的。将IPSec技术与GRE相结合,可以先建立GRE隧道对报文进行GRE封装,然后再建立IPSec隧道对报文进行加密,以保证报文传输的完整性和私密性。 首先通过GRE对报文进行封装,然后再由IPSec对封装后的报文进行加密和传输。

7 GRE报文结构 GRE在封装数据时,会添加GRE头部信息,还会添加新的传输协议头部信息。 Ethernet IP GRE IP/IPX
企业分支 企业总部 GRE 隧道 Ethernet IP GRE IP/IPX Payload GRE封装报文时,封装前的报文称为净荷,封装前的报文协议称为乘客协议,然后GRE会封装GRE头部,GRE成为封装协议,也叫运载协议,最后负责对封装后的报文进行转发的协议称为传输协议。 GRE封装和解封装报文的过程如下: 设备从连接私网的接口接收到报文后,检查报文头中的目的IP地址字段,在路由表查找出接口,如果发现出接口是隧道接口,则将报文发送给隧道模块进行处理。 隧道模块接收到报文后首先根据乘客协议的类型和当前GRE隧道配置的校验和参数,对报文进行GRE封装,即添加GRE报文头。 然后,设备给报文添加传输协议报文头,即IP报文头。该IP报文头的源地址就是隧道源地址,目的地址就是隧道目的地址。 最后,设备根据新添加的IP报文头目的地址,在路由表中查找相应的出接口,并发送报文。之后,封装后的报文将在公网中传输。 接收端设备从连接公网的接口收到报文后,首先分析IP报文头,如果发现协议类型字段的值为47,表示协议为GRE,于是出接口将报文交给GRE模块处理。GRE模块去掉IP报文头和GRE报文头,并根据GRE报文头的协议类型字段,发现此报文的乘客协议为私网中运行的协议,于是将报文交给该协议处理。 GRE在封装数据时,会添加GRE头部信息,还会添加新的传输协议头部信息。

8 GRE关键字验证 隧道两端设备通过关键字字段( Key )来验证对端是否合法。 企业分支 企业总部 GRE隧道 Key (Optional)
Key (Optional) Recursion C Checksum (Optional) K Flags Version Protocol Type 关键字(Key)验证是指对隧道接口进行校验,这种安全机制可以防止错误接收到来自其他设备的报文。关键字字段是一个四字节长的数值,若GRE报文头中的K位为1,则在GRE报文头中会插入关键字字段。只有隧道两端设置的关键字完全一致时才能通过验证,否则报文将被丢弃。 隧道两端设备通过关键字字段( Key )来验证对端是否合法。

9 Keepalive检测 Keepalive检测功能用于检测隧道对端是否可达。 企业分支 企业总部 GRE 隧道
Keepalive Message Keepalive Reply Keepalive检测功能用于在任意时刻检测隧道链路是否处于Keepalive状态,即检测隧道对端是否可达。如果对端不可达,隧道连接就会及时关闭,避免形成数据空洞。使能Keepalive检测功能后,GRE隧道本端会定期向对端发送Keepalive探测报文。若对端可达,则本端会收到对端的回应报文;若对端不可达,则收不到对端的回应报文。如果在隧道一端配置了Keepalive功能,无论对端是否配置Keepalive,配置的Keepalive功能在该端都生效。隧道对端收到Keepalive探测报文,无论是否配置Keepalive,都会给源端发送一个回应报文。 使能Keepalive检测功能后,GRE隧道的源端会创建一个计数器,并周期性地发送Keepalive探测报文,同时进行不可达计数。每发送一个探测报文,不可达计数加1。 如果源端在计数器值达到预先设置的值之前收到回应报文,则表明对端可达。如果计数器值达到预先设置的重试次数,源端还是没有收到回应报文,则认为对端不可达。此时,源端将关闭隧道连接。 Keepalive检测功能用于检测隧道对端是否可达。

10 GRE配置 GRE 隧道 [RTA]interface Tunnel 0/0/1
RTB /24 /24 G0/0/1 G0/0/1 GRE 隧道 /24 /24 [RTA]interface Tunnel 0/0/1 [RTA-Tunnel0/0/1]ip address [RTA-Tunnel0/0/1]tunnel-protocol gre [RTA-Tunnel0/0/1]source [RTA-Tunnel0/0/1]destination [RTA-Tunnel0/0/1]quit [RTA]ip route-static Tunnel 0/0/1 interface tunnel interface-number命令用来创建Tunnel接口。创建Tunnel接口后,需要配置Tunnel接口的IP地址和Tunnel接口的封装协议。 tunnel-protocol命令用来配置Tunnel接口的隧道协议。 source { source-ip-address | interface-type interface-number }命令用来配置Tunnel源地址或源接口。 destination dest-ip-address命令用来指定Tunnel接口的目的IP地址。 在本端设备和远端设备上还必须存在经过Tunnel转发的路由,这样,需要进行GRE封装的报文才能正确转发。经过Tunnel接口转发的路由可以是静态路由,也可以是动态路由。配置静态路由时,路由的目的地址是GRE封装前原始报文的目的地址,出接口是本端Tunnel接口。

11 配置验证 [RTA]display interface Tunnel 0/0/1
Tunnel0/0/1 current state : UP Line protocol current state : UP Last line protocol up time : :37:38 Description:HUAWEI, AR Series, Tunnel0/0/1 Interface Route Port, The Maximum Transmit Unit is 1476 Internet Address is /24 Encapsulation is TUNNEL, loopback not set Tunnel source (GigabitEthernet0/0/1), destination Tunnel protocol/transport GRE/IP, key disabled keepalive disabled Checksumming of packets disabled …… 执行display interface Tunnel 0/0/1命令,可以查看接口的运行状态和路由信息。如果接口的当前状态和链路层协议的状态均显示为UP,则接口处于正常转发状态。隧道的源地址和目的地址分别为建立GRE隧道使用的物理接口的IP地址。

12 配置验证 [RTA]display ip routing-table
Route Flags: R - relay, D - download to fib Routing Tables: Public Destinations : Routes : 14 Destination/Mask Proto Pre Cost Flags NextHop Interface …… / Static RD Tunnel 0/0/1 执行display ip routing table命令,可以查看IP路由表,判断GRE隧道连接的两个网络的可达信息。在本示例中,可以看出目的地址为通过GRE隧道可达的网络地址,下一跳地址为GRE隧道远端接口的IP地址。

13 配置Keepalive检测 GRE 隧道 [RTA]interface Tunnel 0/0/1
RTB /24 /24 G0/0/1 G0/0/1 GRE 隧道 /24 /24 [RTA]interface Tunnel 0/0/1 [RTA-Tunnel0/0/1]keepalive period 3 [RTA-Tunnel0/0/1]quit 执行keepalive [ period period [ retry-times retry-times ] 命令,可以在GRE隧道接口启用Keepalive检测功能。其中,period参数指定Keepalive检测报文的发送周期,默认值为5秒;retry-times参数指定Keepalive检测报文的重传次数,默认值为3。如果在指定的重传次数内未收到对端的回应报文,则认为隧道两端通信失败,GRE隧道将被拆除。

14 配置验证 [RTA]display interface Tunnel 0/0/1
Tunnel0/0/1 current state : UP Line protocol current state : DOWN Description:HUAWEI, AR Series, Tunnel0/0/1 Interface Route Port, The Maximum Transmit Unit is 1476 Internet Address is /24 Encapsulation is TUNNEL, loopback not set Tunnel source (GigabitEthernet0/0/1), destination Tunnel protocol/transport GRE/IP, key disabled keepalive enable period 3 retry-times 3 Checksumming of packets disabled …… 执行display interface tunnel命令,还可以查看GRE的Keepalive功能是否使能。本示例中,Keepalive检测功能的当前状态显示为启用,且报文的发送周期为3秒,重传次数为3次。

15 总结 GRE的应用场景有哪些? display interface tunnel命令显示的信息中会包含Internet Address和Tunnel source,这两者的区别是什么? GRE可以解决异种网络的传输问题;GRE隧道扩展了受跳数限制的路由协议的工作范围,支持企业灵活设计网络拓扑;GRE可以与IPSec结合来实现加密传输组播数据。 Internet Address代表建立GRE隧道所用的虚拟隧道地址,Tunnel source表示隧道的起点,是设备的出接口物理地址。

16


Download ppt "GRE原理与配置."

Similar presentations


Ads by Google