本文描述如何使用Open vSwitch的VLAN隔离VM流量。

Setup 建立

本指南假设如下的配置环境

两个物理网络

  • 数据网络

    VM数据流量的以太网络,用于承载VM之间的VLAN流量。你的物理交换机必须支持转发带有VLAN标签的流量,并且物理交换机接口应工作在VLAN Trunk模式。(通常情况下,这是默认的行为。配置物理交换机硬件超出了本文的讨论范围)。

  • 管理网络

    严格意义上来说,此网络并不必须,但是,这是一种非常简单的方式给与物理主机可远程访问的IP地址,因为eth0端口不能直接赋予IP地址(马上讲述这一点)。

两个物理主机

此环境假设使用两个主机: host1 and host2. 他们都运行Open vSwitch软件。每个主机两个网卡NIC:eth0 和 eth1, 配置如下:

  • eth0 连接到数据网络. 无IP地址分配到 eth0.

  • eth1 连接到管理网络 (如果需要). eth1 拥有IP地址,可用于管理此物理机.

四个虚拟机

每个主机运行两个虚拟机(VM)。vm1vm2 运行在host1, 而 vm3vm4 运行在 host2.

每个虚拟机有一个端口,在物理主机中显示为一个Linux设备(例如, tap0)。

注意:
对于 Xen/XenServer, VM虚拟机的接口显示为名称类似vif1.0的Linux设备。其它的Linux系统也许将其端口显示为 vnet0,
vnet1, 等待.

配置步骤

在主机host1上执行以下的配置:

#. 创建 OVS 网桥:

 $ ovs-vsctl add-br br0

#. 添加 eth0 端口到网桥:

 $ ovs-vsctl add-port br0 eth0

注意:

  默认情况下,所有的OVS端口都是VLAN Trunk模式,所以eth0运行所有VLAN标签通过。

注意:

当你将eth0添加到OVS网桥后,任何分配给eth0的IP地址将停止工作。eth0的IP地址应在将其添加到OVS网桥前迁移到一个不同的端口上。这就是通过eth1实现分离的管理连接的原因。

  1. vm1 作为VLAN 100的"Access端口"添加到网桥. 这意味着由VM1进入OVS的流量将没有VLAN tag,并被假设为VLAN 100的一部分:

    $ ovs-vsctl add-port br0 tap0 tag=100

    在VLAN 200上添加 VM2:

    $ ovs-vsctl add-port br0 tap1 tag=200

在主机 host2重复以上的操作:

  1. 建立将eth0作为VLAN trunk的网桥:

    $ ovs-vsctl add-br br0
    $ ovs-vsctl add-port br0 eth0

  2. 添加 VM3 到 VLAN 100::

    $ ovs-vsctl add-port br0 tap0 tag=100

  3. 添加 VM4 到 VLAN 200::

    $ ovs-vsctl add-port br0 tap1 tag=200

验证

vm1 PING vm3应该成功,因为这两个虚拟机在相同的VLAN中(100)。

vm2 ping vm4也应当成功,因为这两个虚拟机也在相同的VLAN中(200)。

vm1vm3 ping vm2vm4都不应成功,因为这些虚拟机不在同一个VLAN中。如果你有一个路由器,配置为在VLAN间转发流量,ping可成功工作。但是,到的vm3的报文的源MAC地址应为路由器的MAC地址,而不是 vm1的MAC地址.

