IBM Cloud Docs
向虚拟网络接口添加辅助 IP 地址

向虚拟网络接口添加辅助 IP 地址

虚拟网络接口中的辅助 IP 地址可以帮助您操作具有多个 IP 地址的网络设备,例如负载均衡器或防火墙。 这些地址必须与网络接口位于同一子网中,并且将与网络接口所属的安全组相关联。

可以在创建虚拟网络接口时创建辅助 IP 地址,也可以在 VNI 创建后将其添加到虚拟网络接口。 有关在创建 VNI 时添加辅助 IP 的步骤,请参阅 创建虚拟网络接口

您可以使用控制台、CLI、API 或 Terraform 为 VNI 添加辅助 IP 地址。

在控制台中为现有虚拟网络接口添加辅助 IP 地址

要向现有虚拟网络接口添加辅助 IP 地址,请执行以下步骤。

  1. 从浏览器打开 IBM Cloud 控制台并登录账户。
  2. 选择导航菜单 导航菜单图标,然后单击基础结构 > 网络 > 虚拟网络接口
  3. 单击要在 VPC 表的虚拟网络接口中添加辅助 IP 地址的虚拟网络接口的名称。
  4. 单击“附加资源”选项卡。
  5. 在“辅助 IP”部分中,单击 连接
  6. 在显示的“连接辅助 IP”面板中,指定是要为您创建地址,还是要输入您自己的地址。
    • 如果选择为您创建地址,请指定要创建的地址数量。
    • 如果选择指定自己的地址,那么可以从现有 IP 地址的列表中进行选择,或者在提供的字段中输入 IP 地址。
  7. 选择是否要为辅助 IP 地址启用自动发布。
  8. 单击 连接 以将辅助 IP 地址连接到虚拟网络接口,或者单击 取消

从 CLI 向现有虚拟网络接口添加辅助 IP 地址

开始之前,请 设置 CLI 环境

export IBMCLOUD_IS_FEATURE_VNI_PHASE_II=true

然后运行以下命令:

ibmcloud is virtual-network-interface-update VIRTUAL_NETWORK_INTERFACE --name NEW_NAME [--allow-ip-spoofing false | true] [--auto-delete false | true] [--enable-infrastructure-nat false | true] [--output JSON] [-q, --quiet]

其中:

VIRTUAL_NETWORK_INTERFACE
虚拟网络接口的标识或名称。
--name
虚拟网络接口的名称。
--allow-ip-spoofing
指示此接口上是否允许源 IP 电子欺骗。 如果 false,则在此接口上防止源 IP 欺骗。 如果 true,则允许在此接口上欺骗源 IP。 其中一个: falsetrue
--auto-delete
指示删除目标时是否将自动删除此虚拟网络接口。 如果虚拟网络接口未绑定,则必须为 false。 其中一个: falsetrue
--enable-infrastructure-nat
如果 true,VPC 基础设施会执行任何所需的 NAT 操作。 如果 false,数据包将保持不变地传入/传出网络接口,允许工作负载执行任何所需的 NAT 操作。 其中一个: falsetrue
--output
指定输出格式,仅支持 JSON。 以下项之一:JSON
-q, --quiet
禁止详细输出。

命令示例

  • ibmcloud is virtual-network-interface-update 72251a2e-d6c5-42b4-97b0-b5f8e8d1f479 --name new-vni
  • ibmcloud is virtual-network-interface-update new-vni --name new-share
  • ibmcloud is virtual-network-interface-update 7208-8918786e-5958-42fc-9e4b-410c5a58b164 --name cli-vni-1 --allow-ip-spoofing false --auto-delete false --enable-infrastructure-nat false
  • ibmcloud is virtual-network-interface-update cli-vni-1 --name cli-vni-2 --allow-ip-spoofing false --auto-delete true --enable-infrastructure-nat false

从 API 将辅助 IP 连接到现有虚拟网络接口

  1. 使用正确的变量 设置 API 环境。

  2. 存储要在 API 命令中使用的任何其他变量; 例如:

    • version (字符串): API 版本,格式为 YYYY-MM-DD
    • virtual_network_interface_id (字符串): 虚拟网络接口标识。
    • secondary_ip(数组):要附加的二级 IP 的相关信息。
  3. 启动所有变量后,将辅助 IP 添加到现有虚拟网络接口:

    curl -X PATCH \
    "$vpc_api_endpoint/v1/virtual_network_interfaces/$virtual_network_interface_id?version=$version&generation=2" \
    -H "Authorization: Bearer $iam_token" \
    -d '{
          "name": "my-virtual-network-interface-updated"
    }'
    

使用 Terraform 将辅助 IP 添加到现有虚拟网络接口

下面的示例通过使用 Terraform 为现有虚拟网络接口添加辅助 IP:

resource "ibm_is_virtual_network_interface" "my_virtual_network_interface_instance" {
  allow_ip_spoofing = true
  auto_delete = false
  enable_infrastructure_nat = true
  name = "my-virtual-network-interface-2"
  subnet = ibm_is_subnet.my_subnet.id
}