Menu Close
Settings Close

Language and Page Formatting Options

第 16 章 配置虚拟机网络连接

要使虚拟机(VM)通过网络连接到主机、主机上的其他虚拟机以及外部网络中的位置,必须相应地配置虚拟机网络。为了提供虚拟机网络,RHEL 9 管理程序和新创建的虚拟机具有默认网络配置,也可以进一步修改。例如:

  • 您可以在主机上启用虚拟机,并通过主机以外的位置发现和连接到主机,就像虚拟机与主机位于同一个网络中。
  • 您可以部分或完全将虚拟机与入站网络流量隔离,以提高其安全性,并最大程度降低出现虚拟机影响主机的风险。

以下小节解释了各种类型的虚拟机网络配置,并提供了设置所选虚拟机网络配置的说明。

16.1. 了解虚拟网络

虚拟机(VM)连接到网络中的其他设备和位置必须被主机硬件辅助。以下小节解释了虚拟机网络连接的机制,并描述了默认虚拟机网络设置。

16.1.1. 虚拟网络的工作方式

虚拟网络使用了虚拟网络交换机的概念。虚拟网络交换机是在主机机器中运行的软件构造。VM 通过虚拟网络交换机连接到网络。根据虚拟交换机的配置,虚拟机可以使用由虚拟机监控程序管理的现有虚拟网络,或者不同的网络连接方法。

下图显示了将两个虚拟机连接到网络的虚拟网络交换机:

vn 02 switchandtwoguests

从客户端操作系统的角度来看,虚拟网络连接与物理网络连接相同。主机虚拟机将虚拟网络交换机视为网络接口。当 virtnetworkd 服务首次安装并启动时,它会创建 virbr0,即虚拟机的默认网络接口。

要查看有关此接口的信息,请使用主机上的 ip 工具。

$ ip addr show virbr0
3: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state
 UNKNOWN link/ether 1b:c4:94:cf:fd:17 brd ff:ff:ff:ff:ff:ff
 inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0

默认情况下,单一主机上的所有虚拟机都连接到名为 default 的同一 NAT-type 虚拟网络,它使用 virbr0 接口。详情请参阅 虚拟网络默认配置

对于从虚拟机进行基础出站网络访问,通常不需要额外的网络设置,因为默认网络会与 libvirt-daemon-config-network 软件包一起安装,并在启动 virtnetworkd 服务时自动启动。

如果需要不同的虚拟机网络功能,您可以创建额外的虚拟网络和网络接口,并将虚拟机配置为使用它们。除了默认的 NAT 外,也可以将这些网络和接口配置为使用以下模式之一:

16.1.2. 虚拟网络默认配置

当在虚拟化主机上安装 virtnetworkd 服务时,它会在网络地址转换(NAT)模式中包含初始虚拟网络配置。默认情况下,主机上的所有虚拟机都连接到同一 libvirt 虚拟网络,名为 default。此网络上的虚拟机可以连接到主机以及主机之外的网络中的位置,但有以下限制:

  • 网络中的虚拟机对于主机及主机上的其他虚拟机是可见的,但网络流量会受到客户端操作系统网络堆栈中的防火墙的控制,并可以由附加到客户端接口的 libvirt 网络过滤规则进行控制。
  • 网络上的虚拟机可以连接到主机以外的位置,但对它们不可见。出站流量受 NAT 规则以及主机系统的防火墙影响。

下图演示了默认虚拟机网络配置:

vn 08 网络概述