GRE VPN 概述
> GRE
GRE(Generic Routing Encapsulation) 在任意一种网络协议上传送任意一种其他网络协议的封装方法 我们先本质上还是同种协议封装 也是就IP over IP
> GRE VPN
直接使用GRE封装建立GRE隧道,在一种协议的网络上传输其他协议,需要虚拟的隧道(Tunnel)接口
GRE的封装格式
++协议B头:++ 也就是我们的载荷协议封装我们的内网源IP目的IP ++GRE头:++ 就是我们的封装协议告诉对方我放用的什么协议 ++协议A头:++ 也就是我们的承载协议 里面包含了我们外网的源IP目的IP ++链路层头:++ 就是我们二层的源MAC和目的MAC
IP over IP 的GRE封装格式
GRE的IP协议号为47 其中 ++载荷协议0x0800就是我们的 ++承载协议路由转发++ 根据公网IP头部查找路由表,并转发 【4】 ++中途转发++ 就是数据包在公网转发传输 【5】 ++解封装++ 查到公网路由后,由公网路由进行解封装,解除公网封装头部,查看GRE
GRE 写作模版 Write a response in which you discuss the extent to which you agree or disagree with the statement
“去GRE运动”:44%的分子生物学专业不要求GRE分数 ? 全美Top 50大学各专业在2018年不要求GRE分数的比例。 “随着越来越多的学校的研究生招生不再要求GRE成绩,产生了一些学校之间的同行压力,一些学校担心如果继续要求GRE分数,可能会错过优秀的申请人。” GRE考试的支持者称,这种改变是一种误导。 他们认为,最近对GRE考试的价值提出质疑的研究存在缺陷,实际上GRE仍然是一个有用的预测指标。 南加州大学曾在招生中研究过使用GRE。 波塞尔特还发现,许多教师会将GRE分数视为先天智力的衡量标准。“他们认为GRE能够考出高分者以后更有可能获得成功。”她说。 “ 佩恩认为,GRE分数应该被视为整体审查过程的一部分。 “如果学校放弃了使用GRE,就相当于丢弃了一部分数据。” 其他人担心GRE考试可能会阻碍增进种族多样性和包容性的努力。
封装后的数据报文在网络中传输的路径,称为GRE隧道。GRE隧道是一个虚拟的点到点的连接,其两端的设备分别对数据报文进行封装及解封装。 · GRE头(GRE header):采用GRE协议对净荷数据进行封装所添加的报文头,包括封装层数、版本、乘客协议类型、校验和信息、Key信息等内容。添加GRE头后的报文称为GRE报文。 设备支持IPv4和IPv6两种传输协议:当传输协议为IPv4时,GRE隧道称为GRE over IPv4隧道;当传输协议为IPv6时,GRE隧道称为GRE over IPv6隧道。 GRE头各字段说明: GRE本身提供两种基本的安全机制:校验和验证,识别关键字(VPP目前不支持)。校验和验证是指对封装的报文进行端到端校验。若GRE报文头中的C位标识位置1,则校验和位有效。 但是gre封装流程是在adj-midchain节点完成gre头+外层ip头,切换tx接口为gre接口,在mss-clamp功能时,报文已经指向封装后报文。
GRE协议基础配置 本实验模拟企业网络场景,R1为企业总部的网关设备,并且内部有一台服务器,R3连接着企业分公司网关设备,R2为公网ISP设备。 通过配置GRE实现公司总部和分部间私网路由信息的透传及数据通信。 此时可以通过GRE协议来实现跨越了互联网的两个私网网段之间的通信。 配置GRE Tunnel 配置R1、R3的GRE tunnel 在路由器R1、R3上配置GRE Tunnel,使用命令interface tunnel创建隧道接口,指定隧道模式为GRE。 测试R1与目的地址的连通性 检查R1、R3隧道接口状态 检查R1、R3路由表 配置基于GRE接口的动态路由协议 测试PC1与Server1的连通性,发现还不能联通 配置R1、R3 RIPv2
1、简述 GRE(Generic Routing Encapsulation)GRE是一种最传统的隧道协议,其根本功能就是要实现隧道功能,以实现异地网络之间可以通过内部私网相互访问。 ? 数据包到达路由器R3后,其将收到的数据包解封后,发现GRE包头,并且本身就是GRE隧道的终点,再次解封包,此时发现源IP地址为10.1.1.1,目标IP地址为192.168.1.1,紧接着就将数据包发往 数据包到达路由器R2后,其将收到的数据包解封后,发现GRE包头,并且本身就是GRE隧道的终点,再次解封包,此时发现源IP地址为192.168.1.1,目标IP地址为10.1.1.1,紧接着就将数据包发往 4、GRE路由配置。 ,所有前往私网的数据包都走GRE隧道。
本文继上文继续讨论gre over ipsec,上次我们是在两站点之间先建立IPSec连接(transport方式),然后再IPSec连接上再建立gre隧道,进行加密通信;本次我们换种方式来配置与上文相同的效果 我们再看gre隧道的配置跟以往的配置的区别“tunnel protection ipsec profile 1”,顾名思义就是在gre隧道上配置ipsec保护,保护的具体策略就是profile1. 就因为在gre接口上我们配置了ipsec保护,我们就可以确定建立ipsec的两个站点:tunnel source和tunnel destination(就相当于在source和destination上配置了 map);加密的感兴趣流就是tunnel source和tunnel destination之间的gre通信,而且仅仅是gre通信。 通过一个简单的profile,我们就完成了整个的gre overipsec,该方法目前是非常流行的一种配置,被广泛使用!
GRE提供了将一种协议的报文封装在另一种协议报文中的机制,是一种三层隧道封装技术,使报文可以通过GRE隧道透明的传输,解决异种网络的传输问题。 •GRE实现机制简单,对隧道两端的设备负担小。 •GRE隧道将不连续的子网连接起来,用于组建VPN,实现企业总部和分支间安全的连接。 ? GRE基本原理 ? 实现过程 报文在GRE隧道中传输包括封装和解封装两个过程。 2.GRE协议剥掉GRE报头,获取X协议报文,再交由X协议对此数据报文进行后续的转发处理。 ? GRE的Keepalive检测 ? 目前,GRE隧道可以通过两种隧道接口建立: •GRE隧道接口 GRE隧道接口是为实现报文的封装而提供的一种点对点类型的逻辑接口,包含源地址、目的地址和隧道接口IP地址。 与GRE隧道接口手工指定目的地址不同,mGRE隧道接口的目的地址来自于NHRP地址解析协议,一个mGRE隧道接口上,可以存在多条GRE隧道,有多个GRE对端。
目前有多数厂商的网络设备均支持GRE隧道协议。GRE 规定了如何用一种网络协议去封装另一种网络协议的方法。 系统收到一个净荷后,首先使用封装协议(Encapsulation Protocol)对这个净荷进行GRE封装,即把乘客协议报文进行了“包装”,加上了一个GRE头部成为GRE报文;然后再把封装好的原始报文和 ); GRE协议完成相应的处理后,剥掉GRE报头,再交由X协议对此数据报进行后续的转发处理。 写入配置文件 A机器配置文件步骤: vim /etc/init.d/gre.sh 进入文件进行编辑如下内容: modprobe ip_gre lsmod|grep gre ip : modprobe ip_gre lsmod|grep gre ip tunnel add tun1 mode gre remote 62.234.89.107 local 10.3.4.3
GRE是 Tunnel(隧道)技术的一种,属于第三层隧道协议。 GRE 隧道是一个虚拟的点对点的连接,为封装的数据报文提供了一条传输通路, GRE 隧道的两端分别对数据报进行封装及解封装。 系统收到一个净荷后,首先使用封装协议( Encapsulation Protocol)对这个净荷进行GRE 封装,即把乘客协议报文进行了“包装”,加上了一个 GRE 头部成为 GRE 报文;然后再把封装好的原始报文和 · GRE 协议完成相应的处理后,剥掉 GRE 报头,再交由 X 协议对此数据报进行后续的转发处理。 说明:GRE 收发双方的加封装、解封装处理,以及由于封装造成的数据量增加,会导致使用 GRE 后设备的数据转发效率有一定程度的下降。 GRE 的安全选项 为了提高 GRE 隧道的安全性, GRE 还支持由用户选择设置 Tunnel 接口的识别关键字(或称密钥) ,和对隧道封装的报文进行端到端校验。
2、GRE方案。 GRE网络 认识GRE 什么是GRE? GRE是一种协议封装的格式,它规定了**如何用一种网络协议去封装另一种网络协议**。 有什么用? ** 概括 **物理上的三层通信,虚拟上的二层通信** 场景 [GRE] 通信过程 0)gre建立turnel通道 1、 双方建立turnel的过程。 原文字描述 GRE的好处 解决vlan上限问题,gre id有224个 只识别终端网络风暴(当包到达目的地再发到主机时) 三层网络 私有ip可以任意划分,ip子网划分问题也不存在了 GRE的不足 (1) (2)扩大的广播域 GRE 不支持组播,因此一个网络(同一个 GRE Tunnel ID)中的一个虚机发出一个广播帧后,GRE 会将其广播到所有与该节点有隧道连接的节点。 (3)GRE封装的IP包的过滤和负载均衡问题 目前还是有很多的防火墙和三层网络设备无法解析 GRE Header,因此它们无法对 GRE 封装包做合适的过滤和负载均衡。
IPv6 over IPv4 GRE封装隧道 实验目标: 该实验参考了华为官网案例配置 https://support.huawei.com/enterprise/zh/doc/EDOC1000097307 /478eeed1 R1与R2之间通过创建一条IPv6 over IPv4 的GRE隧道实现双方ipv6网络互访。 12.1.2.1/96 PC1 E0/0/1 2002::2/64 PC2 E0/0/1 2001::2/64 隧道接口: 设备 隧道接口 模式 隧道源地址 隧道目标地址 R1 Tunnel 0/0/1 GRE 12.1.1.1 12.1.2.1 R2 Tunnel 0/0/1 GRE 12.1.2.1 12.1.1.1 配置步骤: 配置IPv4与IPv6双协议栈 创建gre隧道 实现路由互通 R1和R2之间的路由器用来模拟链路在 #隧道封装模式更改为采用通用路由封装(GRE) [R1-Tunnel0/0/1]ipv6 address ::12.1.1.1/96 #配置ipv6地址 [R1-Tunnel0/0/
##### Route A ################################### interface Tunnel 0 mode gre ip address 10.254.1.2255.255.255.252 source 2.2.2.2 destination 6.6.6.6 ipsec apply policy 3100 # acl advanced 3100 description IPSEC OVER GRE import interface Tunnel 0 ##### Route B ################################### interface Tunnel 0 mode gre apply policy 3100 # ip route-static 172.23.0.016 Tunnel 0 # acl advanced 3100 description IPSEC OVER GRE
2 如何配置将所有流量镜像到GRE tunnel 2.1 创建需要验证所需的网卡 root@root12-virtual-machine:~# ip tuntap add mod tap eth0 root 2.2 GRE隧道配置 将 br0 配置为 eth0 和 tap0 作为中继端口。 所有在 eth0 或 tap0 上进出的流量也被镜像到 gre0,一个到远程主机 192.168.1.10 的 GRE 隧道;任何到达 gre0 的流量都会被丢弃: root@root12-virtual-machine \ > -- set interface gre0 type=gre options:remote_ip=192.168.1.10 \ > -- --id=@p get port ovs-vsctl del-port br0 gre0 3 配置结果 [mirror镜像验证.jpg]
有基于二层(pptp/l2tp/l2f)和三层(gre/ipsec)的×××隧道技术 今天在H3C防火墙上利用三层的gre协议,实现总公司和分公司的通信。 Step4:在两台防火墙上分别创建隧道接口,隧道协议选择gre。
很喜欢用GRE做隧道,这样容易理解MPLS,当然LSP的隧道很EASY就KO了,主要是用/32的主机路由来建立LSP隧道的,注意隧道的起止为位置,LSP的话,就是2端LOOPBACK的起止,在用LOOPBACK 隧道的起止要与BGP的邻居关系一致这样才能让BGP去利用你的GRE隧道,GRE隧道里切记一定要敲MPLS否则你数据不会被解封装,还有就是GRE隧道里不要配置IP,否则协议不稳定。
最近一小伙伴问我 Gre Over IPSEC 的配置,我写出贴子如下,请大佬指教! 相比网上的 Gre over IPSEC,本配置中对企业内的数据流进行了加密,对企业访问 Internet 的数据流未加密,保证了效率和安全的平衡! 一、拓扑 ? 要求: 1. 企业边界路由器 R1、R5 上的配置 ① R1 上配置Gre Tunnel 在配置 Gre Tunnel 前,必须保证企业边界路由器 R1、R5 之间的互通,并且要保证企业内的PC 可以正常访问 ISP ② R5 上配置Gre Tunnel ? ? 此时在 R1 和 R5 上测试 tunnel 的连通性。 ? 最后思考:为什么可以在 GRE OVER IPSEC 中可以带上 NAT?
GRE隧道是如何让异地局域网互通的? GRE是如何“伪装的”? gre [CS_FW-zone-gre]setpriority 55 [CS_FW-zone-gre]add interface Tunnel 1 GRE的配置并不复杂,但是这些参数都是非常关键的 防火墙GRE过去,CS防火墙需要允许进来,同样CS防火墙GRE过去,BJ防火墙要允许进来。 (4)强烈建议抓包看看GRE的数据包封装,对于理解GRE更加深入。
192.168.2.0 0.0.0.255 # //定义IKE对等体 ike peer to_rtb //使用预设口令身份验证 pre-shared-key 123 //对等体的IP地址,注意是GRE 192.168.1.0 0.0.0.255 # //定义IKE对等体 ike peer to_rta //使用预设口令身份验证 pre-shared-key 123 //对等体的IP地址,注意是GRE 的数据报文查看一下数据封装的顺序,IPSEC OVER GRE方式是先IPSEC封装,然后再进行GRE封装的。 配置关键点: 1) IKE Peer的Remote address是对方的GRE隧道口IP地址,不是物理接口地址; 2) IPSec策略绑定到GRE隧道上; 3)定义静态路由或策略路由将需要加密的流量引入到 GRE隧道上。
interface Ethernet0/1 port link-mode route description LAN ip address 192.168.1.1 255.255.255.0 # //定义GRE interface Ethernet0/1 port link-mode route description LAN ip address 192.168.2.1 255.255.255.0 # //定义GRE 配置关键点: 1) 安全数据流要匹配IPSec接口; 2) 注意GRE隧道的源和目的,要和IPSec接口吻合; 3) 将子网流量引入GRE隧道。