关于网络

有多种方法可以将您的实例连接到互联网。最简单的方法是在初始化期间让 Incus 创建一个网络桥,并使用此桥连接所有实例,但 Incus 支持许多不同的高级网络设置。

网络设备

要授予实例直接网络访问权限,您必须为其分配至少一个网络设备,也称为 NIC。您可以通过以下几种方式配置网络设备

  • 使用在 Incus 初始化期间设置的默认网络桥。查看默认配置文件以查看默认配置

      incus profile show default
    

    如果您没有为实例指定网络设备,则将使用此方法。

  • 通过将其添加为实例的网络设备来使用现有网络接口。此网络接口位于 Incus 控制范围之外。因此,您必须指定 Incus 使用网络接口所需的所有信息。

    使用类似于以下的命令

      incus config device add <instance_name> <device_name> nic nictype=<nic_type> ...
    

    有关可用的 NIC 类型及其配置属性的列表,请参见 类型: nic

    例如,您可以使用以下命令添加一个预先存在的 Linux 网桥 (br0)

      incus config device add <instance_name> eth0 nic nictype=bridged parent=br0
    
  • 创建受管网络 并将其作为网络设备添加到您的实例。使用此方法,Incus 拥有配置网络的所有必要信息,您可以直接将其作为设备附加到您的实例

      incus network attach <network_name> <instance_name> <device_name>
    

    有关更多信息,请参见 将网络附加到实例

受管网络

Incus 中的受管网络是使用 incus network [create|edit|set] 命令创建和配置的。

根据网络类型,Incus 既可以完全控制网络,也可以只管理外部网络接口。

请注意,并非所有 NIC 类型 都支持作为网络类型。Incus 只能将某些类型设置为受管网络。

完全受控网络

完全受控网络创建网络接口并提供大多数功能,包括例如执行 IP 管理的能力。

Incus 支持以下网络类型

网桥网络

网桥创建虚拟 L2 以太网交换机,实例 NIC 可以连接到该交换机,使它们能够相互通信以及与主机通信。Incus 网桥可以利用底层的原生 Linux 网桥和 Open vSwitch。

在 Incus 上下文中,bridge 网络类型创建一个将使用它的实例连接到单个网络 L2 段的 L2 网桥。这使得在实例之间传递流量成为可能。网桥还可以提供本地 DHCP 和 DNS。

这是默认网络类型。

OVN 网络

OVN 是一个软件定义的网络系统,支持虚拟网络抽象。您可以使用它来构建您自己的私有云。有关更多信息,请参见 www.ovn.org

在 Incus 上下文中,ovn 网络类型创建一个逻辑网络。要设置它,您必须安装和配置 OVN 工具。此外,您必须创建一个上行链路网络,该网络为 OVN 提供网络连接。作为上行链路网络,您应该使用一种外部网络类型或受管 Incus 网桥。

提示

与其他网络类型不同,您可以在 项目 中创建和管理 OVN 网络。这意味着即使在受限制的项目中,您也可以作为非管理员用户创建自己的 OVN 网络。

外部网络

外部网络使用已经存在的网络接口。因此,Incus 对它们的控制能力有限,并且不支持 Incus 功能,如网络 ACL、网络转发和网络区域。

使用外部网络的主要目的是通过父接口提供上行链路网络。此外部网络指定连接实例或其他网络到父接口时要使用的预设。

Incus 支持以下外部网络类型

Macvlan 网络

Macvlan 是一个虚拟 LAN,如果您想要将多个 IP 地址分配到同一个网络接口,可以使用它,基本上将网络接口分成多个具有自己 IP 地址的子接口。然后,您可以根据随机生成的 MAC 地址分配 IP 地址。

在 Incus 上下文中,macvlan 网络类型提供一个预设配置,用于将实例连接到父 macvlan 接口。

SR-IOV 网络

SR-IOV 是一种硬件标准,允许单个网卡端口在虚拟化环境中显示为多个虚拟网络接口。

在 Incus 上下文中,sriov 网络类型提供了一个预设配置,用于将实例连接到父 SR-IOV 接口。

物理网络

physical 网络类型连接到现有的物理网络,可以是网络接口或网桥,并充当 OVN 的上行链路网络。

它提供了一个预设配置,用于将 OVN 网络连接到父接口。

建议

一般来说,如果您可以使用托管网络,您应该这样做,因为网络易于配置,您可以将同一个网络用于多个实例,而无需重复配置。

选择哪种网络类型取决于您的具体用例。如果您选择一个完全控制的网络,它提供的功能比使用网络设备更多。

作为一般建议

  • 如果您在单个系统或公共云中运行 Incus,请使用 网桥网络

  • 如果您在自己的私有云中运行 Incus,请使用 OVN 网络

    注意

    OVN 需要一个共享的 L2 上行链路网络才能正常运行。因此,如果您在公共云中运行 Incus,通常无法使用 OVN。

  • 要将实例 NIC 连接到托管网络,请使用 network 属性,而不是 parent 属性(如果可能)。这样,NIC 可以从网络继承设置,您不需要指定 nictype