武汉誉天
作者武汉誉天·2023-06-26 11:40
其它·武汉誉天互联科技有限责任公司

网络虚拟化基础

字数 2101阅读 486评论 0赞 1

本文主要分享网络虚拟化的内容。

物理世界的网络

先说说物理世界的网络,一般是通过一个个铁盒子的交换机或者路由器来实现网络通信的。通常一台交换机上存在多个端口来连接服务器、存储、路由器等物理硬件设备。

举个例子来说:有两台CNA,通过物理交换机相连,一个CNA的一个网卡对应连接到交换机的一个端口,这个时候两台CNA之间通信就是走的物理网络。如果说在一个CNA里有20个VM,就需要20个网卡,对应需要20个端口,但是只有一块物理网卡,显然不能满足需求。

这时候怎么办呢?

在物理的世界里,一块网卡不可能充当处理20台机器的请求,正常是需要一台物理交换机提供20个端口来使用。

但是在虚拟化的世界里,一块物理网卡是可以充当一个虚拟交换机的角色,通过虚拟交换机虚拟出20个端口,则可以满足要求了。每个虚拟机也有MAC地址,也是需要通过交换机进行数据转发的,所以,在虚拟化的世界里就需要虚拟交换机。

而且在这种物理场景下,一个交换机对应的端口连接的物理设备,这种关系是固定不变的。如果在种情况下,想要移动设备是很难的,因为它对应的端口属性都会改变,都需要重新配置。但是在虚拟化的世界里,就变得非常灵活,它不再是一一对应了,从而可以轻松实现虚拟机的迁移,而不影响网络状态。

基本虚拟网络模式

我们从最基本的几种网络模式开始说起,带大家从物理的世界里愉快的转到虚拟的世界里。 这里还是需要用到那个神奇的软件——VMware Workstation,相信大家都不在陌生啦。

当我们在VMware Workstation里安装完成一台虚拟机后,可以打开虚拟机设置,选择网络适配器,就可以看到网络连接的模式分为:桥接模式、NAT模式、仅主机模式、自定义模式这四种。

对于很多用过虚拟化的人来说,这几种模式并不一定了解。当我们安装完VMware Workstation之后,会生成几个网卡,VMware Network Adapter VMnet1、VMware Network Adapter VMnet8。

接下来通过用linux开始演示,因为它比较智能,相比windows会更加直观。

第一种:桥接模式
顺便说一句,KVM默认是不带桥接功能的,XEN默认是带桥接功能的。 为什么KVM默认不带桥接功能呢? 很简单,因为如果系统有多块网卡,KVM它就不知道怎么桥接到哪个网卡上,所以就需要自己手动做桥接。其实VMware也没有,它是通过虚拟网络编辑器来实现的。选择桥接模式的选项,然后就可以具体选择桥接到哪一个网卡上,它也不是智能的,只是它有图形界面操作起来很方便。

因为KVM默认是不带桥的,所以学KVM就得先学会做桥,那么要怎么来做桥呢?

补充一句,如果linux是用图形界面使用的化,在创建网络的时候,会自动创建桥,所以也有桥可以访问。如果是纯粹的开源的KVM是没有桥的。 在linux里是通过修改网卡配置文件来创建桥接模式的,把物理网卡做成桥,在网卡配置文件里新增了BRIDGE=br0,然后在KVM里面创建一个虚拟机就可以选择这个桥了。

桥接模式的原理:

这里有几个重点,重点,重点......

每一块物理网卡是一个上行链路

每一条上行链路可以创建一个虚拟交换机

一块网卡同时只能属于一个虚拟交换机

一个虚拟机交换机可以有多块物理网卡

总结来说,在虚拟化里,不能用物理网卡直接当交换机使用,需要用br0这种虚拟网桥来实现,虚拟机经过虚拟交换机连接到物理网络,把物理网卡当一个虚拟交换机来用。物理上一体的,逻辑上是分开的。

第二种:NAT模式
使用NAT模式会创建一个virbr0,virbr0相当于一个虚拟交换机,同时会启用一个DHCP的功能,网关为virbr0的地址,所以在创建vm的时候会自动获得一个IP地址。

那么虚拟机是怎么实现对外通信的呢? 它 其实是默认加一条NAT的规则,通过NAT地址伪装。

如果不是访问192.168.122.0这个网段的,则伪装成192.168.10.8这个地址出去访问;如果是访问192.168.122.0这个同网段的,则内部二层互通访问。即是,网络中的初级知识源地址转换SNAT。

第三种:仅主机模式
先说一个重点,一个虚拟交换机可以没有上行链路。如果vm1和vm2在同一个主机,连接在一个没有上行链路的虚拟交换机上,他们之间是可以进行通信的,只是不能访问外部网络。

那么,这种模式有什么应用场景呢?

比如说一个vm运行Apache服务配置有两个网卡,一个网卡连接外部网络,一个网卡连接内部网络。连接外部网络的网卡,可以提供给外部用户访问;连接内部网络的网卡,是连接给数据库使用。这样进行网络隔离,外部网络不能访问数据库,就可以保证数据库的安全。

第四种:自定义网络模式
这种模式也是没有上行链路,从而可以任意创建。这种模式有什么作用呢?可以隔离网络,更加灵活,每生成一个会创建一个virbr1、virbr2......,依次类推。每生成一个虚拟机就会创建一个vnet的虚拟网卡,每个虚拟网卡拥有唯一的MAC地址。

以上就是四种最基本的虚拟网络模式,都用到了虚拟机交换机。那么,什么是虚拟交换机呢?后续咱们再继续分享。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关资料

X社区推广