Red Hat Training

A Red Hat training course is available for RHEL 8

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

要使虚拟机(VM)通过网络连接到您的主机、连接到您主机上的其他虚拟机,并且连接到外部网络上的某些位置,必须相应地配置虚拟机网络。为了提供虚拟机网络,RHEL 8 hypervisor 和新创建的虚拟机都有一个默认的网络配置,可对其做进一步修改。例如:

  • 您可以使主机上的虚拟机通过主机外的位置被发现和连接,就如同虚拟机与主机位于同一网络中一样。
  • 您可以部分或完全将虚拟机与入站网络流量隔离,以提高其安全性,并将虚拟机出现任何问题而影响主机的风险降至最低。

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

13.1. 了解虚拟网络

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

13.1.1. 虚拟网络的工作方式

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

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

vn 02 switchandtwoguests

从客户机操作系统的角度来看,虚拟网络连接与物理网络连接是一样的。主机计算机将虚拟网络交换机视为网络接口。首次安装和启动 libvirtd 服务时,它会创建 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.0.2.1/24 brd 192.0.2.255 scope global virbr0

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

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

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

13.1.2. 虚拟网络默认配置

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

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

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

vn 08 网络概述