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

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

1 实验目的

  • 了解GRE协议及原理;
  • 理解Open vSwitch如何配置GRE隧道实现通信。

2 实验原理

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

3 实验部署

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

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

GRE隧道拓扑图

4 实验步骤

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

4.1 配置VM1

(1)创建bridge:

(2)配置br0及br1

(3)查看OVS配置

(4)查看VM1网络配置

VM1配置

4.2 配置VM2

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

配置br0及br1

(2)查看OVS配置

(3)查看VM2网络配置

VM2配置

4.3 创建GRE前验证

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

4.10ping不通4.11

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

4.4 创建GRE隧道

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

(2)配置好的OVS如下

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

(4)配置好的OVS如下

4.5 验证GRE隧道

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

4.10和4.11能够相互ping通

4.6 抓包分析

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

GRE抓包截图

5 实验结论

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


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/5889.html
分享到:
相关文章
条评论

登录后才可以评论

君子一诺 发表于14-12-24
13