Welcome to li chao's blog

若逢新雪初霁,满月当空,下面平铺着皓影,上面流转着亮银,而你带笑地向我步来,月色与雪色之间,你是第三种绝色!

kvm虚拟化网络管理

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 802

#如果没有可以用 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=10

NAME=ens37.10

ONBOOT=yes

ZONE=trusted

DEVICE=ens37.10

BRIDGE=brvlan-10

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

VLAN=yes

TYPE=vlan

PHYSDEV=ens37

VLAN_ID=20

NAME=ens37.20

ONBOOT=yes

ZONE=trusted

DEVICE=ens37.20

BRIDGE=brvlan-20

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

 

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

TYPE=bridge

BOOTPROTO=static

NAME=brvlan-10

DEVICE=brvlan-10

ONBOOT=yes

#

 

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

TYPE=bridge

BOOTPROTO=static

NAME=brvlan-20

DEVICE=brvlan-20

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

 

 

                                                                                

posted on 2019-06-12 22:02  lichaoyx  阅读(267)  评论(0编辑  收藏  举报

导航