OVS使用VLAN隔离VM流量相关推荐

  1. ovs-docker实现容器网络vlan隔离

    1.生成容器h1.h2.h3 sudo docker run -it --name=h1 --network=none --privileged=true host/ubuntusudo docker ...

  2. esxi所连交换机划vlan导致vm不能通讯

    今天要做一个性能测试,对带宽要求较高,采用ESXi4.1做虚拟化平台,有3个网卡,其中一个网卡给vmkernel和一些不占带宽的VM.还有2个千兆端口分别给两个虚拟机. 使用这2个千兆端口绑定2个标准 ...

  3. OVS之vhost-net中VM通信(十)

    一.技术简介 1.1 virtio-net简介 virtio-net在guest前端驱动kick对其驱动时,采用I/O指令方式退出到主机kvm.kvm通过eventfd_signal重新交换的qemu ...

  4. 实验:通过MUX-vlan实现vlan隔离

    华为S5700交换机,通过MUX-Vlan实现交换机端口隔离 一.实验要求: 二.实验步骤: 1.交换机1详细步骤及命令 2.交换机2详细步骤及命令 3.交换机3详细步骤及命令 三.运行并测试: 1. ...

  5. 【eNSP】vlan隔离

    实现仅仅只让研发.人事.财务三个部门的用户能各自相互访问,生产和销售两个部门隔离两个交换机之间的访问. 1.进入sw1的e0/0/1口进行配置 去掉原先设置好的vlan命令: Undo port tr ...

  6. OpenVSwtich(OVS)Vlan间路由实战 附实验环境

    1.OpenVSwtich 简介 OpenvSwitch,简称OVS是一个虚拟交换软件,主要用于虚拟机VM环境,作为一个虚拟交换机,支持Xen/XenServer, KVM, and VirtualB ...

  7. OVS之vhost-net中VM通信(九)

    一.版本说明 qemu版本:2.6.0 内核版本:3.10.102 二.简而言之 vhost模块需要提前加载,注册一个misc的设备,供虚拟机启动时候使用. 虚拟机创建的时候,会初始化一个tap设备, ...

  8. VLAN隔离思维导图

  9. 浅谈Kube-OVN

    Kube-OVN简介 Kube-OVN 是一款 CNCF 旗下的企业级云原生网络编排系统,将 SDN 的能力和云原生结合, 提供丰富的功能,极致的性能以及良好的可运维性. Kube-OVN可提供跨云网 ...

  10. cloudstack 安全组

    1 安全组 1.1 功能定义 安全组提供一个隔离VM流量的途径,一个安全组由进出两个方向的过滤规则构成.这个规则通过IP(CIDR)地址来限制对VM的访问.VM建立后就会有一个默认的安全组(可以选择自 ...

最新文章

  1. 创建一个显示所有预定义WPF颜色的ListBox
  2. HOJ 2576 HOJ 2577 Simple Computing I II 容斥原理
  3. ECMAScript、JavaScript与Nodejs的区别
  4. RuntimeError: Cannot run the event loop while another loop is running
  5. Spring,ehcache整合报错
  6. 阿特斯携手EDF启动建设巴西191.5MW光伏项目
  7. XGBoost实战与调参优化
  8. 远程下载马bypass waf
  9. 小程序的视频代码示例
  10. js之金额大小写转换工具类(测试OK)
  11. 电脑基础知识入门:键盘上的英文,意思和功能汇总!
  12. java怎么实现历史修改记录_java历史记录封装实现
  13. azkaban 与 java任务_任务调度工具oozie和azkaban的对比
  14. mysql网游单机架设_网游单机架设直观教程终结版.doc
  15. 从屡遭拒稿到90后助理教授,罗格斯大学王灏:好奇心驱使我不断探索
  16. Emoji 映射编码
  17. AS13 facets cannot be loaded. you can mark them as ignored to suppress this error notification处理
  18. python 发送带附件邮件到钉钉邮箱+邮件内容带有表格
  19. 计算机考研最简单的专业,计算机专业有必要考研吗?计算机考研简单的校园都有哪些...
  20. 《运营力——微信公众号 设计 策划 客服 管理 一册通》导读

热门文章

  1. html5 做屏幕保护效果,电脑屏保制作软件如何制作屏保 及如何设置屏幕保护
  2. 安卓手机各大应用市场APP审核遇到的坑
  3. 市场app应用类型分类有哪些?app应用管理
  4. jvm gc日志分析和工具
  5. c语言中罗马字母数字,C语言程序经典示例—-(22)阿拉伯数字转换为罗马数字...
  6. 中国医药中间体行业盈利状况与竞争趋势预测报告(新版)2022-2027年
  7. 考研复试常见问题(数据库系统概论篇)
  8. 通信工程cdma篇-网优网规基础
  9. 前端 配色网站 自用 免费 颜色很全
  10. 卸载CDH5.14.2