KVM虚拟化使用一种称为虚拟交换的技术实现虚拟机的网络互联,虚拟交换是运行在宿主主机上的一个软件结构,虚拟主机通过与这个虚拟交换进行直连实现与外界通信。当我们部署完成虚拟化环境后,libvirt进程会在宿主主机上自动创建一个默认的虚拟交换virbr0,我们可以通过ifconfig命令查看该虚拟交换设备的详细信息。

[root@centos7 ~]# ifconfig virbr0

virbr0    Link encap:Ethernet  HWaddr 52:54:00:55:7F:D9 

          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:4926 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:0 (0.0 b)  TX bytes:974652 (951.8 KiB) 

虚拟交换可以运行在NAT模式、路由模式以及独立模式,表7-1描述了这些模式的特性与功能,虚拟交换结构如图-1所示。默认情况下,libvirtd进程使用的是NAT作为虚拟交换的工作模式。

表-1

模式

功能

NAT模式

NAT模式使用的是IP欺骗技术(masquerade),该技术可以使虚拟主机使用宿主主机的IP地址与外部主机通信,此时虚拟主机之间不管是相同网段还是不同网段,都可以相互通信。但默认位于宿主主机外部的计算机设备不可以同虚拟交换设备连接的虚拟机通信。也就是说,虚拟主机不可以连接真实机外面的其他主机


模式

功能

路由模式

路由模式虚拟交换将与真实设备的物理网络相连接,实现数据包的出站与入站。宿主主机将承担路由的角色

独立模式

独立模式使每个虚拟交换设备都是一个独立的网络,并且与宿主主机也是相互独立的。连接在相同虚拟交换设备的虚拟主机是可以进行通信的

图-1

spacer.gifKVM虚拟化之网络基础_第1张图片

设置虚拟交换网络最简单的方式是通过virt-manager工具,通过virt-manager命令开启虚拟机管理器,通过Edit菜单下面的Connection Details子菜单开启Host Details窗口,选择Virtual Networks选项卡,如图-2所示。

-2

KVM虚拟化之网络基础_第2张图片

默认libvirtd已经在KVM虚拟化环境中创建了一个基于NAT模式的default虚机交换,设备名称为virbr0,状态处于激活状态,虚拟交换网络为192.168.0.122.0/24DHCP地址池为192.168.122.2-192.168.122.254virbr0设备的IP地址默认为192.168.122.1。我们可以使用图-2中的添加按钮创建新的虚拟交换网络。

使用图7-2中展示的添加按钮(+),屏幕将出现如图-3所示的创建虚拟网络对话框,提示创建一个虚拟交换网络需要填写名称、IP地址与子网掩码、DHCP地址池以及工作模式。图-4提示输入虚拟网络名称为mynetwork,图-5修改网络地址段为192.168.200.0/24,默认192.168.200.1为网关设备,图-6设置DHCP地址池为192.168.200.128~192.168.200.254,图-7选择虚拟交换网络的工作模式,可以选择独立模式、NAT模式或Routed模式,图-8为确认对话框,如果一切顺利,继续单击“Finish”按钮,即可完成一个全新的虚拟网络设置。

图-3

KVM虚拟化之网络基础_第3张图片

图-4

KVM虚拟化之网络基础_第4张图片

图-5

KVM虚拟化之网络基础_第5张图片

图-6

KVM虚拟化之网络基础_第6张图片

图-7

KVM虚拟化之网络基础_第7张图片

图-8

KVM虚拟化之网络基础_第8张图片


创建完成虚拟交换后,所有的虚拟主机都可以添加虚拟网卡接口连接该虚拟交换设备,打开虚拟主机后,通过如图-9所示的硬件管理图标显示硬件列表,在硬件列表下方使用Add Hardware按钮添加虚拟网络接口,屏幕将显示如图-10所示的添加新硬件对话框,选择Network网络设备,在右侧填写该网络接口需要连接的宿主主机的虚拟交换设备,这里我们选择的是刚刚创建的名为mynetwork的虚拟交换设备。除此之外,还需要填写该虚拟主机MAC地址以及设备驱动方式。

图-9

KVM虚拟化之网络基础_第9张图片

图-10

KVM虚拟化之网络基础_第10张图片