Red Hat Training

A Red Hat training course is available for RHEL 8

13.4. 虚拟机网络连接的类型

要修改虚拟机的网络属性和行为,更改虚拟机使用的虚拟网络或接口类型。以下小节描述了 RHEL 8 中虚拟机可用的连接类型。

13.4.1. 使用网络地址转换进行虚拟联网

默认情况下,虚拟网络交换机运行在网络地址转换(NAT)模式下。它们使用 IP 伪装而不是源-NAT(SNAT)或目的-NAT(DNAT)。IP 伪装可让连接的虚拟机使用主机机器的 IP 地址与任何外部网络通信。当虚拟网络交换机运行在 NAT 模式时,主机外的计算机无法与主机内的虚拟机进行通信。

vn 04 hostwithnatswitch
警告

虚拟网络交换机使用防火墙规则配置的 NAT。不建议在交换机运行时编辑这些规则,因为不正确的规则可能会导致交换机无法进行通信。

13.4.2. 路由模式中的虚拟网络

当使用 Routed 模式时,虚拟交换机会连接到连接到主机的物理 LAN 中,并在不使用 NAT 的情况下传输数据。虚拟交换机可以检查所有流量,并使用网络数据包中包含的信息来做出路由决策。使用此模式时,虚拟机(VM)都位于一个子网中,与主机是分开的。虚拟机子网通过虚拟交换机进行路由,该交换机位于主机上。这会启用传入连接,但对外部网络上的系统需要额外的路由表条目。

路由模式使用基于 IP 地址的路由:

vn 06 路由交换机

使用路由模式的通用拓扑是虚拟服务器托管(VSH)。VSH 提供程序可能有多个主机计算机,各自具有两个物理网络连接。一个接口用于管理和记帐,另一个用于虚拟机连接。每个虚拟机都有自己的公共 IP 地址,但主机使用私有的 IP 地址,以便只有内部管理员可以管理虚拟机。

vn 10 路由模式数据中心

13.4.3. 网桥模式中的虚拟网络

在大多数虚拟机网络模式中,虚拟机会自动创建并连接到 virbr0 虚拟网桥。相反,在桥接模式中,VM 会连接到主机上的一个已存在的 Linux 网桥。因此,虚拟机可以在物理网络中直接看到。这就可以允许进入的连接,但不需要任何额外的路由表条目。

网桥模式使用基于 MAC 地址的连接切换:

vn 桥接模式图

在桥接模式中,虚拟机出现在与主机相同的子网中。同一物理网络中的所有其他物理机器都可以检测虚拟机并访问它。

网桥网络绑定

通过使用绑定将多个物理网桥接口连在一起,可以在 hypervisor 上使用多个物理网桥接口。然后,可以将绑定添加到网桥,之后也可以将虚拟机添加到网桥。但是,绑定驱动程序有多种操作模式,而且并非所有这些模式都能与虚拟机正在使用的桥接一起工作。

以下 绑定模式 很有用:

  • 模式 1
  • 模式 2
  • 模式 4

相反,模式 0、3、5 或 6 可能会导致连接失败。另请注意,应使用独立于介质的接口(MII)监控来监控绑定模式,因为地址解析协议(ARP)监控无法正常工作。

有关绑定模式的详情,请参考 红帽知识库

常见情况

使用桥接模式的最常见用例包括:

  • 主机机器和虚拟机一起出现在现有网络中,最终用户看不到虚拟机和物理机器之间的不同。
  • 在不更改现有物理网络配置设置的情况下部署虚拟机。
  • 部署需要被现有物理网络轻松访问的虚拟机。将虚拟机放置到必须访问 DHCP 服务的物理网络中。
  • 将虚拟机连接到使用虚拟 LAN(VLAN)的现有网络。
  • 一个 demilitarized zone (DMZ)网络。对于带有虚拟机的 DMZ 部署,红帽建议在物理网络路由器和交换机上设置 DMZ,并使用桥接模式将虚拟机连接到物理网络。

13.4.4. 隔离模式中的虚拟网络

通过使用 隔离 模式,连接到虚拟交换机的虚拟机可以相互通信,并与主机机器通信,但其流量不会向主机外部传递,且无法从主机外部接收流量。对于基本功能,需要在这个模式中使用 dnsmasq ,如 DHCP。

vn 07 隔离交换

13.4.5. 开放模式中的虚拟网络

当对网络使用 开放 模式时,libvirt不会为网络生成任何防火墙规则。因此,libvirt 不会覆盖主机提供的防火墙规则,因此用户可以手动管理虚拟机的防火墙规则。

13.4.6. 虚拟机连接类型的比较

下表提供了有关所选的虚拟机(VM)网络配置可以连接到的位置的信息,以及它们对哪些位置可见。

表 13.1. 虚拟机连接类型

 连接到主机连接到主机上的其他虚拟机连接到外部位置可查看外部位置

网桥模式

NAT

路由模式

隔离模式

开放模式

取决于主机的防火墙规则