全部产品
Search
文档中心

弹性公网 IP:使用VPC附加网段实现EIP网卡可见

更新时间:Mar 23, 2026

EIP 默认以 NAT 方式映射到 ECS 实例的私网 IP,操作系统内仅可见私网地址。在部分业务场景中,应用程序要求公网 IP 直接配置在网卡上,即 EIP 网卡可见。

  • 网络协议要求:FTP 主动模式等协议需要在报文负载中携带本机公网 IP,携带私网 IP 会导致通信失败。

  • 源地址校验:部分服务端要求发起请求的网卡 IP 与公网出口 IP 一致。

  • IPsec VPN:部分 VPN 软件需要直接绑定公网 IP 以建立隧道。

使用 VPC 附加网段,创建弹性网卡并为其配置与 EIP 一致的主私网 IP,操作系统内即可见公网 IP。且支持为同一网卡配置 IPv6 地址,实现单网卡 IPv4/IPv6 双栈。

工作原理

VPC 的附加网段功能支持添加任意 CIDR (包括公网 IP 段)作为用户网段,从而可实现:

  1. 将 EIP 所在的公网网段(如 118.XX.XX.0/24)添加为 VPC 附加网段。

  2. 在附加网段下创建交换机和弹性网卡,配置弹性网卡的主私网 IP 与 EIP 地址一致。

  3. 将 EIP 以普通模式绑定到该弹性网卡,在操作系统内即可见公网地址。

在此基础上,为同一网卡分配 IPv6 地址并开通公网带宽,即可实现单网卡 IPv4 + IPv6 双栈通信。

image

适用范围

  • 同 VPC 通信:使用附加网段实现网卡可见的 ECS 实例,通过该 EIP 与同 VPC 内的其他实例无法实现公网通信,而是在 VPC 内私网通信。

  • 交换机网段:使用 VPC 附加网段创建的交换机网段必须包含 EIP 地址,且 EIP 不能与交换机的系统保留地址相同(针对IPv4,每个交换机的第1个和最后3个IP地址为系统保留地址)。

  • 弹性网卡:

    • ECS 实例和绑定的弹性网卡,必须属于同一VPC、同一可用区,可以属于不同交换机。

    • 每个 ECS 实例可以绑定的网卡数量由实例规格决定。

  • 附加网段:每个 VPC 最多支持添加 5 个附加 IPv4 网段,5 个附加 IPv6 网段。

配置 IPv4 网卡可见

控制台

  1. 创建 EIP:登录EIP 控制台,单击创建弹性公网IP。具体配置可参考EIP选型指引

    • 付费模式:建议选择按量付费

    • 地域:与 ECS 实例所在地域保持一致。

    • 其余配置可保持默认。

    EIP 地址决定了后续配置的附加网段和交换机网段。

  2. 为 VPC 添加 IPv4 附加网段,并创建交换机和弹性网卡:

    1. 添加附加网段:

      1. 登录VPC 控制台,单击 ECS 实例所属专有网络 ID 进入详情页。

      2. 选择网段管理页签,单击添加附加IPv4网段。选择高级配置网段,并输入包含 EIP 地址的地址段。

        例如, EIP 地址为 118.XX.XX.230,可设置为 118.XX.XX.0/24

    2. 前往创建交换机页面,在附加网段下创建交换机:

      • 专有网络:选择 ECS 实例所属的 VPC。

      • IPv4网段:选择已添加的附加网段。

      • 交换机的可用区:选择 ECS 实例所在的可用区。

      • 交换机的IPv4网段:输入包含 EIP 地址的地址段。例如, EIP 地址为 118.XX.XX.230,可设置为 118.XX.XX.128/25

    3. 创建弹性网卡:

      1. 前往ECS控制台 - 弹性网卡页面

      2. 单击创建弹性网卡:

        • 专有网络、交换机、安全组:选择 ECS 实例所属的 VPC 和安全组,以及附加网段下创建的交换机。

        • 主私网 IP:输入 EIP 的 IP 地址(如 118.XX.XX.230)。

  3. 绑定资源

    1. 将 EIP 与弹性网卡绑定:前往EIP 控制台,单击目标 EIP 操作列的绑定资源

      • 实例类型:选择弹性网卡

      • 绑定模式:选择普通模式

      • 选择要绑定的实例:选择步骤3创建的弹性网卡。

    2. 将弹性网卡与 ECS 实例绑定:

      1. 前往ECS控制台 - 弹性网卡页面,单击目标实例操作列的绑定实例,选择目标 ECS。部分实例规格不支持热插拔,需要先停止 ECS 实例后再绑定弹性网卡。

        ECS 实例绑定的辅助弹性网卡数达到实例规格的支持上限时,可以通过升降配实例提升实例规格。

      2. 确认弹性网卡生效:登录 ECS 实例,执行ip addr show确认辅助弹性网卡 IP 与 EIP 一致。若弹性网卡未启动,需配置Linux操作系统识别网卡

  4. 配置策略路由:ECS 的默认路由指向主网卡 eth0。为保证通过辅助弹性网卡 eth1 进入的请求能原路返回(即源进源出),需要配置策略路由。

  5. 结果验证:登录 ECS 实例,执行curl -4 --interface eth1 ifconfig.me,验证出口 IP 为主私网 IP。

