搭建GRE隧道实验 | SDNLAB | 专注网络创新技术
SDN SD-WAN NFV Cloud Edge Computing 5G IoT AI Network Security NetDevOps
搭建GRE隧道实验

GRE(通用路由协议封装)是由Cisco和Net-smiths等公司于1994年提交给IETF的,标号为RFC1701和RFC1702。GRE规定了如何用一种网络协议去封装另一种网络协议的方法。GRE的隧道由两端的源IP地址和目的IP地址来定义,允许用户使用IP包封装IP、IPX、AppleTalk包,并支持全部的路由协议(如RIP2、OSPF等)。通过GRE,用户可以利用公共IP网络连接IPX网络、AppleTalk网络,还可以使用保留地址进行网络互连,或者对公网隐藏企业网的IP地址。

下面介绍如何SDN创新实验平台上用 Open vSwitch搭建GRE隧道。

一、实验目的

  • 了解GRE协议及原理
  • 理解 Open vSwitch如何配置GRE隧道

二、实验原理

Open vSwitch创建GRE原理很简单,就是把对GRE头和外部IP头的一些操作从原来的代码中抽象出来,做成内核“库函数”的形式,然后 Open vSwitch中就可以直接调用它们了。 Open vSwitch GRE tunnel没有注册网络设备,因此无法通过iplink看到它,它只是一个vport而已,所以能通过ovs-vsctl show可以看到。

三、实验任务

本实验通过SDN创新实验平台进行创建一个虚拟网络,在虚拟网络添加两台虚拟机,在虚拟机启动 Open vSwitch服务,最后配置 Open vSwitch,创建GRE隧道并进行验证。
实验中用到的网络拓扑如下:

搭建GRE隧道实验 图1

四、实验步骤

4.1 搭建环境

步骤1:在实验平台首页单击“创建虚网”。(注:如虚网名称以“Slice1”为例,虚网名称只能包括数字,字母和下划线。)

搭建GRE隧道实验 图2

任意选择设备拓扑:

搭建GRE隧道实验 图3

进行下一步配置,并点击最后“创建”,虚网创建成功;

步骤2:创建控制器,选择Floodlight控制器。

步骤3:在“虚网详情”页面单击网关部分的“OvS交换机使用案例扩展实验 图4”按钮添加网关。

搭建GRE隧道实验 图4

步骤4:添加2台虚拟机,选择Mininet镜像作为所需Mininet,或者是选择两个已安装 Open vSwitch镜像的虚拟机(建议选择共享的名称为mininet_wireshark_linux3.12+的镜像,内核为3.13,支持GRE)。如下图创建虚拟机所示:

搭建GRE隧道实验 图5

虚网详情页显示如下:

搭建GRE隧道实验 图6

4.2 配置VM1

(1)Open vSwitch服务验证
启动虚网并启动虚拟机,验证OvS服务是否被启动好:

搭建GRE隧道实验 图7

OvS已启动。
(2)创建两个bridge

搭建GRE隧道实验 图8

(3)配置br0上

搭建GRE隧道实验 图9

(4)配置br1
给br1配置IP地址:

(5)查看OVS配置

搭建GRE隧道实验 图10

(6)查看网络配置

搭建GRE隧道实验 图11

4.3 配置VM2

(1)验证OVS服务并配置OVS,同虚拟机1

搭建GRE隧道实验 图12

给br1设置IP:

(2)查看OVS配置

搭建GRE隧道实验 图13

(3)查看网络配置

搭建GRE隧道实验 图14

4.4 创建gre之前

创建gre隧道之前,做如下操作。
虚拟机2的br0 ping虚拟机1的br0,可以通信,如下图:

搭建GRE隧道实验 图15

虚拟机2的br1 ping虚拟机1的br1,无法通信,如下图

搭建GRE隧道实验 图16

反过来用虚拟机1 ping虚拟机2得到同样的结果.

4.5 创建gre隧道

(1)在虚拟机1上配置GRE

搭建GRE隧道实验 图17

(2)配置好的OVS如下

搭建GRE隧道实验 图18

(3)在虚拟机2上配置GRE

搭建GRE隧道实验 图19

(4)配置好的OVS如下

搭建GRE隧道实验 图20

4.6 验证gre隧道

(1)虚拟机2的br0 ping虚拟机1的br0,可以通信

搭建GRE隧道实验 图21

(2)虚拟机2的br1 ping虚拟机1的br1,可以通信

搭建GRE隧道实验 图22

(3)反过来用虚拟机1 ping虚拟机2同样都可以通信

搭建GRE隧道实验 图23

4.7 抓包分析

通过抓包证明数据包的使用协议的确是GRE,具体如下图

搭建GRE隧道实验 图24

五、实验结论

Open vSwitch创建GRE隧道可以让两个无法通信的机器通信起来,实验中,GRE把两个不通信的网桥连接起来,可以推断出,假如网桥上接主机,那么主机之间也可以通信。这在连接两个不同域之间的SDN网络有很大的作用,我们的“SDN创新实验平台”中的不同节点就是用Open vSwitch创建GRE隧道连接的。值得说的是用运行在Linux环境中的 Open vSwitch创建GRE隧道,LinuxKernel的最低版本为3.11。

weibo

微信公众号:搜索"SDNLAB"
或扫描上面的二维码。