动手实践 Linux VLAN - 每天5分钟玩转 OpenStack(13)
来源:互联网 发布:java list排序 编辑:程序博客网 时间:2024/06/02 17:07
本节我们来看如何在实验环境中实施和配置下面的 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 如何实现 VLAN - 每天5分钟玩转 OpenStack(12)
- Neutron Vlan Network 原理- 每天5分钟玩转 OpenStack(92)
- 在 ML2 中配置 Vlan Network- 每天5分钟玩转 OpenStack(93)
- 创建第一个 vlan network "vlan100" - 每天5分钟玩转 OpenStack(94)
- 创建第二个 vlan network "vlan101" - 每天5分钟玩转 OpenStack(96)
- 在 ML2 中配置 OVS vlan network - 每天5分钟玩转 OpenStack(136)
- 分析 OVS 如何实现 vlan 隔离 - 每天5分钟玩转 OpenStack(140)
- OpenStack 架构 - 每天5分钟玩转 OpenStack(15)
- 制作 OpenStack Linux 镜像 - 每天5分钟玩转 OpenStack(151)
- 实践 Neutron 前的两个准备工作 - 每天5分钟玩转 OpenStack(78)
- 实践 Neutron FWaaS - 每天5分钟玩转 OpenStack(118)
- FWaaS 实践: 允许 ssh - 每天5分钟玩转 OpenStack(119)
- 虚拟化 - 每天5分钟玩转 OpenStack(2)
- 理解 virbr0 - 每天5分钟玩转 OpenStack(11)
- 部署 DevStack - 每天5分钟玩转 OpenStack(17)
- 理解 Glance - 每天5分钟玩转 OpenStack(20)
- PHPCMSV9 乱解读 之 PHPCMS V9的MVC
- windows下Eclipse的Hadoop运行调试环境搭建
- Spark集群的安装与使用
- git命令行
- 串的三种实现方式
- 动手实践 Linux VLAN - 每天5分钟玩转 OpenStack(13)
- hadoop集群安装以及Hive、sqoop的使用
- 字符串中第一次出现的字符
- hadoop2.6.3配置
- 台大机器学习笔记(7)——The VC Dimension
- Sublime Text 2编辑markdown文件
- This Handler class should be static or leaks might occur 解决办法
- 删除多余空格
- nyoj 1238最小换乘