Linux提升篇-Linux虚拟网络介绍

一、Linux虚拟网络-网桥

和tap/tun、veth-pair 一样,Bridge 也是一种虚拟网络设备,所以具备虚拟网络设备的所有特性,比如可以配置 IP、MAC 等。

除此之外,Bridge 还是一个交换机,具有交换机所有的功能。

对于普通的网络设备,就像一个管道,只有两端,数据从一端进,从另一端出。而 Bridge 有多个端口,数据可以从多个端口进,从多个端口出。

Bridge 的这个特性让它可以接入其他的网络设备,比如物理设备、虚拟设备、VLAN 设备等。Bridge 通常充当主设备,其他设备为从设备,这样的效果就等同于物理交换机的端口连接了一根网线。

创建了一个名为br0的linux-bridge网桥,如果在此网桥上新建一台vm,VM2 的虚拟网卡 vnet1 也连接到了 br0 上。 现在 VM1 和 VM2 之间可以通信,同时 VM1 和 VM2 也都可以与外网通信。如下图:

二、Linux虚拟网络-Linux Bridge实现Vlan原理

KVM 虚拟化环境下实现 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 中

增加一个 VLAN20,如下图

这样虚拟交换机就有两个 VLAN 了,VM1 和 VM2 分别属于 VLAN10 和 VLAN20。

对于新创建的虚拟机,只需要将其虚拟网卡放入相应的 Bridge,就能控制其所属的 VLAN。

在Linux系统中虚拟VLAN 设备总是以母子关系出现,母子设备之间是一对多的关系。 一个母设备(eth0)可以虚拟出多个子设备(eth0.10,eth0.20 ......),而一个子设备只有一个母设备或者绑定的网口(例如:bond,team)。

相关推荐
suifen_13 分钟前
RK3229_Android9.0_Box 4G模块EC200A调试
网络
铁松溜达py19 分钟前
编译器/工具链环境:GCC vs LLVM/Clang,MSVCRT vs UCRT
开发语言·网络
CoolTiger、1 小时前
【Vmware16安装教程】
linux·虚拟机·vmware16
m0_741768852 小时前
使用docker的小例子
运维·docker·容器
学习3人组2 小时前
CentOS 中配置 OpenJDK以及多版本管理
linux·运维·centos
厨 神3 小时前
vmware中的ubuntu系统扩容分区
linux·运维·ubuntu
Karoku0663 小时前
【网站架构部署与优化】web服务与http协议
linux·运维·服务器·数据库·http·架构
geek_Chen013 小时前
虚拟机共享文件夹开启后mnt/hgfs/下无sharefiles? --已解决
linux·运维·服务器
(⊙o⊙)~哦3 小时前
linux 解压缩
linux·运维·服务器
牧小七4 小时前
Linux命令---查看端口是否被占用
linux