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

1. VXLAN简介

 

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 存在的不足,让组网变得更加灵活。

 

2. 实验环境

 

Linux内核模块在支持Open vSwitch之后又加入了支持隧道的功能,但是某些内核版本的的Linux可能只支持Open vSwitch而不支持隧道技术。支持隧道技术的对应最低Linux内核版本如下:

101712_XgYx_2249260.png

本实验操作系统是在两台虚拟机中安装的基于3.13Linux内核版本的Ubuntu 14.04.1,满足VXLAN正常运行的条件。同时需要安装好Open vSwitch,本实验安装的是Open vSwitch 2.3.0版本,具体安装步骤详见《Open vSwitch2.3.0版本安装部署及基本操作》。

 

3. 基于Open vSwitchVxLAN隧道搭建

 

本实验创建两台虚拟机并启动OpenvSwitch服务,最后创建VXLAN隧道并进行验证。实验中用到的网络拓扑如下:

101712_YhjH_2249260.png

注:因为实验本身就是在虚拟环境下操作,所以实验中br1桥上实际上并没有再下挂任何主机,实验中我们是分别给两台虚拟机的br1指定两个不同网段的ip,然后通过搭建VXLAN隧道让这两个不同网段的网桥能够实现通信。

 

3.1 配置Host1

 

启动好OVS服务后,我们先配置一下Host1

 在Host1上添加名为br0br1的两个网桥:

101712_vhfn_2249260.png

3.3 搭建VXLAN隧道

 

在搭建隧道之前我们先测试一下两台虚拟机Host1Host2上的br0br1两两之间是否能相互通信。

101712_7isy_2249260.png

从上面三组数据可以看出两个主机之间的br0是可以相互通信的,各自的br0br1之间可以相互通信,但是一方的br0br1和另一方的br1则不能通信,我们搭建隧道的目的就是让两台机器的br1能够实现通信。

 

1. Host1上设置VXLAN,远端ip设置为Host2能对外通信的br0ip

101712_dIk0_2249260.png

2. Host2上设置VXLAN,远端ip设置为Host1能对外通信的br0ip

101712_uRTy_2249260.png

3.4 验证VxLAN隧道

两台机器的br1ping可以实现正常通信:

101712_SNQJ_2249260.png

同时通过抓包证明数据包的使用协议的确是VXLAN,具体见下图:

101713_szMz_2249260.png

4. 结论

本实验搭建了基于Open vSwitchVXLAN隧道,实现了不同网段内网机器的通信。实验是基于Open vSwitch的虚拟交换机进行实验的,有条件的朋友可以在真实环境中实验一下。

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

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

102542_nA5S_2249260.png

(2) 微信(账号SDNLAB)

102610_F8Lu_2249260.png

(3) QQ

    SDN研究群(214146842)

    OpenDaylight研究群(194240432)





转载于:https://my.oschina.net/sdnlab/blog/362156

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值