搭建基于Open vSwitch的GRE隧道实验

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

搭建基于Open vSwitch的GRE隧道实验_第1张图片

实验目的

 ■了解GRE协议及原理;

 ■理解Open vSwitch如何配置GRE隧道实现通信。

实验原理

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

实验部署

本实验已准备两台虚拟机,在两台虚拟机中安装并启动Open vSwitch服务,可参阅文章《Open vSwitch2.3.0版本安装部署及基本操作》,配置Open vSwitch,创建GRE隧道并进行验证。

实验中使用的网络拓扑如下:

搭建基于Open vSwitch的GRE隧道实验_第2张图片

实验步骤

一台虚拟机安装交换机的IP地址为192.168.5.23,另一台虚拟机安装交换机的IP地址为192.168.5.238,两台交换机已安装OvS2.3.0版本,并已启动。

4.1 配置VM1

1)创建bridge

2)配置br0br1

3)查看OVS配置

搭建基于Open vSwitch的GRE隧道实验_第3张图片

4)查看VM1网络配置

搭建基于Open vSwitch的GRE隧道实验_第4张图片

4.2 配置VM2

1)配置OVS,同配置虚拟机1

配置br0br1

2)查看OVS配置

搭建基于Open vSwitch的GRE隧道实验_第5张图片

3)查看VM2网络配置

搭建基于Open vSwitch的GRE隧道实验_第6张图片

4.3 创建GRE前验证

创建GRE隧道之前,做如下操作。虚拟机1 ping 虚拟机2br0,无法通信,如下图:

搭建基于Open vSwitch的GRE隧道实验_第7张图片

反过来用虚拟机2对虚拟机1进行ping操作得到同样的结果。

4.4 创建GRE隧道

1)在虚拟机1上配置GRE

2)配置好的OVS如下

搭建基于Open vSwitch的GRE隧道实验_第8张图片

3)在虚拟机2上配置GRE

(4)配置好的OVS如下

搭建基于Open vSwitch的GRE隧道实验_第9张图片

4.5 验证GRE隧道

虚拟机与虚拟机2通过GRE隧道连接后,对虚拟机2br0进行ping操作,可以通信。反过来用虚拟机1ping虚拟机2同样都可以通信,如下图所示:

搭建基于Open vSwitch的GRE隧道实验_第10张图片

4.6 抓包分析

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

搭建基于Open vSwitch的GRE隧道实验_第11张图片

实验结论

Open vSwitch创建GRE隧道可以让两个无法通信的机器通信起来,实验中,GRE把两个不通信的网桥连接起来,可以推断出,假如网桥上接主机,那么主机之间也可以通信。这在连接两个不同域之间的SDN网络有很大的作用,且在南京无线谷和北京邮电大学节点间已使用GRE隧道连接。值得说的是用运行在Linux环境中的Open vSwitch创建GRE隧道,Linux Kernel的最低版本为3.11

本文来源于SDNLAB,可点击此阅读原文。如果您对本文感兴趣,可参与以下互动方式与作者近距离交流。

(1) 微博(http://weibo.com/sdnlab/

           搭建基于Open vSwitch的GRE隧道实验_第12张图片

(2) 微信(账号SDNLAB)

搭建基于Open vSwitch的GRE隧道实验_第13张图片

(3) QQ

    SDN研究群(214146842)

    OpenDaylight研究群(194240432)





你可能感兴趣的:(搭建基于Open vSwitch的GRE隧道实验)