Linux Bridge 网桥管理

VM2 的虚拟网卡 vnet1 也连接到了 br0 上。 现在 VM1 和 VM2 之间可以通信,同时 VM1 和 VM2 也都可以与外网通信

#

Vlan

LAN 表示 Local Area Network,本地局域网,通常使用 Hub(集线器) 和 Switch (交换机) 来连接 LAN 中的计算机。一般来说,两台计算机连入同一个 Hub(集线器) 或者 Switch (交换机) 时,它们就在同一个 LAN 中。

一个 LAN 表示一个广播域。 其含义是:LAN 中的所有成员都会收到任意一个成员发出的广播包。

VLAN 表示 Virtual LAN。一个带有 VLAN 功能的switch(交换机) 能够将自己的端口划分出多个 LAN。计算机发出的广播包可以被同一个 LAN 中其他计算机收到,但位于其他 LAN 的计算机则无法收到。 简单地说,VLAN 将一个交换机分成了多个交换机,限制了广播的范围,在二层将计算机隔离到不同的 VLAN 中。

交换机的网口(两种工作模式)  (默认是Access口)

Access : 只允许一个vlan标记通过

Trunk: 可以多个vlan 通过

#

#

Access 口

  这些端口被打上了 VLAN 的标签,表明该端口属于哪个 VLAN。 不同 VLAN 用 VLAN ID 来区分,VLAN ID 的 范围是 1-4096。 Access 口都是直接与计算机网卡相连的,这样从该网卡出来的数据包流入 Access 口后就被打上了所在 VLAN 的标签。 Access 口只能属于一个 VLAN。

Trunk 口

  假设有两个交换机 A 和 B。 A 上有 VLAN1(红)、VLAN2(黄)、VLAN3(蓝);B 上也有 VLAN1、2、3,那如何让 AB 上相同 VLAN 之间能够通信呢?

  办法是将 A 和 B 连起来,而且连接 A 和 B 的端口要允许 VLAN1、2、3 三个 VLAN 的数据都能够通过。这样的端口就是Trunk口了。 VLAN1, 2, 3 的数据包在通过 Trunk 口到达对方交换机的过程中始终带着自己的 VLAN 标签。

交换机

交换机的管理口:console口

console线用来把电脑和交换机相连,进行配置

#通过crt   与交换机 进行连接

1、

2、

# 插入console线,查看设备管理器,会显示COM口,从而去选择所对应的端口

Linux Bridge 实现vlan 原理

eth0 是宿主机上的物理网卡,有一个命名为 eth0.10 的子设备与之相连。 eth0.10 就是 VLAN 设备了,其 VLAN ID 就是 VLAN 10。 eth0.10 挂在命名为 brvlan10 的 Linux Bridge 上,虚机 VM1 的虚拟网卡 vent0 也挂在 brvlan10 上。

  这样的配置其效果就是: 宿主机用软件实现了一个交换机(当然是虚拟的),上面定义了一个 VLAN10。 eth0.10,brvlan10 和 vnet0 都分别接到 VLAN10 的 Access口上。而 eth0 就是一个 Trunk 口。VM1 通过 vnet0 发出来的数据包会被打上 VLAN10 的标签。

eth0.10 的作用是:定义了 VLAN10

brvlan10 的作用是:Bridge 上的其他网络设备自动加入到 VLAN10 中

Linux Bridge 实现vlan

1>查看核心是否提供VLAN 功能

 dmesg | grep -i 

#如果没有可以用 modprobe  8021q  来加载模块

2>安装查看用于查看Vlan配置的工具—vconfig

3>在设备上添加一块网卡ens37

4>配置ens37

&1 生成ens37配置文件

#1  nmtui

#2

#3

#4

&2 编辑ens37 配置文件

#1

#2

#3 编辑

5>创建接口

基于网卡ens37建立vlan10,vlan20接口:ens37.10,ens37.20

#

#

6>创建ens37.10接口配置文件并编辑

#

VLAN=yes

TYPE=vlan

PHYSDEV=ens37

VLAN_ID=

NAME=ens37.

ONBOOT=yes

ZONE=trusted

DEVICE=ens37.

BRIDGE=brvlan-

7>创建ens38.20 接口配置文件并编辑

VLAN=yes

TYPE=vlan

PHYSDEV=ens37

VLAN_ID=

NAME=ens37.

ONBOOT=yes

ZONE=trusted

DEVICE=ens37.

BRIDGE=brvlan-

8>分别建立网桥brvlan-10,brvlan-20

9>编辑网桥brvlan-10配置文件

TYPE=bridge

BOOTPROTO=static

NAME=brvlan-

DEVICE=brvlan-

ONBOOT=yes

#

10>编辑网桥brvlan-20配置文件

TYPE=bridge

BOOTPROTO=static

NAME=brvlan-

DEVICE=brvlan-

ONBOOT=yes

#

11>将网桥brvlan-10接到网口ens37.10,brvlan-20接到网口ens37.20

12>重启网卡

13>虚拟机测试

#1 克隆一台虚拟机

#2 在 virt-manager 中将 VM1 的虚拟网卡挂到 brvlan-10 上

#3    将 VM2 的虚拟网卡挂到 brvlan-20 上

# 4  虚拟机开机 并查看宿主机  Bridge

&brvlan10 已经连接了 vnet0;brvlan20 已经连接了 vnet1

