文档章节

Linux GRE

Jerry_Baby
 Jerry_Baby
发布于 2016/07/12 23:53
字数 1054
阅读 137
收藏 5

隧道技术概述

隧道技术(Tunneling)是一种通过使用互联网络的基础设施在网络之间传递数据的方式。电信技术在发展,多种网络技术并存,一种技术的网络可能需要穿过另一种技术的网络实现互联。这种情况如果发生在高层协议的 PDU 封装于低层协议的 PDU 中时通常称之为复用,特别第三层穿过第二层网络的技术称为租用链路或虚电路;而如果穿越发生在一种协议的 PDU 封装高层协议的 PDU 中时,通常称之为隧道

隧道协议可以分为第二层隧道协议 PPTP、L2F、L2TP 和第三层隧道协议 GRE、IPsec。它们的本质区别在于用户的数据包是被封装在哪种数据包这在隧道中传输的

隧道提供了一种某一特定网络技术的 PDU 穿过不具备该技术转发能力的网络的手段,如组播数据包穿过不支持组播的网络;另一种情况是有时因为管理策略的原因,一个管理策略的子网不能通过另一个管理策略的网络互联而连接,而是要穿过另一策略的网络实现连接,这就是所谓的 VPN(Virtual Private Networks)不管是 L2 VPN 还是 L3 VPN 都需要利用隧道技术实现。因此隧道技术某种意义上可以概括为穿越不同的网络的技术,不同既可以是技术方面的,也可以是管理策略方面的。隧道可以作为一个虚拟接口来实现。隧道接口并不指定特定的“乘客”或“传输”协议连接,而是一种结构,可以实现任何标准点到点的服务。由于隧道是点到点连接,因此对每个连接必须配置一个单独的隧道。GRE 是一种应用较为广泛的一种网络层协议 PDU 封装于任一种网络层协议 PDU 中的技术,经常被用来构造 GRE 隧道穿越各种三层网络,并得到了大多数电信设备厂商的支持

GRE

GRE(通用路由封装)是由 Cisco 和 Net-smiths 等公司与 1944 年提交给 IETF 的,标号为 RFC1701 和 RFC 1702。目前大多数厂商的网络设备均支持 GRE 隧道协议。GRE 规定了如何用一种网络协议去封装另一种网络协议的方法。GRE 的隧道由两端的源 IP 地址和目的 IP 地址来定义,允许用户使用 IP 包封装 IP、IPX、AppleTalk 包,并支持全部的路由协议(如 RIP2、OSPF 等)通过 GRE,用户可以利用公共 IP 网络连接 IPX 网络、AppleTalk 网络,还可以使用保留地址进行网络互联,或者对公司隐藏企业网的 IP 地址。总结来说:

  • GRE 是一种三层协议,用一种协议来封装另一种协议,使用了隧道 Tunnel 技术
  • 隧道是虚拟的点对点连接,所以 GRE 的使用过程中肯定会出现一个虚拟的隧道接口

Linux GRE 实现

在 Linux 上创建 GRE 隧道,需要 ip_gre 内核模块,它是 GRE 通过 IPv4 隧道的驱动程序

  1. 查看是否有加载 GRE 模块 GRE_mod
  2. 创建步骤
    • host A:119.188.0.1
    • host B:119.188.0.2 在 host A 执行:
# ip tunnel add gre1 mode gre remote 119.188.0.2 local 119.188.0.1 ttl 255
# ip link set gre1 up
# ip addr add 10.10.80.1 peer 10.10.80.2 dev gre1

创建一个 GRE 类型隧道 gre1,并设置对端 IP 为 119.188.0.2。隧道数据包将从 119.188.0.1 发起,TTL 字段设置为 255。隧道设备分配的 IP 地址为 10.10.80.1 在 host B 执行:

# ip tunnel add gre1 mode gre remote 119.188.0.1 local 119.188.0.2 ttl 255
# ip link set gre1 up
# ip addr add 10.10.80.2 peer 10.10.80.1 dev gre1

