星空网 > 软件开发 > 操作系统

Docker+OpenvSwitch搭建VxLAN实验环境

一.概述                                                   

1.环境:我这里是2台linux机器(host1和host2),发行版是kali2.0,内核版本是4.3。每台机器都安装Docker、OpenvSwitch(ovs)。

2.host1和host2分别启动1个ubuntu的docker容器。

3.网络结构:

    2.1:host1的eth0:192.168.2.1,host1里面的docker容器ip地址是10.1.2.3

    2.2:host2的eth0:192.168.2.2,host2里面的docker容器ip地址是10.1.2.4

    2.3:host1和host2的eth0可以ping通。

4.目标是在2个不同宿主机的docker容器之间建立VxLAN隧道,让它们可以通信!

二.安装基本软件                                     

1.安装docker并获取ubuntu镜像

1 sudo apt-get install docket.io2 sudo docker pull ubuntu

2.安装openvswitch和ovs的docker辅助脚本

1 sudo apt-get install openvswitch-switc2 //OpenvSwitch 项目提供的支持 Docker 容器的辅助脚本 ovs-docker3 wget https://github.com/openvswitch/ovs/raw/master/utilities/ovs-docker4 chmod a+x ovs-docker

三.配置                                                   

1.在host1上面用ovs创建一个虚拟网桥,并给网桥一个ip

1 sudo ovs-vsctl add-br vxbr2 sudo ifconfig vxbr 10.1.2.1/24

2.给网桥添加一个vxlan类型的端口,remote_ip就是host2的eth0地址!!!

1 sudo ovs-vsctl add-port vxbr vxlan -- set interface vxlan type=vxlan options:remote_ip=192.168.2.2

3.启动一个没有以太网卡的docker容器

1 sudo docker run --net=none --privileged=true -it ubuntu

并记下这个容器的ID,我这里是:b062406bc6b6。此时在这个容器里面ifconfig只能看到一个lo的设备。

4.给容器机指定一个eth0并绑定到宿主机的vxbr网桥

1 sudo ./ovs-docker add-port vxbr eth0 b062406bc6b6

此时回到容器里面,ifconfig会看到出现了一个eht0。给它一个ip:

1 ifconfig eth0 10.1.2.3/24

5.查看ovs配置

1 sudo ovs-vsctl show

Docker+OpenvSwitch搭建VxLAN实验环境images/loading.gif' data-original="http://images2015.cnblogs.com/blog/629717/201602/629717-20160204000736507-1225295201.png" />

我们可以看到vxbr网桥上面有3个端口,一个是自己跟本机通信(这里是本机的eth0)的端口,一个是vxlan的端口,最后一个是docker容器机的eth0。

host2配置跟上面差不多,把host2的虚拟网桥vxbr改为10.1.2.2/24,vxlan的remote_ip改成host1的192.168.2.1,host2的docker容器机ip改为10.1.2.4/24

四.验证                                                   

此时的网络结构:

host1的eth0:192.168.2.1,虚拟网桥vxbr:10.1.2.1,docker容器机的eth0:10.1.2.3。docker容器的eth0插在宿主机host1的虚拟网桥vxbr上面。

host2的eth0:192.168.2.2,虚拟网桥vxbr:10.1.2.2,docker容器机的eth0:10.1.2.4。docker容器的eth0插在宿主机host2的虚拟网桥vxbr上面。

在host1的docker容器机里面ping host2的docker容器机,wireshark抓包:

Docker+OpenvSwitch搭建VxLAN实验环境

可以看到容器机之间的通信被封装在一个UDP报文里面,这个UDP的通信是通过host1和host2的eth0转发。




原标题:Docker+OpenvSwitch搭建VxLAN实验环境

关键词:docker

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

shopee开通:https://www.goluckyvip.com/tag/25026.html
shopee刊登工具:https://www.goluckyvip.com/tag/25027.html
shopee考试:https://www.goluckyvip.com/tag/25028.html
shopee客服:https://www.goluckyvip.com/tag/25029.html
波斯湾地区:https://www.goluckyvip.com/tag/2503.html
shopee课程:https://www.goluckyvip.com/tag/25030.html
23点聊电商:新质生产力加速数字贸易发展 卓尔智联集团实现营收利润双增长 :https://www.kjdsnews.com/a/1836411.html
南京浦口都有什么好玩的地方 南京浦口都有什么好玩的地方推荐:https://www.vstour.cn/a/363180.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流