API

  1. 调用AllocateEipAddress创建EIP。

  2. 调用AssociateVpcCidrBlock添加附加网段。

  3. 调用CreateVSwitch创建交换机。

  4. 调用CreateNetworkInterface创建弹性网卡。

  5. 调用AssociateEipAddress绑定EIP与弹性网卡。

  6. 调用AttachNetworkInterface为已有 ECS 实例绑定弹性网卡。

配置 IPv6 双栈

配置 IPv4 网卡可见的基础上,为辅助弹性网卡分配 IPv6 地址,即可实现单网卡 IPv4/IPv6 双栈。

image

控制台

  1. 为 VPC 开启 IPv6:

    目标 VPC 未开启 IPv6 时,单击目标 VPC IPv6网段列的开通IPv6,选择系统分配的 IPv6 地址段,并勾选自动开启专有网络内所有交换机IPv6功能;系统将自动创建IPv6网关并分配IPv6网段。

    目标 VPC 及交换机已开启 IPv6 时,可跳过此步骤。

  2. 为弹性网卡分配 IPv6 地址:

    前往ECS控制台 - 弹性网卡页面,单击目标弹性网卡操作列的管理弹性网卡 IP,添加 IPv6 地址。

  3. 配置操作系统识别 IPv6 地址:登录 ECS 实例,执行sudo acs-plugin-manager --exec --plugin=ecs-utils-ipv6;完成后,执行ip -6 addr show dev eth1确认已正确识别。

    image

  4. 开通 IPv6 公网带宽:IPv6 地址默认仅支持 VPC 内部通信,需要单独开通公网带宽才能访问公网。

    1. 登录IPv6 网关控制台

    2. 单击目标 VPC 的 IPv6 网关,单击目标 IPv6 地址操作列的开通公网带宽,配置公网带宽。

  5. 结果验证:登录 ECS 实例,执行curl -6 ifconfig.me,验证 IPv6 公网出口。

API

  1. 针对已创建的专有网络和交换机,调整ModifyVpcAttributeModifyVSwitchAttributeEnableIPv6参数开启/关闭IPv6。

    控制台逻辑不同的是,调用API为专有网络和交换机开启IPv6后,将不会自动创建IPv6网关,需调用CreateIpv6Gateway自行创建。
  2. 调用AssignIpv6Addresses为弹性网卡分配IPv6地址。

  3. 调用AllocateIpv6InternetBandwidth为IPv6地址购买公网带宽。

常见问题

问题

可能原因

解决方法

弹性网卡的主私网 IP 配置不合法

主私网 IP 未包含于交换机网段

重新创建交换机,确保交换机网段包含 EIP 地址。

弹性网卡绑定 ECS 时无法选择到目标 ECS

可用区不一致

确认弹性网卡和 ECS 实例位于同一可用区。

弹性网卡绑定 ECS 时报错

实例规格不支持热插拔

先停止实例,完成绑定后再启动实例。

弹性网卡未启用

操作系统未识别新网卡

配置Linux操作系统识别网卡

ECS 实例无法访问公网

默认路由指向主网卡

调整路由优先级,确保优先使用辅助弹性网卡访问公网;或使用 --interface eth1 指定辅助弹性网卡访问。

存在非对称路由

配置策略路由确保源进源出。

安全组未放行

检查安全组是否放通了相关访问来源的流量。