动手实践 Linux VLAN - 每天5分钟玩转 OpenStack(13)
本节我们来看如何在实验环境中实施和配置如下 VLAN 网络
配置 VLAN
编辑 /etc/network/interfaces,配置 eth0.10、brvlan10、eth0.20 和 brvlan20。
下面用 vmdiff 展示了对 /etc/network/interfaces 的修改
重启宿主机,ifconfig 各个网络接口
用 brctl show 查看当前 Linux Bridge 的配置。
eth0.10 和 eth0.20 分别挂在 brvlan10 和 brvlan20上 了
在宿主机中已经提前创建好了虚机 VM1 和 VM2,现在都处于关机状态
配置 VM1
在 virt-manager 中将 VM1 的虚拟网卡挂到 brvlan10 上。
启动 VM1
查看 Bridge,发现 brvlan10 已经连接了一个 vnet0 设备
通过 virsh 确认这就是 VM1 的虚拟网卡。
配置VM2
类似的,将 VM2 的网卡挂在 brvlan20 上
启动 VM2
查看 Bridge,发现 brvlan20 已经连接了一个 vnet1 设备
通过 virsh 确认这就是 VM2 的虚拟网卡。
验证 VLAN 的隔离性
为了验证 VLAN10 和 VLAN20 之间的隔离,我们为 VM1 和 VM2 配置同一网段的 IP。
配置 VM1 的 IP
配置 VM2 的 IP
Ping 测试结果: VM1 与 VM2 是不通的
原因如下:
1. VM2 向 VM1 发 Ping 包之前,需要知道 VM1 的 IP 192.168.100.10 所对应的 MAC 地址。VM2 会在网络上广播 ARP 包,其作用就是问 “谁知道 192.168.100.10 的 MAC 地址是多少?”
2. ARP 是二层协议,VLAN 的隔离作用使得 ARP 只能在 VLAN20 范围内广播,只有 brvlan20 和 eth0.20 能收到,VLAN10 里的设备是收不到的。VM1 无法应答 VM2 发出的ARP包。
3. VM2 拿不到 VM1 vnet0 的 MAC 地址,也就 Ping 不到 VM1。
Linux Bridge + VLAN = 虚拟交换机
现在对 KVM 的网络虚拟化做个总结。
物理交换机存在多个 VLAN,每个 VLAN 拥有多个端口。
同一 VLAN 端口之间可以交换转发,不同 VLAN 端口之间隔离。
所以交换机其包含两层功能:交换与隔离。Linux 的 VLAN 设备实现的是隔离功能,但没有交换功能。
一个 VLAN 母设备(比如 eth0)不能拥有两个相同 ID 的 VLAN 子设备,因此也就不可能出现数据交换情况。Linux Bridge 专门实现交换功能。
将同一 VLAN 的子设备都挂载到一个 Bridge 上,设备之间就可以交换数据了。
总结起来,Linux Bridge 加 VLAN 在功能层面完整模拟现实世界里的二层交换机。
eth0 相当于虚拟交换机上的 trunk 口,允许 vlan10 和 vlan20 的数据通过
eth0.10,vent0 和 brvlan10 都可以看着 vlan10 的 access 口
eth0.20,vent1 和 brvlan20 都可以看着 vlan20 的 access 口
动手实践 Linux VLAN - 每天5分钟玩转 OpenStack(13)的更多相关文章
- 动手实践虚拟网络 - 每天5分钟玩转 OpenStack(10)
本节将演示如何在实验环境中实现下图所示的虚拟网络 配置 Linux Bridge br0 编辑 /etc/network/interfaces,配置 br0. 下面用 vimdiff 展示了对 /et ...
- 制作 OpenStack Linux 镜像 - 每天5分钟玩转 OpenStack(151)
这是 OpenStack 实施经验分享系列的第 1 篇. OpenStack 的 instance 是通过 Glance 镜像部署的,所以准备镜像是必须要做的工作.本节介绍 Linux 镜像的制作方法 ...
- Linux 如何实现 VLAN - 每天5分钟玩转 OpenStack(12)
LAN 表示 Local Area Network,本地局域网,通常使用 Hub 和 Switch 来连接 LAN 中的计算机.一般来说,两台计算机连入同一个 Hub 或者 Switch 时,它们就在 ...
- 动手实践 Linux VLAN
本节我们来看如何在实验环境中实施和配置如下 VLAN 网络 配置 VLAN 编辑 /etc/network/interfaces,配置 eth0.10.brvlan10.eth0.20 和 brvla ...
- O013、动手实践Linux VLAN
参考https://www.cnblogs.com/CloudMan6/p/5326737.html 本节我们来看如何在实验环境中实施和部署如下的VLAN 网络
- 在 ML2 中配置 Vlan Network- 每天5分钟玩转 OpenStack(93)
上一节我们学习了 Neutron Vlan Network 的原理,今天讨论如何在 ML2 配置中 enable 它. 首先在 /etc/neutron/plugins/ml2/ml2_conf.in ...
- 实践 config drive - 每天5分钟玩转 OpenStack(170)
如果 instance 无法通过 metadata service 获取 metadata(无 DHCP 或者 nova-api-metadata 服务),instance 还可以通过 config ...
- FWaaS 实践: 允许 ssh - 每天5分钟玩转 OpenStack(119)
上一节应用了无规则的虚拟防火墙,不允许任何流量通过. 今天我们会在防火墙中添加一条规则,允许 ssh.最后我们会对安全组和 FWaaS 作个比较. 下面我们添加一条 firewall rule:允许 ...
- 实践 Neutron FWaaS - 每天5分钟玩转 OpenStack(118)
前面我们学习了 FWaaS 的理论知识,今天将通过实验来学习 FWaaS. 在我们的实验环境中,有两个 instance: cirros-vm1(172.16.100.3) 和 cirros-vm2( ...
随机推荐
- SQL Server 存储过程中处理多个查询条件的几种常见写法分析,我们该用那种写法
本文出处: http://www.cnblogs.com/wy123/p/5958047.html 最近发现还有不少做开发的小伙伴,在写存储过程的时候,在参考已有的不同的写法时,往往很迷茫,不知道各种 ...
- Java 实现批量重命名,亲测可用(精简版)
之前在网上下载了很多视频,解压缩后,发现里面每个文件前面都有一长串的网址,导致我根本看不清每个视频的名字到底叫什么? 网上搜了一些批量重命名的方法,可都不是我想要的,既然这样,干脆自己动手用Java写 ...
- Effective java笔记(七),通用程序设计
45.将局部变量的作用域最小化 将局部变量的作用域最小化,可以增强代码的可读性和可维护性,并降低出错的可能性. Java允许在任何可以出现语句的地方声明变量(C语言中局部变量要在代码块开头声明),要使 ...
- SQL Server 存储过程遇到“表 '#TT' 没有标识属性。无法执行 SET 操作”错误
创建临时表,往临时表插入数据的时候报的错误. 一开始提示没有打开主键,后来打开主键就提示上述错误异常. 从网上查找资料没有找到,然后又到群里问各位大牛,一位大牛告诉我是没有设置主键. 我又仔细看看提示 ...
- [Q&A] 在证书存储区中找不到清单签名证书
方案1:右击项目属性->签名->为 ClickOnce 清单签名,将勾掉的选项去掉. 方案2:在签名中创建一个新的签名. 方案3:记事本打开相应的 csproj 文件,调整节点值.< ...
- .net源码分析 – Dictionary<TKey, TValue>
接上篇:.net源码分析 – List<T> Dictionary<TKey, TValue>源码地址:https://github.com/dotnet/corefx/blo ...
- sqlserver 时间格式函数详细
一.时间函数 在使用存储过程,sql函数的时候,会遇到一些对时间的处理.比如时间的获取与加减.这里就用到了sql自带的时间函数.下面我列出这些函数,方便日后记忆,使用. --getdate 获取当前时 ...
- 【Java每日一题】20161212
package Dec2016; public class Ques1212 { public static void main(String[] args){ System.out.println( ...
- Java程序员必须掌握的8大排序算法
分类: 1)插入排序(直接插入排序.希尔排序)2)交换排序(冒泡排序.快速排序)3)选择排序(直接选择排序.堆排序)4)归并排序5)分配排序(基数排序) 所需辅助空间最多:归并排序所需辅助空间最少:堆 ...
- java.lang.Exception: Could not determine the type of file "smb://zhangsan:123456@10.77.44.222/o/mmfiles_2016/40094/25556/2130.avi".
1. 使用smb协议上传文件 报上述错误 2. 解决方法 开启administrator超级管理员 smb地址改为smb://administrator:123456@10.10.10.10/o/.. ...