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)。

相关推荐
牢七6 分钟前
操作系统。
linux
Kapibalapikapi22 分钟前
家用无线网络设置方案
网络
SongYuLong的博客26 分钟前
openwrt源码编译环境搭建-安装Luci
linux·嵌入式硬件
熙客28 分钟前
Linux:监控命令
linux·运维
飞鱼&29 分钟前
Linux 常用命令
linux·运维·服务器
老蒋新思维38 分钟前
借陈修超之智,搭建 AI 与 IP 的创新增长桥梁|创客匠人
网络·人工智能·网络协议·tcp/ip·ip·知识付费·创客匠人
喵了几个咪41 分钟前
使用Bazel构建你的Kratos微服务
java·运维·微服务
偶像你挑的噻1 小时前
4-Linux驱动开发-字符设备驱动
linux·运维·驱动开发
2401_865854881 小时前
AI软件可以帮助我自动化哪些日常任务?
运维·人工智能·自动化
遇见火星1 小时前
Linux 网络性能测试实战:用 iperf3 精准测出真实带宽与丢包率
linux·网络·php·iperf3