一、组网图

说明:

1、使用网络命名空间表示vm1和vm2. 因为我没有两台物理服务器。

2、使用virtualbox 的两条虚机模拟作为host1和host2。

二、配置指导

1、创建网桥 br0

分别在host1和host2上输入命令

#ovs-vsctl add-br br0

2、创建网络命名空间,用来模拟VM

分别在host1和host2上输入命令

#ip netns add nsvm1

#ip netns add nsvm2

3、创建配对端口,一端加入到命名空间,同时配置ip地址

在host1和host2上输入命令

#ip link add tap1 type veth peer name tap2

#ip link add tap3 type veth peer name tap4

#ip link set tap1 netns nsvm1

#ip link set tap3 netns nsvm2

配置ip地址。

#ip netns exec nsvm1 ip addr add 192.168.0.11/24 dev tap1  (host2上配置为 192.168.0.13)

#ip netns exec nsvm2 ip addr add 192.168.0.12/24 dev tap3 (host2上配置为 192.168.0.14)

设置端口up.

#ip netns exec nsvm1 ip link set tap1 up

#ip netns exec nsvm2 ip link set tap3 up

#ip link set tap2 up

#ip link set tap4 up

4、端口加入网桥

在host1和host2上输入命令

#ovs-vsctl add-port br0 tap2

#ovs-vsctl add-port br0 tap4

5、验证本地网桥相连的VM间通信

在host1上输入命令

#ip netns exec nsvm1 ping 192.168.0.12

6、配置vxlan隧道

在host1上配置如下命令

#ip link add vxlan0 type vxlan id 42 dstport 4789 remote 172.16.56.4 local 172.16.56.3 dev enp0s3

#ip addr add 20.0.0.1/24 dev vxlan0

#ip link set vxlan0 up

在host2上进行对应配置(remote/local互换,以及ip)

#ip link add vxlan0 type vxlan id 42 dstport 4789 remote 172.16.56.3 local 172.16.56.4 dev enp0s3

#ip addr add 20.0.0.2/24 dev vxlan0

#ip link set vxlan0 up

删除主机上默认的INPUT iptables规则

iptables -D INPUT 11

7、验证跨主机的vxlan隧道端口间通信

在host1上输入命令

#ping 20.0.0.2

8、vxlan0端口加入到网桥,实现跨主机的VM间通信

在host1和host2上输入命令

#ovs-vsctl add-port br0 vxlan0

9、验证跨主机的VM通过vxlan隧道端口间通信

抓包如下:

三、结论:

通过OVS+VXLAN隧道口,可以模拟出跨主机的VM间通过vxlan隧道的通信过程,从抓包结果看,也是有vxlan格式封装的。

OVS+VXLAN实现两个宿主机上的VM间的通信的更多相关文章

  1. 关于VXLAN的认识-----ovs+vxlan多链路负载分担的实现方法

    一.应用环境 目前大部分网关或服务器设备常采用双链路同时接入多条ISP链路的方式来满足网络的负载均衡和主备切换等,实现该功能常用的方法是利用策略路由技术,根据链路的网络状况和权重配置在路由时动态选择不 ...

  2. 【Network】OVS VXLAN/GRE 实践

    参考资料: OVS/VXLAN/GRE参考 ovs vxlan IP overray_百度搜索 OVS操作总结-Neutron-about云开发 OpenStack OVS GRE/VXLAN网络_z ...

  3. docker - 修改镜像/容器文件的在宿主机上的存储位置(转)

    背景 之前在使用docker的时候,由于启动container的时候用的是默认的mount(路径为 /var/lib/docker),这个目录对应的硬盘空间有限,只有200G左右.现在随着程序运行,有 ...

  4. KVM宿主机上虚拟机动态添加新磁盘

    (1)KVM宿主机查看运行的虚拟机 $ virsh list --all (2)将qcow2的磁盘移动到/var/lib/libvirt/images/,比如为centos.qcow2 (3)进入/e ...

  5. 如何在查看docker container内进程信息,与宿主机上进程信息的映射关系

    docker container内运行的进程,在宿主机上,通过ps也是能够查到的,但是在不熟悉命令的时候,无法快速找到他们的关系. 这里科普一个基础命令 docker top 1. 找到容器的id d ...

  6. 如何在宿主机上执行容器里的jmap,jtack,jstat 命令获取信息(原创)

    一般情况下,我们要获取docker容器里的jvm信息只能进入容器后执行jmap,jstack,jstat 命令去获取,jstack,jstat还好,但是jmap dump的文件要拿出来,得先copy ...

  7. docker中,将容器中的文件拷贝到宿主机上

    需求说明: 今天在做docker修改配置文件的问题,一个容器要使用另外容器的一个配置文件,但是在宿主机上没有, 就考虑将容器中的文件拷贝到宿主机上,在此记录下操作过程. 操作过程: 1.通过docke ...

  8. docker - 修改镜像/容器文件或者 "Docker root dir" 的在宿主机上的存储位置

    背景 之前在使用docker的时候,由于启动container的时候用的是默认的mount(路径为 /var/lib/docker),这个目录对应的硬盘空间有限,只有200G左右.现在随着程序运行,有 ...

  9. neutron ovs+vxlan

    title: Neutron ovs+vxlan date: 2017-04-26 23:37 tags: Network 主机网卡配置 controller: ens160:192.168.11.1 ...

随机推荐

  1. ajax二进制流乱码图片解决方法

    仅供自己参考 参考博客 在请求成功的地方 添加以下代码: var blob=new Blob(); blob=this.response; 既然二进制数据拿到了,那么要把它放在一个 html标签中,并 ...

  2. 斜率优化DP总结

    HDU3507 Print Article Zero has an old printer that doesn't work well sometimes. As it is antique, he ...

  3. Linux 介绍与安装

  4. Color Highlight 鼠标放在 #f3f 上面其背景会变成相应的颜色的插件 DocBlockr自动补全注释

    不是  Color Highlighter    而是 Color Highlight  少了 er  颜色功能还是很爽的,找了好久 鼠标放在 #f3f 上面其背景会变成相应的颜色的插件 DocBlo ...

  5. Generator(生成器)函数

    一.基础知识 Generator函数是ES6出现的一种异步操作实现方案. 异步即代码分两段,但是不是连续执行,第一段执行完后,去执行其他代码,等条件允许,再执行第二段. 同步即代码连续执行. 1. G ...

  6. 转,sql 50道练习题

    SQL语句50题   -- 一.创建教学系统的数据库,表,以及数据 --student(sno,sname,sage,ssex) 学生表--course(cno,cname,tno) 课程表--sc( ...

  7. ASCII和Unicode编码的区别

    归纳: 编码 大小 支持语言 ASCII 1个字节 英文 Unicode 2个字节(生僻字4个) 所有语言 UTF-8 1-6个字节,英文字母1个字节,汉字3个字节,生僻字4-6个字节 所有语言 具体 ...

  8. learning scala extractor object

    package com.aura.scala.day01 import scala.util.Random object extractorObject { def main(args: Array[ ...

  9. jQuery相关方法1

    一.设置某个元素的标签内容------.html()方法 <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js& ...

  10. 2019暑期金华集训 Day3 图论

    自闭集训 Day3 图论 NOI2019 D2T1 没有真正建出图来的必要,可以直接打取\(\min\)的\(tag\). 也可以把边压进堆里,然后变成一个二维清点问题(???),然后就线段树+并查集 ...