1. GRE介绍

GRE隧道是一种IP-over-IP的隧道,是通用路由封装协议,可以对某些网路层协议的数据报进行封装,使这些被封装的数据报能够在IPv4/IPv6 网络中传输。

Tunnel 是一个虚拟的点对点的连接,提供了一条通路使封装的数据报文能够在这个通路上传输,并且在一个Tunnel 的两端分别对数据报进行封装及解封装。一个X协议的报文要想穿越IP网络在Tunnel中传输,必须要经过加封装与解封装两个过程。

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

2. 查看是否有加载ip_gre模块

# modprobe ip_gre

# lsmod | grep gre

ip_gre 22432 0

gre 12989 1 ip_gre

3. 创建步骤

环境如下:

host A : 121.207.22.123

host B: 111.2.33.28

在host A上面:

# ip tunnel add gre1 mode gre remote 111.2.33.28 local 121.207.22.123 ttl 255

# ip link set gre1 up

# ip addr add 10.10.10.1 peer 10.10.10.2 dev gre1

创建一个GRE类型隧道设备gre0, 并设置对端IP为111.2.33.28。隧道数据包将被从121.207.22.123也就是本地IP地址发起,其TTL字段被设置为255。隧道设备分配的IP地址为10.10.10.1,掩码为255.255.255.0。

在host B上面:

# ip tunnel add gre1 mode gre remote 121.207.22.123 local 111.2.33.28 ttl 255

# ip link set gre1 up

# ip addr add 10.10.10.2 peer 10.10.10.1 dev gre1

此时,host A 和 host B 建立起GRE隧道了。

4. 检测连通性

# ping 10.10.10.2 (host A)

PING 10.10.10.2 (10.10.10.2) 56(84) bytes of data.

64 bytes from 10.10.10.2: icmp_req=1 ttl=64 time=0.319 ms

64 bytes from 10.10.10.2: icmp_req=2 ttl=64 time=0.296 ms

64 bytes from 10.10.10.2: icmp_req=3 ttl=64 time=0.287 ms

5. 撤销GRE隧道

在任一一端操作下面命令

# ip link set gre1 down

# ip tunnel del gre1

linux gre配置,Linux设置gre 隧道相关推荐

  1. linux如何配置网络设置_如何在Linux中配置网络

    linux如何配置网络设置 将Linux计算机连接到网络非常简单,除非不是这样. 在本文中,我讨论了基于Red Hat的Linux发行版的主要网络配置文件,并介绍了两个网络启动服务:古老的网络启动和有 ...

  2. osg linux 环境配置,Linux环境下jdk1.8的下载与安装

    Linux环境下jdk1.8的下载与安装 1.下载 Oracle官网下载相应的版本,官网地址:https://www.oracle.com/java/technologies/javase/javas ...

  3. arm linux 内核配置,Linux + ARM驱动开发环境配置(内核配置与编译)

    要想编写驱动,首先是建立内核目录树. ** 1.查看ARM开发板的内核版本 ** uname -a 我的arm开发板的版本是3.4.39 ** 2.安装必要的软件包 ** sudo apt-get i ...

  4. linux gre配置,Linux中配置GRE隧道

    配置拓扑 这里使用ens33接口地址来建立隧道,使用ens37接口地址做隧道接口标识,使用ens38接口地址来模拟私网业务地址.实际场景中,用于建立隧道的地址是公网地址,而业务地址是私网地址,GRE隧 ...

  5. linux最初配置( vimrc设置 、tab键设置 inputrc、中文输入法等等)

    1..vimrc设置   syntax on  set tabstop=4  set softtabstop=4  set autoindent  set cindent  set nu  set r ...

  6. linux pclint配置_pclint设置 | 学步园

    pclint是一个检查c代码语法的工具,功能异常强劲的静态代码检测工具,功能比编译器的警告功能强很多,用好pclint可以减少很多bug. 现在介绍下如何在VC和sourceinsight中集成pcl ...

  7. 1连接远程linux,2配置linux,3在linux运行pyhon

    前两天有大神帮我部署Linux,据说可以连接到自己电脑上,我对于那些东西,自己一点也不了解,还好有大神帮我步骤 一开始的时候,大神在他网站帮我加载了很多的文件 然后我的Linux变得很好看 然后分别帮 ...

  8. linux 桌面配置,Linux配置 | 配置Linux桌面 - ManageEngine Desktop Central

    Linux配置 终端管理和安全软件Desktop Central提供各种Linux配置,以方便管理需求.使用Desktop Central可以很容易地执行修补和部署软件等任务.Desktop Cent ...

  9. ng linux 存储 配置,linux学习之--安装一套OCS inventory-ng 环境

    安装一套OCS inventory-ng 环境 官网 : http://www.ocsinventory-ng.org/en/ 首先安装Server 相关的包在官网上下载即可 我下载的是 OCSNG_ ...

最新文章

  1. 管道通信C语言,Go语言通道(chan)——goroutine之间通信的管道
  2. poj3352(强连通分量)
  3. sqlite数据库的多线程访问问题
  4. mysql数据库语句分类_细数MySQL中SQL语句的分类
  5. 漫画:8年估值千亿美金的字节跳动是如何修炼的
  6. docker部署sprinboot项目
  7. java 自动装箱自动拆箱,java自动装箱、自动拆箱和正常情况性能比较
  8. paa 计算机语言,Paa Robertingeri
  9. PHP网站开启gzip压缩,PHP网站程序中开启Gzip压缩的两种方法
  10. 为何python不好找工作-为什么我不建议你通过 Python 去找工作?
  11. 解决复制网页文本多一个空格的问题
  12. Ubuntu16.04安装运行go-ipfs
  13. Double 保留至小数点后两位
  14. 还记得这些常用String方法吗?
  15. jquery实现标签锚定(定位)
  16. 面向对象-第一个代码模型
  17. springboot启动失败的原因及其解决方法
  18. 启动word 2016时弹出“很抱歉,此功能看似已中断,并需要修复......”解决方案
  19. 天天生鲜项目——我的购物车页
  20. 使用Nginx防止IP地址被恶意解析

热门文章

  1. 理海大学计算机专业好申吗,美国留学选工科就来了解一下理海大学~
  2. BadBoy录制脚本jmeter打开
  3. 记录关于利用txt文件划分训练集、测试集与验证集
  4. IT监控:Grafana vs Datadog详细比较
  5. firebox插件制作
  6. IT从业者的职业规划
  7. Freesurfer的简单使用和一些基础知识
  8. Robocup2D入门笔记(1)——概述
  9. Ubuntu16.04在4K显示器中,字体太小,进行调整
  10. BLE(7)—— 发起态数据包组成( Initiating Packets PDUs)