linux搭建GRE隧道

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux搭建GRE隧道相关的知识,希望对你有一定的参考价值。

GRE介绍

GRE隧道是一种IP-over-IP的隧道,是通用路由封装协议,可以对某些网路层协议的数据报进行封装,使这些被封装的数据报能够在IPv4/IPv6 网络中传输。
Tunnel 是一个虚拟的点对点的连接,提供了一条通路使封装的数据报文能够在这个通路上传输,并且在一个Tunnel 的两端分别对数据报进行封装及解封装。 
一个X协议的报文要想穿越IP网络在Tunnel中传输,必须要经过加封装与解封装两个过程。

相关配置

1、加载ip_gre模块,开通转发

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

技术图片

在两台LINUX开通路由转发,为等下的路由功能做准备。     
vim /etc/sysctl.conf
修改net.ipv4.ip_forward=0 修改成1
sysctl -p
2、建立隧道
A机器:
ip tunnel add tun1 mode gre remote 43.xx.xx.11 local 118.xx.xx.184
ip link set tun1 up
ip addr add 2.2.2.1 peer 2.2.2.2 dev tun1        
route add -net 172.16.1.0/24 dev tun1  
B机器:
ip tunnel add tun1 mode gre remote 118.xx.xx.184 local 43.xx.xx.11
ip link set tun1 up
ip addr add 2.2.2.2 peer 2.2.2.1 dev tun1        
route add -net 192.168.1.0/24 dev tun1
3、撤销GRE隧道
在任意一端执行下列命令
ip link set tun1 down
ip tunnel del tun1
4、将配置写入网卡
eg:
A机器:
DEVICE=gw
ONBOOT=yes
TYPE=GRE
PEER_OUTER_IPADDR=2.2.2.2
PEER_INNER_IPADDR=10.0.1.0/24
MY_INNER_IPADDR=10.0.0.1
KEY=haw-haw.org
BOOTPROTO=none
eg:
B机器:
DEVICE=gw
ONBOOT=yes
TYPE=GRE
PEER_OUTER_IPADDR=1.1.1.1
PEER_INNER_IPADDR=10.0.0.0/24
MY_INNER_IPADDR=10.0.1.1
KEY=haw-haw.org
BOOTPROTO=none

技术图片

ifup gw 启动网卡

以上是关于linux搭建GRE隧道的主要内容,如果未能解决你的问题,请参考以下文章

linux 下创建GRE隧道

基于centos6.x环境下GRE隧道的搭建及分析

OpenvSwitch的GRE隧道

配置GRE 隧道

公司与机房的GRE隧道配置实例

Linux GRE tunnel的构建原理