GRE vpn 零基础超详细

一.GRE介绍

1.GRE是通用路由封装协议,可以对网络层协议【ipx atm ipv等】的数据进行封装,将这些协议的报文封装在另一种协议报文中,使报文能够在异种网络中进行传输。

2.目的:解决异网传输的问题

二.GRE报文格式

1.乘客协议:封装前的报文叫净荷,封装前的报文协议叫乘客协议

2.封装协议:GRE Header

3.传输协议:负责对封装后的报文进行转发的协议称为传输协议

表1-1 GRE Header首部各字段解释

字段

长度

描述

C

1 bit

校验和验证位。如果该位置1,表示GRE头插入了校验和(Checksum)字段;该位为0表示GRE头不包含校验和字段。

K

1 bit

关键字位。如果该位置1,表示GRE头插入了关键字(Key)字段;该位为0表示GRE头不包含关键字字段。

Recursion

3 bits

用来表示GRE报文被封装的层数。完成一次GRE封装后将该字段加1。如果封装层数大于3,则丢弃该报文。该字段的作用是防止报文被无限次的封装。

Flags

5 bits

预留字段。当前必须设为0。

Version

3 bits

版本字段,必须置为0。Version为1是使用在RFC2637的PPTP中。

Protocol Type

16 bits

乘客协议的协议类型。

Checksum

16 bits

对GRE头及其负载的校验和字段。

Key

31 bits

关键字字段,隧道接收端用于对收到的报文进行验证。

三.GRE协议的基本原理及转发过程

GRE是tunnel隧道技术的一种,属于第三层隧道转发。GRE隧道是一个虚拟的点到点的连接,为封装的数据提供一条传输路经。GRE隧道的两端是tunnel接口,来进行数据的封装和解封装。

转发路径:

封装

1.routerA接受到ip数据报文后交给ip协议处理。

2.IP协议检查报文头部中的目的地址来确定如何转发。若需要经过GRE隧道,则将报文交给tunnel接口

3.tunnel接口打上GRE 报文头,交给ip协议处理。

4.ip协议为GRE报文封装新的IP报文头【源地址为隧道源接口ip,目的地址为隧道目的接口IP】,然后更据封装后的IP报文的目的地址及路由表进行转发,从相应的Internet的物理接口【隧道原接口】发送出去。

解封装

routerB从internet的物理接口收到IP报文后,检查目的地址,如果是routerB,且ip协议的报文头部为47【表示封装的报文是GRE报文】,则routerB剥掉此报文,交给GER报文协议,GRE协议进行校验和关键字识别后,再交给ip协议处理。ip协议将此数据报文转发到总部。

四:GRE的安全机制

1.校验和验证

作用:确认乘客信息的完整性

GRE报文头中C位标识为1,则有校验和验证。

发送方将根据GRE头部和乘客协议的信息计算校验和,并将校验和的报文发送给对端。

接受方收到报文后,计算校验和,并与报文中的校验和比较,一致下一步处理,不一致丢弃。

校验和的报文【checksum】在GRE hearder中

2.识别关键字【key】

作用:防止错误识别,接受到其他地方的报文

GER报文头的k位为1时,GRE头中插入一个4字节【key】关键字字段,收发的双方能进行关键字的验证。

关键字的作用是标识隧道中的流量,属于同一的流量报文使用相同的关键字。

GRE来识别key。只有tunnel两端设置的关键字相同,才通过验证。

五:GRE的Keepalive机制

由于GRE协议并不具备检测链路状态的功能。如果远端端口不可达,隧道并不能及时关闭该Tunnel连接,这样会造成源端会不断的向对端转发数据,而对端却因Tunnel不通而丢弃所有报文,由此就会形成数据发送的空洞。

作用:GRE的Keepalive检测功能用于时刻检测隧道链路是否处于Keepalive状态,即检测隧道对端是否可达。如果对端不可达,隧道连接就会及时关闭,避免形成数据空洞。

keepalive的实现过程:

a:当GRE隧道的源端使能keepalive检测功能后,就会建立一个定时器,周期性的发送keepalive探测报文,同时计数器进行不可达计数,每发送一个探测报文,不可达数加一。

b:对端每收到一个探测报文,就给源端回应报文。

c:如果源端的计数器值到达预先设置的值——重试次数(Retry Times)时,还没收到回送报文,就认为对端不可达。此时,源端将关闭隧道连接。

注:只需要在一端配置keepalive,另一端会自动回应。

六:GRE应用场景

1.GRE over Ipsec

2.ipv6 over ipv4

3.GRE vpn

六:优点和缺点

优点:

1.解决了异网传输的问题

2.可以封装组播协议

3.打破了rip最大跳数为一的限制【隧道端到端的条数为1】

4.GRE机制简单

缺点:

1.不支持加密

2.身份认证较弱

3.数据完整性较弱

七.实验 GRE静态路由

1.配ip

2.配置路由让公网互通

3.配置tunnel接口

Ar3

Int tunnnel  0/0/0

tunnel-protocol  gre

source 202.1.1.1

destination 64.1.1.1

Ip ad 10.1.1.2

Ar1

Int tunnnel  0/0/0

tunnel-protocol  gre

source 64.1.1.1

destination 202.1.1.1

Ip ad 10.1.1.2

4.指定路由从tunnel接口出

Ar3:ip route-static 192.168.1.0 24 10.1.1.1 对端tunnelip

Ar1:IP route-static 172.168.1.0 24 10.1.1.2 对端tunnelip

5.配饰key校验

AR1

Int tuunel 0/0/0

Gre key 1111

AR3

Int g0/0/0

Int tunnel 0/0/0

Gre key 1111

6.配置keepalive

AR1

Int tuunel 0/0/0

Keepalive

AR2

Int tuunel 0/0/0

keepalive

默认配置,指定发送Keeppalive报文定时器周期5秒。指定不可达计数器参数,默认3。

AR1:

int Tunnel 0/0/0

keepalive period 12 retry-times 4

AR3:

int Tunnel 0/0/0

keepalive period 12 retry-times 4

使能GRE隧道Keepalive功能并指定发送周期为12秒,不可达计数器为4

7.ping 或tracet。抓包查看

以下为动态GRE

1.将4.指定路由从tunnel接口出改为动态路由ospf

Ar3:ip route-static 192.168.1.0 24 10.1.1.1 对端tunnelip

Ar1:IP route-static 172.168.1.0 24 10.1.1.2 对端tunnelip

AR1:ospf

network 10.1.1.0   0.0.0.255

network 192.168.1.0 0.0.0.255

AR3:ospf

network 10.1.1.0   0.0.0.255

network  172.168.1.0    0.0.0.255

2.查看路由表

应有ospf 下一跳指向 tunnel接口的路由

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值