其他国家的互联网如同一个孤岛。要想访问国外网站异常的缓慢,甚至被和谐了。可以建立一条隧道来避免这种情况,下面说说GRE隧道如何建立。

1. GRE介绍

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

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

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

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

1
2
3
4

# 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上面:

1
2
3

# 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上面:

1
2
3

# 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. 检测连通性

1
2
3
4
5

# 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隧道

在任一一端操作下面命令

1
2

# ip link set gre1 down
# ip tunnel del gre1

转载请注明来自运维生存时间: http://www.ttlsa.com/html/4138.html

参考文章:http://www.ttlsa.com/linux/create-a-gre-tunnel-linux/

linux 下创建GRE隧道相关推荐

  1. Linux下创建硬链接,文件访问为空,提示:xxxx: 符号连接的层数过多

    Linux下创建软链接|硬链接,文件访问为空,提示:x x x: 符号连接的层数过多. 原因:创建符号链接的时候未使用绝对路径,无论是源文件路径还是目标路径,都需要使用绝对路径. 如: ln -s / ...

  2. linux下创建具有root权限的账户

    linux下创建具有root权限的账户 http://blog.chinaunix.net/uid-24631445-id-2981034.html posted on 2013-11-01 20:3 ...

  3. Linux下创建用户、切换用户、删除用户

    Linux下创建用户: useradd tooker #创建用户tooker passwd tooker #给用户tooker设置密码,如果没有设置密码该用户不能用 useradd -g users ...

  4. linux 下创建文件的方法

    linux  下创建文件的方法 touch  aaa.txt    创建一个叫aaa.txt的文件 echo   ""  >>  aaa.txt    创建一个叫aaa ...

  5. linux spyder 目录,linux下创建spyder桌面图标的方法

    linux下创建spyder桌面图标的方法 发布时间:2020-07-20 11:08:41 来源:亿速云 阅读:96 作者:清晨 小编给大家分享一下linux下创建spyder桌面图标的方法,希望大 ...

  6. linux下创建用户及组

    linux下创建用户及组: 1.创建组 groupadd  组名 2.创建用户,并将用户添加到组 useradd  用户名  -g  组名 3.更改用户的密码 password  用户名 4.修改目录 ...

  7. 4.windows和Linux下创建oracle用户名表空间,表,插入数据,用户管理表等操作

    进入超级管理员,执行以下命令 Window下创建数据库,表空间,用户,插入数据等操作 -- 01 创建表空间 -- 注意表空间的路径 根据实际安装环境进行调整 CREATE TABLESPACE ts ...

  8. linux下创建svn仓库及用户

    1 Linux下创建svn仓库 1.1 启动SVN服务 svnserve -d -r  /SVNRootDirectry 其中SVNRootDirectry是你的SVN 根目录,例如192.85.1. ...

  9. Linux下创建和删除用户

    Linux下创建和删除用户 目录 Linux下创建和删除用户 1 创建新用户 2 配置新用户 3 进入新用户 4 删除用户 1 创建新用户 在普通root用户下可能没有权限操作,因此直接在root下操 ...

最新文章

  1. 常见网站各种类型页面的缓存时间及涉及的http头
  2. 11月16日bd之旅意外参加黄波博士讲座
  3. Page.LoadTemplate的使用
  4. pythonweb开发需要学哪些知识,python web需要了解哪些
  5. 电脑底部任务栏点不动_「方法」在电脑上使用小程序的方法
  6. 当identity_insert 设置为off时不能为表_硬盘跳线怎么设置 硬盘跳线设置方法【详解】...
  7. SAP License:SAP中的一些问题及处理
  8. thymeleaf获取url地址跳转时所带参数
  9. html文本框%3cdiv%3e,index.html
  10. C语言中static的使用
  11. java awt 教程_JAVA教程第五讲AWT图形用户界面设计
  12. ASCII码字符对照表 阿斯克码表
  13. 在互联网上,没有人知道你是一条狗?
  14. android标题栏 状态栏,android设置无标题栏 、 状态栏
  15. unity warning CS0108: test4.name' hides inherited memberUnityEngine.Object.name’.
  16. 鼎捷APS助力茶花家居实现智能高效生产排程
  17. 性能分析-云盘-sysbench IO测速脚本
  18. openstack-创建多网络虚机
  19. 时间与太阳、月亮和地球的关系
  20. currentThread方法

热门文章

  1. Qt维基文档翻译:D-指针,D-Pointer
  2. C++知识点:typedef struct、printf
  3. 7-54 查验身份证 (15 分)
  4. R7-3 极坐标->直角坐标 (10 分)
  5. 排序算法之交换排序(冒泡排序、快速排序)
  6. java 封装结果集_java封装结果集
  7. java锁原理_Java锁原理学习
  8. 数字逻辑对偶式_数字电子技术实验——组合逻辑电路的设计
  9. 2019 6.30学习笔记
  10. Python3 hex() 函数