linux的搭建gre隧道
Posted tom-blogs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux的搭建gre隧道相关的知识,希望对你有一定的参考价值。
一、准备
- VMware Workstation
- 2台CentOS虚拟机
1、GRE介绍
GRE隧道是一种IP-over-IP的隧道,是通用路由封装协议,可以对某些网路层协议的数据报进行封装,使这些被封装的数据报能够在IPv4/IPv6 网络中传输。
Tunnel 是一个虚拟的点对点的连接,提供了一条通路使封装的数据报文能够在这个通路上传输,并且在一个Tunnel 的两端分别对数据报进行封装及解封装。
一个X协议的报文要想穿越IP网络在Tunnel中传输,必须要经过加封装与解封装两个过程。
2、地址规划
主机1 | 主机2 | |
原主机ip(外网地址) | 192.168.2.10 | 192.168.2.20 |
gre端ip(内网地址) | 192.168.10.10 | 192.168.20.20 |
注:
- 此处为了能让主机1和主机2能后相互通信,我们就配置成同一个网段;
- gre端ip地址任意定,不需要同一网段地址。
二、配置网卡信息
用“桥接模式”来模拟真实环境的外网,及需要两台主机能够互(ping)通。
1、Linux主机1网卡配置:
[root@localhost network-scripts]# cat ifcfg-ens33 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens33 UUID=8e6777b6-11ef-46c3-a094-8f9d65db1ea8 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.2.10 GATEWAY=192.168.2.1 NETMASK=255.255.255.0 DNS1=8.8.8.8 DNS2=114.114.114.114
2、Linux主机2网卡配置:
[root@localhost network-scripts]# cat ifcfg-ens33 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens33 UUID=8e6777b6-11ef-46c3-a094-8f9d65db1ea8 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.2.20 GATEWAY=192.168.2.1 NETMASK=255.255.255.0 DNS1=8.8.8.8 DNS2=114.114.114.114
三、配置隧道信息
1、Linux主机1隧道配置:
在/etc/sysconfig/network-scripts/目录下创建名为ifcfg-tun0文件并编辑,内容如下
DEVICE=tun0 BOOTPROTO=static ONBOOT=yes DEVICETYPE=tunnel TYPE=GRE PEER_INNER_IPADDR=192.168.20.20 PEER_OUTER_IPADDR=192.168.2.20 MY_INNER_IPADDR=192.168.10.10 MY_OUTER_IPADDR=192.168.2.10
- DEVICE=tun0 # 服务名称,后面需要这个名称进行开启和关闭
- BOOTPROTO=static
- ONBOOT=yes
- DEVICETYPE=tunnel
- TYPE=GRE
- PEER_INNER_IPADDR # 对端隧道ip地址(内网)
- PEER_OUTER_IPADDR # 对端主机ip地址(外网)
- MY_INNER_IPADDR # 本端隧道ip地址(内网)
- MY_OUTER_IPADDR # 本端主机ip地址(外网)
2、Linux主机2隧道配置:
在/etc/sysconfig/network-scripts/目录下创建名为ifcfg-tun0文件并编辑,内容如下
DEVICE=tun0 BOOTPROTO=static ONBOOT=yes DEVICETYPE=tunnel TYPE=GRE PEER_INNER_IPADDR=192.168.20.20 PEER_OUTER_IPADDR=192.168.2.20 MY_INNER_IPADDR=192.168.10.10 MY_OUTER_IPADDR=192.168.2.10
四、重启网卡和tunnel服务
1、开启gre服务
[root@localhost ~]# modprobe ip_gre // 加载gre模块 [root@localhost ~]# lsmod | grep gre // 显示gre模块是否加载成功 ip_gre 22931 0 gre 13144 1 ip_gre ip_tunnel 25163 1 ip_gre
2、重启网卡
[root@localhost network-scripts]# service network restart Restarting network (via systemctl): [ OK ]
3、关闭在启动tunnel
[root@localhost network-scripts]# ifdown ifcfg-tun0 [root@localhost network-scripts]# ifup ifcfg-tun0
4、查看配置情况
[root@localhost network-scripts]# ifconfig
5、关闭放火墙
[root@localhost ~]# systemctl stop firewalld
6、然后直接测试ping对端隧道ip地址(内网),看能否通信
能够ping通说明配置成功
以上是关于linux的搭建gre隧道的主要内容,如果未能解决你的问题,请参考以下文章