关于网络¶
有多种方法可以将您的实例连接到互联网。最简单的方法是在初始化期间让 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 网络连接到父接口。
建议¶
一般来说,如果您可以使用托管网络,您应该这样做,因为网络易于配置,您可以将同一个网络用于多个实例,而无需重复配置。
选择哪种网络类型取决于您的具体用例。如果您选择一个完全控制的网络,它提供的功能比使用网络设备更多。
作为一般建议