Open vSwitch的VxLAN隧道网络实验

1 实验目的

该实验通过Open vSwitch构建Overlay的VxLAN网络,更直观的展现VxLAN的优势。在实验过程中,可以了解如何建立VxLAN隧道并进行配置,并实现相同网段和不同网段之间的通信。

2 实验原理

VxLAN 是 Virtual eXtensible LANs 的缩写,它是对 VLAN 的一个扩展,是非常新的一个 tunnel 技术,在Open vSwitch中应用也非常多。Linux 内核的 upstream 中也刚刚加入 VXLAN 的实现。相比 GRE tunnel 它有着很好的扩展性,同时解决了很多其它问题。

从数量上讲,它把 12 bit 的 VLAN tag 扩展成了 24 bit。从实现上讲,它是 L2 over UDP,它利用了UDP 同时也是 IPv4 的单播和多播,可以跨 L3 边界,很巧妙地解决了 GRE tunnel 和 VLAN 存在的不足,让组网变得更加灵活。

3 实验任务

基于Open vSwitch的VxLAN隧道,实现了相同和不同网段内设备的通信,启动OpenvSwitch服务,创建VxLAN隧道,本实验主要是通过在OpenvSwitch上手动命令操作设置连接VxLAN来实现相同和不同网段的通信;

基于Open vSwitch的VxLAN隧道实验网络 图1

因实验平台中在虚拟机中没有创建数据层面下的虚拟机,如图中的VM1、VM2,所以通过在数据层面Br0上实现不同网段通信,以达到和VM1、VM2相同和不同网段通信的目的。此实验将创建两个网桥,一个作为控制层面,如包含eth0端口的Br1;一个作为数据层面,如Br0,两台Mininet虚拟机的Br0在实验中分别属于相同和不同的网段。

4 实验步骤

4.1 环境搭建

创建2个Mininet虚拟机,或者是选择两个已安装OpenvSwitch镜像的虚拟机(建议选择共享的名称为mininet_wireshark_linux3.12+的镜像,内核为3.13,支持VxLAN)。也可以另外多创建一个是选择OpenDaylight镜像的桌面版虚拟机作为控制器(注:内存大于4G),以防备用。启动实验并启动虚拟机。

4.2 预先配置

登录两台Mininet虚拟机或者是已安装OpenvSwitch的虚拟机。

mn虚拟机的IP:

基于Open vSwitch的VxLAN隧道实验网络 预先配置 图1

mn1虚拟机的IP:

基于Open vSwitch的VxLAN隧道实验网络 预先配置 图2

验证OvS服务是否被启动好:

基于Open vSwitch的VxLAN隧道实验网络 预先配置 图3

OvS已启动。
步骤1:分别在两台机器上创建网桥:

步骤2:mn虚拟机上将eth0的IP赋给br1:

给mn虚拟机的br1重新添加路由:

基于Open vSwitch的VxLAN隧道实验网络 预先配置 图4

mn的路由如下显示:

基于Open vSwitch的VxLAN隧道实验网络 预先配置 图5

基于Open vSwitch的VxLAN隧道实验网络 预先配置 图6

步骤3:mn1虚拟机上将eth0的IP赋给br1:

给mn1虚拟机的br1重新添加路由:

基于Open vSwitch的VxLAN隧道实验网络 预先配置 图7

mn1虚拟机的路由显示如下:

基于Open vSwitch的VxLAN隧道实验网络 预先配置 图8

基于Open vSwitch的VxLAN隧道实验网络 预先配置 图9

前期实验环境已准备好。

4.3 设置VxLAN实现同一网段的通信

在mn虚拟机上给br0配置一个IP:

在mn1虚拟机上给br0配置一个与mn虚拟机上br0同一网段的IP地址:

验证br1和br1的IP是否通信:Mn虚拟机的br1 ping mn1虚拟机的br1,是可以ping通的:

基于Open vSwitch的VxLAN隧道实验网络 4.4 图1

mn虚拟机ping mn1虚拟机的br0,是ping不通的:

基于Open vSwitch的VxLAN隧道实验网络 4.4 图2

Br0和另一台设备的br0不能通信,搭建隧道的目的就是让两台机器的br0(数据层面)能够实现通信。

实验本身是在虚拟机中操作,所以实验中br0桥上没有再下挂主机,分别给两台虚拟机的br0指定两个相同网段的IP,然后通过搭建VxLAN隧道让这两个网桥能够实现通信,设置如下:
在mn虚拟机上创建VxLAN:

基于Open vSwitch的VxLAN隧道实验网络 4.4 图3

在mn1虚拟机上创建VxLAN:

基于Open vSwitch的VxLAN隧道实验网络 4.4 图4

验证mn虚拟机的br0和mn1虚拟机的br0是否通信:

基于Open vSwitch的VxLAN隧道实验网络 4.4 图5

验证经过设置VxLAN后,两个虚拟机的同一网段数据层面是通信的。

Tcpdump抓包截图如下:

基于Open vSwitch的VxLAN隧道实验网络 4.4 图6

4.4 设置VxLAN实现不同网段的通信

在mn虚拟机上给br0配置一个IP:

基于Open vSwitch的VxLAN隧道实验网络 4.5 图1

在mn1虚拟机上给br0配置一个与mn虚拟机上br0不是同一网段的IP地址:

基于Open vSwitch的VxLAN隧道实验网络 4.5 图2

验证mn虚拟机的br0和mn1虚拟机br0的IP是否通信:
mn虚拟机ping mn1虚拟机的br0,是ping不通的:

基于Open vSwitch的VxLAN隧道实验网络 4.5 图3

br0和另一台设备的br0不能通信,搭建隧道的目的就是让两台机器的br0(数据层面)能够实现通信。

实验本身是在虚拟机中操作,分别给两台虚拟机的br0指定两个不同网段的IP,然后通过搭建VxLAN隧道及设置路由让这两个网桥能够实现通信,设置如下:

在mn虚拟机上创建VxLAN:

基于Open vSwitch的VxLAN隧道实验网络 4.5 图4

在mn1虚拟机上创建VxLAN:

基于Open vSwitch的VxLAN隧道实验网络 4.5 图5

VxLAN设置好后,mn虚拟机的br0和mn1虚拟机的br0仍不能通信通信,需要设置静态路由才能通信,如下设置:
在mn虚拟机上添加路由:

基于Open vSwitch的VxLAN隧道实验网络 4.5 图6

在mn1虚拟机上添加路由:

基于Open vSwitch的VxLAN隧道实验网络 4.5 图7

验证mn虚拟机的br0和mn1虚拟机的br0是否通信:

基于Open vSwitch的VxLAN隧道实验网络 4.5 图8

验证经过设置VxLAN及路由后,两个虚拟机的不同网段数据层面是通信的。
Tcpdump抓包截图如下:

基于Open vSwitch的VxLAN隧道实验网络 4.5 图9

5 实验结论

本实验搭建了基于Open vSwitch的VXLAN隧道以及路由设置,实现了相同和不同网段内设备的通信。


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

分享到:
条评论

登录后才可以评论

SDNLAB君 发表于15-12-01
0