动手实践 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 的网络虚拟化做个总结。

  1. 物理交换机存在多个 VLAN,每个 VLAN 拥有多个端口。 同一 VLAN 端口之间可以交换转发,不同 VLAN 端口之间隔离。 所以交换机其包含两层功能:交换与隔离

  2. Linux 的 VLAN 设备实现的是隔离功能,但没有交换功能。 一个 VLAN 母设备(比如 eth0)不能拥有两个相同 ID 的 VLAN 子设备,因此也就不可能出现数据交换情况。

  3. Linux Bridge 专门实现交换功能。 将同一 VLAN 的子设备都挂载到一个 Bridge 上,设备之间就可以交换数据了。

总结起来,Linux Bridge 加 VLAN 在功能层面完整模拟现实世界里的二层交换机。

eth0 相当于虚拟交换机上的 trunk 口,允许 vlan10 和 vlan20 的数据通过 eth0.10,vent0 和 brvlan10 都可以看着 vlan10 的 access 口 eth0.20,vent1 和 brvlan20 都可以看着 vlan20 的 access 口

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/458938.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Socket的3次握手链接与4次断开握手

*************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com *************************************************** 连接握手: 1.客户端发送建立连接请求 (发送请求)2.…

Linux桌面需要强制访问控制,RHCSA 系列(十三): 在 RHEL 7 中使用 SELinux 进行强制访问控制...

RHCSA 认证:SELinux 精要和控制文件系统的访问尽管作为第一级别的权限和访问控制机制是必要的,但它们同样有一些局限,而这些局限则可以由安全增强 Linux(Security Enhanced Linux,简称为 SELinux)来处理。这些局限的一种情形是&am…

使用canvas实现擦玻璃效果

体验效果:http://hovertree.com/texiao/html5/25/效果图&#xff1a;代码如下&#xff1a; <!DOCTYPE html> <html> <head lang"zh"> <meta name"viewport" content"initial-scale1.0, maximum-scale1.0, user-scalableno, widt…

如何计算时间复杂度

*************************************************** 更多精彩&#xff0c;欢迎进入&#xff1a;http://shop115376623.taobao.com *************************************************** 求解算法的时间复杂度的具体步骤是&#xff1a; ⑴ 找出算法中的基本语句&#xff1b;…

linux显示系统信息软件下载,linux查看系统信息软件安装信息命令学习笔记

查看LINUX安装版本[rootlocalhost etc]# unameLinux[rootlocalhost etc]# uname -aLinux localhost.localdomain 2.6.32-279.11.1.el6.i686 #1 SMP Tue Oct 16 14:40:53 UTC 2012 i686 i686 i386 GNU/Linux[rootlocalhost etc]# cat /proc/versionLinux version 2.6.32-279.11.…

Bzoj 2662: [BeiJing wc2012]冻结 dijkstra,堆,分层图,最短路

2662: [BeiJing wc2012]冻结 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 647 Solved: 348[Submit][Status][Discuss]Description “我要成为魔法少女&#xff01;” “那么&#xff0c;以灵魂为代价&#xff0c;你希望得到什么&#xff1f;” “我要将有关魔法和奇…

[转]opencv学习资料

转自&#xff1a;http://blog.csdn.net/poem_qianmo/article/details/20537737 1&#xff1a;Mat imread(const string& filename, intflags1 ); eg: Mat image0imread("dota.jpg",CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR);//载入最真实的图像 ge1i…

linux servlet 乱码问题,Servlet一次乱码排查后的总结

由来在写一个小小的表单提交功能的时候&#xff0c;出现了乱码&#xff0c;很奇怪request上来的参数全部是乱码&#xff0c;而从数据库查询出来的中文显示到页面正常&#xff0c;锁定肯定是request对象那里出了问题。后来经过排查&#xff0c;发现是我封装的框架中出了问题&…

C/C++回调函数

*************************************************** 更多精彩&#xff0c;欢迎进入&#xff1a;http://shop115376623.taobao.com *************************************************** 对于很多初学者来说&#xff0c;往往觉得回调函数很神秘&#xff0c;很想知道回调函数…