此时,host A 和 host B 建立起了 GRE 隧道 3. 撤销隧道 在任意一端执行下面的命令: # ip link set gre1 down # ip tunnel del gre1

可以看到管理机上配置的 GRE 和 它的 peer 节点:

GRE

© 著作权归作者所有

Jerry_Baby
粉丝 25
博文 33
码字总数 35098
作品 0
海淀
系统管理员
私信 提问
加载中

评论(1)

wujingke
wujingke
GRE(通用路由封装)是由 Cisco 和 Net-smiths 等公司与 1944 年提交给 IETF 的,标号为 RFC1701 和 RFC 1702。整整提起50年。
[转]linux+squid+wccp+cisco,虽是转也希望加精

虽然是转也希望加精,我找得好辛苦,squid+wccp+cisco的似乎很少 Squid Cache Transparency and WCCP Version 1.1: 12 September 2001 Introduction In the absence of a Layer-4 switch (eg......

红薯
2009/05/05
1K
0
debian 7上建立GRE隧道

1,GRE,即通用路由封装协议,GRE隧道是一种IP-over-IP的隧道,建立虚拟的点对点连接,对通过隧道的某些网路层协议的数据包进行封装,使这些被封装的数据包能够在IPv4/IPv6 网络中传输,在Tun...

hiwill
2015/10/28
465
0
公司与机房的GRE隧道配置实例

背景: 背景: 我们公司内网与机房服务器为了实现用内网IP通信的功能,故使用了linux的IP gre隧道的方式。使得公司内部可以直接通过路由直连的方式访问机房服务器。 拓扑图如下: 注:拓扑中的...

icenycmh
2018/06/26
0
0
Linux运维工程师资源汇总---OpenStack专题

OpenStack专题(已更新12.19) http://dwz.cn/yZdBi openstack网络架构(nova-network/neutron) openstack网络体系中,网络技术没有创新,但用到的技术点非常庞杂,包括bridge、vlan、gre、...

马洪伟
2014/12/22
479
0
Neutron中Linux Bridge与Open vSwitch优劣势对比

目前说到虚拟交换机,通常会想到使用Open vSwitch做虚拟交换机,因为支持Open vSwitch的个人和企业都想要有一个开放的模式把他们的服务集成进OpenStack。 Open vSwitch社区做了大量的工作,希...

技术小能手
2018/07/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

分享一个 pycharm 专业版的永久使用方法

刚开始接触Python,首先要解决的就是Python开发环境的搭建。 目前比较好用的Python开发工具是PyCharm,他有社区办和专业版两个版本,但是社区版支持有限,我们既然想好好学python,那肯定得用...

上海小胖
19分钟前
4
0
Spring Cloud Alibaba 实战(二) - 关于Spring Boot你不可不知道的实情

0 相关源码 1 什么是Spring Boot 一个快速开发的脚手架 作用 快速创建独立的、生产级的基于Spring的应用程序 特性 无需部署WAR文件 提供starter简化配置 尽可能自动配置Spring以及第三方库 ...

JavaEdge
今天
7
0
TensorFlow 机器学习秘籍中文第二版(初稿)

TensorFlow 入门 介绍 TensorFlow 如何工作 声明变量和张量 使用占位符和变量 使用矩阵 声明操作符 实现激活函数 使用数据源 其他资源 TensorFlow 的方式 介绍 计算图中的操作 对嵌套操作分层...

ApacheCN_飞龙
今天
7
0
五、Java设计模式之迪米特原则

定义:一个对象应该对其他对象保持最小的了解,又叫最小知道原则 尽量降低类与类之间的耦合 优点:降低类之间的耦合 强调只和朋友交流,不和陌生人说话 朋友:出现在成员变量、方法的输入、输...

东风破2019
昨天
23
0
jvm虚拟机结构

1:jvm可操作数据类型分为原始类型和引用类型,因此存在原始值和引用值被应用在赋值,参数,返回和运算操作中,jvm希望在运行时 明确变量的类型,即编译器编译成class文件需要对变量进行类型...

xpp_ba
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部