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镜像
sudo apt-get install docket.io sudo docker pull ubuntu
2.安装openvswitch和ovs的docker辅助脚本
sudo apt-get install openvswitch-switc //OpenvSwitch 项目提供的支持 Docker 容器的辅助脚本 ovs-docker wget https://github.com/openvswitch/ovs/raw/master/utilities/ovs-docker chmod a+x ovs-docker
三.配置
1.在host1上面用ovs创建一个虚拟网桥,并给网桥一个ip
sudo ovs-vsctl add-br vxbr sudo ifconfig vxbr 10.1.2.1/24
2.给网桥添加一个vxlan类型的端口,remote_ip就是host2的eth0地址!!!
sudo ovs-vsctl add-port vxbr vxlan -- set interface vxlan type=vxlan options:remote_ip=192.168.2.2
3.启动一个没有以太网卡的docker容器
sudo docker run --net=none --privileged=true -it ubuntu
并记下这个容器的ID,我这里是:b062406bc6b6。此时在这个容器里面ifconfig只能看到一个lo的设备。
4.给容器机指定一个eth0并绑定到宿主机的vxbr网桥
sudo ./ovs-docker add-port vxbr eth0 b062406bc6b6
此时回到容器里面,ifconfig会看到出现了一个eht0。给它一个ip:
5.查看ovs配置
sudo ovs-vsctl show

我们可以看到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.,虚拟网桥vxbr:10.1.2.,docker容器机的eth0:10.1.2.。docker容器的eth0插在宿主机host1的虚拟网桥vxbr上面。
host2的eth0:192.168.2.,虚拟网桥vxbr:10.1.2.,docker容器机的eth0:10.1.2.。docker容器的eth0插在宿主机host2的虚拟网桥vxbr上面。
在host1的docker容器机里面ping host2的docker容器机,wireshark抓包:

可以看到容器机之间的通信被封装在一个UDP报文里面,这个UDP的通信是通过host1和host2的eth0转发。
Docker+OpenvSwitch搭建VxLAN实验环境的更多相关文章
- 一文教您如何通过 Docker 快速搭建各种测试环境(Mysql, Redis, Elasticsearch, MongoDB) | 建议收藏
欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...
- PyCharm使用之利用Docker镜像搭建Python开发环境
在我们平时使用PyCharm的过程中,一般都是连接本地的Python环境进行开发,但是如果是离线的环境呢?这样就不好搭建Python开发环境,因为第三方模块的依赖复杂,不好通过离线安装包的方式安装 ...
- 使用Docker快速搭建PHP开发环境
最近有个同事找过来,希望我对在很早之前写的一个PHP网站上增加一些功能,当时开发使用xampp构建的本地开发环境,但是现在我的笔记本电脑已经更新,没有当时的开发环境.本着尽量不往电脑上装无用软件的原则 ...
- 《Exchange Server 2010 SP1/SP2管理实践》——第2章 搭建Exchange实验环境2.1 网络环境规划...
本节书摘来自异步社区<Exchange Server 2010 SP1/SP2管理实践>一书中的第2章,第2.1节,作者: 王淑江 更多章节内容可以访问云栖社区"异步社区&quo ...
- Docker-教你如何通过 Docker 快速搭建各种测试环境
今天给大家分享的主题是,如何通过 Docker 快速搭建各种测试环境,本文列举的,也是作者在工作中经常用到的,其中包括 MySQL.Redis.Elasticsearch.MongoDB 安装步骤,通 ...
- Docker容器搭建android编译环境
Docker容器搭建android编译环境 目录 1 部署容器 1.1 手动部署 1.1.1 配置docker 1.1.2 启动容器 1.1.3 配置环境 1.2 Dockerfile 2 镜像管理 ...
- 搭建 OpenStack 实验环境 - 每天5分钟玩转 OpenStack(16)
在学习 OpenStack 各服务之前,让我们先搭建起一个实验环境. 毋庸置疑,一个看得到摸得着而且允许我们随便折腾的 OpenStack 能够提高我们的学习效率. 因为是我们自己学习用的实验环境,C ...
- Docker下搭建Jenkins构建环境
首先需要搭建好docker环境的linux系统,这个教程多如牛毛,在此不再赘述. 然后编写一个dockerfile来生成一个镜像,dockerfile其实就是一系列命令的集合,有点像windows的批 ...
- 利用 Docker Compose 搭建 SpringBoot 运行环境(超详细步骤和分析)
0.前言 相信点进来看这篇文章的同学们已经对 Docker Dompose 有一定的了解了,下面,我们拿最简单的例子来介绍如何使用 Docker Compose 来管理项目. 本文例子: 一个应用服务 ...
随机推荐
- windows server 2003安装sp4时的问题
"以前进行的程序安装创建了挂起的文件操作.运行程序之前,必须重新起动计算机."的解决办法 在安装SQL 2000数据库和SQLSP4补丁时,经常会提示“以前进行的程序安装创建了挂起 ...
- nginx性能优化之线程池
默认情况下,nginx的work process按照顺序一个个处理http请求,因此如果后台处理时间较长,则work process会长时间等待IO状态,因此限制并发性.如下所示: 所以,对于可能存在 ...
- C# 泛型的协变和逆变
1. 可变性的类型:协变性和逆变性 可变性是以一种类型安全的方式,将一个对象当做另一个对象来使用.如果不能将一个类型替换为另一个类型,那么这个类型就称之为:不变量.协变和逆变是两个相互对立的概念: 如 ...
- JQuery读取XML文件
<?xml version="1.0" encoding="utf-8" ?> <taxrates> <taxrate id=&q ...
- javascript适合移动端的响应式瀑布流插件实例演示
在线预览 jQuery插件大全 实例代码 <div class="sucaihuo-container"> <div class="demo" ...
- IOS5中的Safari不兼容Javascript中的Date问题,做下笔录吧!奶奶的,折腾我半天!
在做Mobile终端的Website开发中,我遇到一个很懊恼的问题. 在IOS5以上版本(不包含IOS5)中的Safari浏览器能正确解释出Javascript中的 new Date('2013-10 ...
- ArcPy之Python介绍
1.Python简介 Python是一种面向对象.解释型计算机程序设计语言;Python是一种简单易学,功能强大的编程语言.它有高效率的高层数据结构,简单而有效地实现面向对象编程.Python简洁的语 ...
- Vault 不同版本的API的异同
大家知道,Autodesk Vault 2014有几个版本,依次为( Basic, Workgroup, Professional),不同版本的功能不相同,关于Vault产品功能的不同之处可以在Vau ...
- Android 项目实战--手机卫士(实现splash)
从今天开始根据之前学习的android的基础知识,实战一下,实现一个简单功能的android手机卫士 本文地址:http://www.cnblogs.com/wuyudong/p/5899283.ht ...
- GHOST WIN7系统64位经典优化版 V2016年
来自系统妈:http://www.xitongma.com 深度技术GHOST win7系统32,64位经典优化版 V2016年3月 系统概述 深度技术ghost win7系统64位经典优化版适用于笔 ...