blog

feassh

OCI 实例添加多个 IPv4:控制台操作与系统配置实战笔记

发布于 # OCI # 网络 # Linux

OCI 实例添加多个 IPv4:控制台操作与系统配置实战笔记

最近在折腾 Oracle Cloud Infrastructure(OCI)时,需要给一台实例配置多个 IPv4 地址。本以为是个简单操作,结果踩了几个坑才发现,控制台点几下只是开始,系统里还得配置才行。

这里把完整的操作流程整理一下,方便以后自己查阅,也给有同样需求的朋友做个参考。

先理解原理:本质是给 VNIC 加附加 IP

在 OCI 里,给单个实例添加多个 IPv4,并不是加多块网卡,而是给 同一个 VNIC(虚拟网卡)添加多个 Secondary Private IP(附加私有 IP)

理解了这个,操作起来就有方向了。

控制台操作步骤(最新 UI,2024–2025 一致)

1. 进入实例详情

登录 OCI 控制台,依次点击: ComputeInstances → 选择你要操作的那台实例。

2. 找到主 VNIC

在实例详情页左侧的 Resources(资源)栏里,点击 Attached VNICs(已附加 VNIC)。 通常你只会看到一张 VNIC,也就是实例的主网卡,点击它进入详情。

3. 查看 VNIC 的 IP 地址列表

在 VNIC 详情页的 Resources 下,选择 IP Addresses。 这里会显示当前已分配的私有 IP 列表,包括主 IP 和之前添加的附加 IP。

4. 添加新的 IPv4

点击按钮 Assign Private IP Address,弹出配置窗口:

填好后点 Assign,新 IP 就会出现在列表里。

5. 重复添加

需要多个 IP 就重复第 4 步,每个 IP 独立配置。操作很快,几分钟就能加完。

⚠️ 关键点:控制台加了 IP,系统里不会自动生效

这是很多人踩坑的地方:控制台显示 IP 已经分配好了,但登录到实例里用 ip a 一看,根本看不到新 IP。

原因很简单:控制台只是告诉 OCI 的网络基础设施“这个实例的 VNIC 可以接收这个 IP 的流量了”,但实例本身的 操作系统并没有自动感知并配置这个 IP

所以还需要手动在 Linux 系统里把 IP 配到网卡上。

手动配置方式(以 Ubuntu/CentOS 为例)

假设你的主网卡接口名是 ens3(可通过 ip link 查看),要添加的附加 IP 是 10.0.0.50/24

ip addr add 10.0.0.50/24 dev ens3

这个命令会在当前会话中临时生效,重启后丢失。如果想永久生效,需要修改网络配置文件(如 /etc/netplan/ 下的 yaml 或 /etc/sysconfig/network-scripts/ifcfg-ens3),不同发行版略有差异。

更省心的方式:用 OCI 官方工具

OCI 提供了一个系统配置工具,可以自动识别并配置附加 IP:

sudo oci-network-config configure

运行后工具会自动检测 VNIC 上的所有 IP,并把它们配置到系统里,省去了手动找接口和写配置的麻烦。

另一种方案:增加第二个 VNIC(多子网场景)

如果你需要把不同的 IP 划分到不同的子网,或者做更细粒度的路由隔离,可以考虑给实例 添加第二个 VNIC

在实例详情页的 Attached VNICs 下点击 Create VNIC,然后为这个新 VNIC 分配私有 IP(也可以后续再加多个 Secondary IP)。这种方式适合:

常见误区

小结

给 OCI 实例添加多个 IPv4 的完整流程可以总结为两步:

  1. 控制台操作实例 → VNIC → IP Addresses → Assign Private IP,根据需要重复添加。
  2. 操作系统配置:登录实例,用 ip addr addoci-network-config 工具让 IP 在系统内生效。

按这个流程走,基本不会出问题。如果你对网络配置不太熟悉,建议直接用官方工具,省心又可靠。