OVS使用VLAN隔离VM流量
本文描述如何使用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)。vm1
和 vm2
运行在host1
, 而 vm3
和 vm4
运行在 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实现分离的管理连接的原因。
将
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
重复以上的操作:
建立将eth0作为VLAN trunk的网桥:
$ ovs-vsctl add-br br0
$ ovs-vsctl add-port br0 eth0添加 VM3 到 VLAN 100::
$ ovs-vsctl add-port br0 tap0 tag=100
添加 VM4 到 VLAN 200::
$ ovs-vsctl add-port br0 tap1 tag=200
验证
从vm1
PING vm3
应该成功,因为这两个虚拟机在相同的VLAN中(100)。
从vm2
ping vm4
也应当成功,因为这两个虚拟机也在相同的VLAN中(200)。
从vm1
或vm3
ping vm2
或vm4
都不应成功,因为这些虚拟机不在同一个VLAN中。如果你有一个路由器,配置为在VLAN间转发流量,ping可成功工作。但是,到的vm3
的报文的源MAC地址应为路由器的MAC地址,而不是 vm1
的MAC地址.
OVS使用VLAN隔离VM流量相关推荐
- ovs-docker实现容器网络vlan隔离
1.生成容器h1.h2.h3 sudo docker run -it --name=h1 --network=none --privileged=true host/ubuntusudo docker ...
- esxi所连交换机划vlan导致vm不能通讯
今天要做一个性能测试,对带宽要求较高,采用ESXi4.1做虚拟化平台,有3个网卡,其中一个网卡给vmkernel和一些不占带宽的VM.还有2个千兆端口分别给两个虚拟机. 使用这2个千兆端口绑定2个标准 ...
- OVS之vhost-net中VM通信(十)
一.技术简介 1.1 virtio-net简介 virtio-net在guest前端驱动kick对其驱动时,采用I/O指令方式退出到主机kvm.kvm通过eventfd_signal重新交换的qemu ...
- 实验:通过MUX-vlan实现vlan隔离
华为S5700交换机,通过MUX-Vlan实现交换机端口隔离 一.实验要求: 二.实验步骤: 1.交换机1详细步骤及命令 2.交换机2详细步骤及命令 3.交换机3详细步骤及命令 三.运行并测试: 1. ...
- 【eNSP】vlan隔离
实现仅仅只让研发.人事.财务三个部门的用户能各自相互访问,生产和销售两个部门隔离两个交换机之间的访问. 1.进入sw1的e0/0/1口进行配置 去掉原先设置好的vlan命令: Undo port tr ...
- OpenVSwtich(OVS)Vlan间路由实战 附实验环境
1.OpenVSwtich 简介 OpenvSwitch,简称OVS是一个虚拟交换软件,主要用于虚拟机VM环境,作为一个虚拟交换机,支持Xen/XenServer, KVM, and VirtualB ...
- OVS之vhost-net中VM通信(九)
一.版本说明 qemu版本:2.6.0 内核版本:3.10.102 二.简而言之 vhost模块需要提前加载,注册一个misc的设备,供虚拟机启动时候使用. 虚拟机创建的时候,会初始化一个tap设备, ...
- VLAN隔离思维导图
- 浅谈Kube-OVN
Kube-OVN简介 Kube-OVN 是一款 CNCF 旗下的企业级云原生网络编排系统,将 SDN 的能力和云原生结合, 提供丰富的功能,极致的性能以及良好的可运维性. Kube-OVN可提供跨云网 ...
- cloudstack 安全组
1 安全组 1.1 功能定义 安全组提供一个隔离VM流量的途径,一个安全组由进出两个方向的过滤规则构成.这个规则通过IP(CIDR)地址来限制对VM的访问.VM建立后就会有一个默认的安全组(可以选择自 ...
最新文章
- 创建一个显示所有预定义WPF颜色的ListBox
- HOJ 2576 HOJ 2577 Simple Computing I II 容斥原理
- ECMAScript、JavaScript与Nodejs的区别
- RuntimeError: Cannot run the event loop while another loop is running
- Spring,ehcache整合报错
- 阿特斯携手EDF启动建设巴西191.5MW光伏项目
- XGBoost实战与调参优化
- 远程下载马bypass waf
- 小程序的视频代码示例
- js之金额大小写转换工具类(测试OK)
- 电脑基础知识入门:键盘上的英文,意思和功能汇总!
- java怎么实现历史修改记录_java历史记录封装实现
- azkaban 与 java任务_任务调度工具oozie和azkaban的对比
- mysql网游单机架设_网游单机架设直观教程终结版.doc
- 从屡遭拒稿到90后助理教授,罗格斯大学王灏:好奇心驱使我不断探索
- Emoji 映射编码
- AS13 facets cannot be loaded. you can mark them as ignored to suppress this error notification处理
- python 发送带附件邮件到钉钉邮箱+邮件内容带有表格
- 计算机考研最简单的专业,计算机专业有必要考研吗?计算机考研简单的校园都有哪些...
- 《运营力——微信公众号 设计 策划 客服 管理 一册通》导读