Linux环境下GRE的部署方式

 更新时间:2023年12月25日 10:59:13   作者:我是菜鸟131  
这篇文章主要介绍了Linux环境下GRE的部署方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

GRE(Windows不支持)

GRE介绍

GRE(Generic Routing Encapsulation,通用路由封装)协议是对某些网络层协议(如IP和IPX)的数据报文进行封装,使这些被封装的数据报文能够在另一个网络层协议(如IP)中传输。

GRE采用了Tunnel(隧道)技术,是V_P_N(Virtual Private Network)的第三层隧道协议。

GRE的优点

  • GRE实现机制简单,对隧道两端的设备负担小。
  • GRE隧道可以通过IPv4网络连通多种网络协议的本地网络,有效利用了原有的网络架构,降低成本。
  • GRE隧道扩展了跳数受限网络协议的工作范围,支持企业灵活设计网络拓扑。
  • GRE隧道可以封装组播数据,和IPSec结合使用时可以保证语音、视频等组播业务的安全。
  • GRE隧道支持使能MPLS LDP,使用GRE隧道承载MPLS LDP报文,建立LDP LSP,实现MPLS骨干网的互通。
  • GRE隧道将不连续的子网连接起来,用于组建V_P_N,实现企业总部和分支间安全的连接。

实验

使用GRE构建一个简单v_p_n,使用客户端能正常访问(Windows不支持GRE,所以使用两个Linux主机)

实验拓补

主机名IP地址
clienteth3 201.1.2.10
proxyeth0 192.168.19.130
eth3 201.1.2.5

步骤 

步骤一:启用GRE模块(client和proxy都要操作)

1)查看计算机当前加载的模块

lsmod   #显示模块列表
lsmod | grep ip_gre  #确定是否加载了gre模块

2)加载模块ip_gre

modprobe ip_gre   

3)查看模块信息

modinfo ip_gre
# /lib/modules/4.18.0-240.el8.x86_64/kernel  Linux所有的模块都在这里
#find / -name "*.ko*" | wc -l
#2501
#我们的Linux系统内置模块有2501个,本人的Linux系统为Redhat8.3
#rmmod 模块名  关闭模块

步骤二:Client主机创建V_P_N隧道

1)创建隧道

ip tunnel add tun0 mode gre remote 201.1.2.5 local 201.1.2.10
#ip tunnel add 创建隧道(隧道名称为tun0),ip tunne help可以查看帮助
#mode设置隧道模式
#local后面跟本机的IP地址,remote后面时与其他主机建立隧道的IP

2)启用该隧道(类似于网卡启动)

ip a s   #查看本机全部网卡信息 一般添加的隧道是最后一个,且默认关闭
ip link show
ip link set tun0 up  #启用隧道
ip link show

3)为V_P_N配置隧道IP地址

ip a s
ip addr add 10.10.10.10/24 peer 10.10.10.5/24 dev tun0
#为隧道tun0设置本地ip(10.10.10.10/24)
#隧道对面的主机ip的隧道IP为(10.10.10.5/24)
ip a s  #查看IP是否添加成功

4)关闭防火墙

systemctl stop firewalld

步骤三:proxy主机创建V_P_N隧道

1)查看计算机当前加载的模块,并进行加载

lsmod   #显示模块列表
lsmod | grep ip_gre  #确定是否加载了gre模块
modprobe ip_gre  

2)创建隧道

ip tunnel add tun0 mode gre remote 201.1.2.10 local 201.1.2.5

3)启用该隧道(类似于网卡启动)

ip link set tun0 up  #启用隧道
ip link show

4)为VPN配置隧道IP地址

ip addr add 10.10.10.5/24 peer 10.10.10.10/24 dev tun0
ip a s

5)关闭防火墙

systemctl stop firewalld

6)开启路由转发(软路由)

echo "1" > /proc/sys/net/ipv4/ip_forward
#1 开启路由转发
#0 关闭路由转发
#路由转发开启之后,别人可以通过访问这个服务器,通过服务器转发,去访问别的东西

步骤四:开始测试

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Linux学习教程之redis哨兵集群详解

    Linux学习教程之redis哨兵集群详解

    这篇文章主要给大家介绍了关于Linux学习教程之Redis哨兵集群的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用redis具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • yum安装CDH5.5 hive、impala的过程详解

    yum安装CDH5.5 hive、impala的过程详解

    这篇文章主要介绍了yum安装CDH5.5 hive、impala的过程详解的相关资料,非常不错 具有一定的参考借鉴价值,需要的朋友可以参考下
    2016-10-10
  • Apache Hive 通用调优featch抓取机制 mr本地模式

    Apache Hive 通用调优featch抓取机制 mr本地模式

    这篇文章主要为大家介绍了Apache Hive 通用调优featch抓取机制 mr本地模式详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • Linux中使用Crontab定时监测维护Tomcat应用程序的方法

    Linux中使用Crontab定时监测维护Tomcat应用程序的方法

    定时监测发布的某项应用程序是否可用,如果不可用,立即执行处理措施,实现自动化运维工作
    2014-11-11
  • CentOS 6 Linux系统添加永久静态路由的方法

    CentOS 6 Linux系统添加永久静态路由的方法

    在Linux系统中,特别是对于服务器管理而言,正确配置网络路由是确保网络通信顺畅的重要步骤,本文将介绍如何在CentOS 6系统中添加永久静态路由,通过本文的学习,你将能够掌握如何在不影响现有网络配置的情况下,为你的系统添加一条或多条静态路由,需要的朋友可以参考下
    2025-03-03
  • Ubuntu 如何建立Matlab快捷方式

    Ubuntu 如何建立Matlab快捷方式

    这篇文章主要介绍了Ubuntu 如何建立Matlab快捷方式的相关资料,需要的朋友可以参考下
    2016-12-12
  • linux的一个find命令配合rm删除某天前的文件方法

    linux的一个find命令配合rm删除某天前的文件方法

    下面小编就为大家带来一篇linux的一个find命令配合rm删除某天前的文件方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • Linux下安装软件包报依赖等相关问题的解决方法

    Linux下安装软件包报依赖等相关问题的解决方法

    大家好,本篇文章主要讲的是Linux下安装软件包报依赖等相关问题的解决方法,感兴趣的同学赶快来看一看吧,对你有帮助的话,记得收藏一下
    2021-12-12
  • Linux查看文件大小的几种方法汇总

    Linux查看文件大小的几种方法汇总

    这篇文章主要介绍了Linux查看文件大小的几种方法汇总,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • MemcacheQ安装及使用方法

    MemcacheQ安装及使用方法

    MemcacheQ 是一个简单的分布式队列服务,它的运行依赖于BerkeleyDB 和 libevent,所以需要先安装BerkeleyDB和libevent,需要的朋友可以参考下
    2017-03-03

最新评论