Linux 命令[2]:mkdir

make directories mkdir -p [目录名] -p 递归创建 [rootlocalhost ~]# mkdir -p test [rootlocalhost ~]# ls anaconda-ks.cfg install.log install.log.syslog test 当然只创建一个目录 -p 是可以省略的 注&#xff1a;如果创建多级目录没有 -p 会报错 如&#xff1a; [roo…

jQuery动态设置样式List item

前段时间&#xff0c;Insus.NET有修改一个功能《激活当前视图菜单高亮呈现》http://www.cnblogs.com/insus/p/5287093.html 今天Insus.NET想改用另外一个方法来实现&#xff0c;使用jQuery。在ASP.NET MVC 环境实现&#xff1a; 代码&#xff1a; <ul><li><a hr…

linux telnet 权限,允许telnet 通过root用户进行访问

允许telnet 通过root用户进行访问RHEL6:[rootclovem ~]# yum install telnet-server -y //安装telnet服务端[rootclovem ~]# cat /etc/xinetd.d/telnet //开启telnet的托管服务# default: on# description: The telnet server serves telnet sessions; it uses \#unencrypt…

TOUGHRADIUS 项目介绍

2019独角兽企业重金招聘Python工程师标准>>> TOUGHRADIUS 项目介绍 ToughRADIUS是一个开源的Radius服务软件&#xff0c;采用于 Apache License 2.0 许可协议发布&#xff0c;从创立之日起&#xff0c;他的宗旨就是服务于中小微ISP&#xff0c;让运营变得更简单。 T…

转:Jmeter 用户思考时间(User think time),定时器,和代理服务器(proxy server)...

在负载测试中需要考虑的的一个重要要素是思考时间&#xff08;think time&#xff09;&#xff0c; 也就是在两次成功的访问请求之间的暂停时间。 有多种情形挥发导致延迟的发生&#xff1a; 用户需要时间阅读文字内容&#xff0c;或者填表&#xff0c;或者查找正确的链接等。未…

linux sql语句传参数,Linux/Unixshell参数传递到SQL脚本

在数据库运维的过程中&#xff0c;Shell 脚本在很大程度上为运维提供了极大的便利性。而shell 脚本参数作为变量传递给SQL以及SQL脚本也是DB在数据库运维的过程中&#xff0c;Shell 脚本在很大程度上为运维提供了极大的便利性。而shell 脚本参数作为变量传递给SQL以及SQL脚本也…

Myeclipse5.5获取注册码

2019独角兽企业重金招聘Python工程师标准>>> import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class MyEclipseGen {private static final String LL "Decompiling this copyrighted software is a vi…

虚函数和纯虚函数的区别

*************************************************** 更多精彩&#xff0c;欢迎进入&#xff1a;http://shop115376623.taobao.com *************************************************** 首先&#xff1a;强调一个概念 定义一个函数为虚函数&#xff0c;不代表函数为不被实…

工作日志WebRoot--编辑页关于处理两个关联的选择框

案例&#xff1a;点击编辑&#xff0c;弹出界面后每个栏目都有一个默认的数值&#xff0c;但若其中一个选择框发生更改&#xff0c;则触发另一选择框内的数据发生变动&#xff08;例如组织机构选择发生变动&#xff0c;则相对应的组织机构的下属机构也发生变动&#xff09;。 解…

linux下r语言画图,linux命令行下使用R语言绘图实例讲解

使用系统&#xff1a;centos 6.4 64bit在R语言中可以使用png()等函数生成图片&#xff0c;例如&#xff1a; png("aa.png")可以生成图片。但是如果你是通过shell远程连接到系统上&#xff0c;可能会碰到如下错误&#xff1a;> png("aa.png")错误于.Exte…

Windows Mobile Gprs连接与数据传输

此模块分两部分完成&#xff0c;传输数据用socket &#xff0c;要使用socket在ppc上进行数据传输&#xff0c;就要谁让ppc自动连接gprs 。其中套接字和gprs链接分别进行说明。 一 &#xff0c;应用程序在进行其它所需的Windows Sockets API调用需要进行一次成功的WSAStartup()调…