kvm虚拟化网络管理的更多相关文章

  1. KVM虚拟化网络管理(4)

    一.Linux Bridge网桥管理 网络虚拟化是虚拟化技术中最复杂的部分,也是非常重要的资源.第一节中我们创建了一个名为br0的linux-bridge网桥,如果在此网桥上新建一台vm,如下图: V ...

  2. kvm虚拟化网络管理(5)

    一.Linux Bridge网桥管理 网络虚拟化是虚拟化技术中最复杂的部分,也是非常重要的资源. 第一节中我们创建了一个名为br0的linux-bridge网桥,如果在此网桥上新建一台vm,如下图: ...

  3. [原] KVM 虚拟化原理探究(1)— overview

    KVM 虚拟化原理探究- overview 标签(空格分隔): KVM 写在前面的话 本文不介绍kvm和qemu的基本安装操作,希望读者具有一定的KVM实践经验.同时希望借此系列博客,能够对KVM底层 ...

  4. [原] KVM 虚拟化原理探究 —— 目录

    KVM 虚拟化原理探究 -- 目录 标签(空格分隔): KVM KVM 虚拟化原理探究(1)- overview KVM 虚拟化原理探究(2)- QEMU启动过程 KVM 虚拟化原理探究(3)- CP ...

  5. [原] KVM 虚拟化原理探究(6)— 块设备IO虚拟化

    KVM 虚拟化原理探究(6)- 块设备IO虚拟化 标签(空格分隔): KVM [toc] 块设备IO虚拟化简介 上一篇文章讲到了网络IO虚拟化,作为另外一个重要的虚拟化资源,块设备IO的虚拟化也是同样 ...

  6. [原] KVM 虚拟化原理探究(5)— 网络IO虚拟化

    KVM 虚拟化原理探究(5)- 网络IO虚拟化 标签(空格分隔): KVM IO 虚拟化简介 前面的文章介绍了KVM的启动过程,CPU虚拟化,内存虚拟化原理.作为一个完整的风诺依曼计算机系统,必然有输 ...

  7. [原] KVM 虚拟化原理探究(4)— 内存虚拟化

    KVM 虚拟化原理探究(4)- 内存虚拟化 标签(空格分隔): KVM 内存虚拟化简介 前一章介绍了CPU虚拟化的内容,这一章介绍一下KVM的内存虚拟化原理.可以说内存是除了CPU外最重要的组件,Gu ...

  8. [原] KVM 虚拟化原理探究(3)— CPU 虚拟化

    KVM 虚拟化原理探究(3)- CPU 虚拟化 标签(空格分隔): KVM [TOC] CPU 虚拟化简介 上一篇文章笼统的介绍了一个虚拟机的诞生过程,从demo中也可以看到,运行一个虚拟机再也不需要 ...

  9. [原] KVM 虚拟化原理探究(2)— QEMU启动过程

    KVM 虚拟化原理探究- QEMU启动过程 标签(空格分隔): KVM [TOC] 虚拟机启动过程 第一步,获取到kvm句柄 kvmfd = open("/dev/kvm", O_ ...

随机推荐

  1. ALTER TABLE - 修改表的定义

    SYNOPSIS ALTER TABLE [ ONLY ] name [ * ] ADD [ COLUMN ] column type [ column_constraint [ ... ] ] AL ...

  2. 05EXtensible Stylesheet Language

    1. EXtensible Stylesheet Language 1. EXtensible Stylesheet Language XSL 指扩展样式表语言(EXtensible Styleshe ...

  3. 01Oracle Database

    Oracle Database Oracle Database又名Oracle RDBMS简称Oracle是甲骨文公司的一款关系数据库管理系统. Oracle Website.

  4. left_v2.js

    $(document).ready(function(){ $(".mc_left a").each(function(){ var href = $(this).attr(&qu ...

  5. React入门介绍(1)-ReactDOM.render()等基础

    React入门介绍-ReactDOM.render()等基础 首先,React是一个用于构建用户界面的Javascript库,但Peact并不是一套完整的MVC或MVVM的框架,它仅涵盖V-view视 ...

  6. vue+VeeValidate 校验范围(部分校验,全部校验)

    搜索很久,没有发现有关于vue+VeeValidate部分校验的.自己写一个. 主要是两个场景: 1. 校验范围内,所有的字段. 2. 校验全局所有字段.主要方法: 1.validate(fields ...

  7. pop(),del A[:], a[:] = b[:]/'str'/可迭代的

    s = ['a','ma','shi','ge'] s0 = s.pop(0) #---> 有返回值 print(s,s0) s1 = s.remove('shi') #---> 无返回值 ...

  8. [bzoj2005][Noi2010][能量采集] (容斥 or 欧拉函数)

    Description 栋栋有一块长方形的地,他在地上种了一种能量植物,这种植物可以采集太阳光的能量.在这些植物采集能量后, 栋栋再使用一个能量汇集机器把这些植物采集到的能量汇集到一起. 栋栋的植物种 ...

  9. [luoguP1970] 花匠(DP)

    传送门 n2 过不了惨啊 70分做法 f[i][0] 表示第 i 个作为高的,的最优解 f[i][0] 表示第 i 个作为低的,的最优解 (且第 i 个一定选) 那么 f[i+1][1]=max(f[ ...

  10. poj 1330lca模板题离线算法

    #include<iostream> #include<vector> using namespace std; const int MAX=10001; int pre[MA ...