更新时间:2025-08-01 GMT+08:00

为ECS的扩展网卡绑定EIP并实现公网通信

操作场景

本示例如图1所示,ECS有两个网卡,包括主网卡和扩展网卡。您可以参考以下操作,为扩展网卡绑定EIP,并配置策略路由,确保ECS可以通过扩展网卡绑定的EIP访问公网。

本文操作以Linux系统的ECS为例,供您参考。

  • 本次配置调整后,ECS实例将从通过主网卡绑定的EIP访问公网切换为通过扩展网卡绑定的EIP访问公网。配置完成后,ECS实例将无法通过主网卡和公网通信,原有网络将会中断,请谨慎评估后再执行操作。
  • 如果您需要同时通过主网卡和扩展网卡实现与外部网络的正常通信,请参考为多网卡ECS配置策略路由
图1 通过ECS扩展网卡访问公网的组网示意图

步骤一:创建资源并绑定扩展网卡

  1. 创建一个VPC,并在VPC下添加两个子网。

    本示例中,ECS主网卡和扩展网卡位于同一个VPC内的不同子网。

    具体请参见创建虚拟私有云和子网

  2. 基于已有的VPC和子网,创建一个ECS。

    具体方法请参见自定义购买ECS

  3. 创建弹性网卡,并将弹性网卡绑定至ECS,用作扩展网卡。

    创建弹性网卡时,请选择VPC下的另一个子网,和ECS的主网卡所属不同的子网,具体请参见创建弹性网卡

    将弹性网卡绑定至ECS,具体请参见将弹性网卡绑定至云服务器实例

  4. 购买一个EIP,并将EIP绑定至ECS的扩展网卡。

    购买EIP,具体操作请参见申请弹性公网IP

    将EIP绑定至ECS的扩展网卡,具体操作请参见将弹性网卡绑定至弹性公网IP

步骤二:获取云服务器网络信息

配置ECS扩展网卡的路由之前,您执行以下操作,收集表1中的信息。
表1 获取云服务器网络信息

类型

主网卡

扩展网卡

网卡的私有IP地址

192.168.11.42

192.168.17.191

子网网关地址

192.168.11.1

192.168.17.1

  1. 执行以下操作,获取ECS网卡的私有IP地址。
    1. 进入弹性云服务器列表页面。
    2. 在弹性云服务器列表中,选择目标ECS,并单击名称对应的超链接。

      进入弹性云服务器“基本信息”页签。

    3. 选择“弹性网卡”页签,查看云服务器主网卡和扩展网卡对应的私有IP地址。
  2. 执行以下操作,获取子网的网关地址。
    1. 进入弹性云服务器列表页面。
    2. 在弹性云服务器列表中,选择目标ECS,并单击名称对应的超链接。

      进入弹性云服务器“基本信息”页签。

    1. 在云服务器信息区域,单击虚拟私有云对应的超链接。

      进入“虚拟私有云”页面。

    2. 在虚拟私有云列表中,单击“子网个数”所在列的数字超链接。

      进入“子网”页面。

    3. 在子网列表中,单击子网名称对应的超链接。

      进入子网的“基本信息”页面。

    4. “网关和DNS”区域,查看目标子网对应的网关地址。
      图2 子网网关地址

步骤三:为扩展网卡配置策略路由

  1. 远程登录ECS。

    ECS有多种登录方法,具体请参见登录弹性云服务器

  2. 执行以下命令,查询网卡的路由信息。

    route -n

    显示如下图所示,本示例中:
    • 主网卡路由的目的地址为192.168.11.0/24。
    • 扩展网卡路由的目的地址为192.168.17.0/24。

  3. 执行以下命令,查看云服务器网卡名称。

    ifconfig

    显示如下图所示,通过网卡地址查找对应的网卡名称,本示例中:
    • 192.168.11.42为主网卡地址,对应的名称为eth0。
    • 192.168.17.191为扩展网卡地址,对应的名称为eth1。

  4. 执行以下步骤,设置网络默认通过扩展网卡访问公网。
    1. 执行如下命令,删除主网卡默认路由。

      route del -net 0.0.0.0 gw 子网网关 dev 网卡名称

      参数说明如下:

      • 0.0.0.0:目的地址,表示匹配多有IP,请不要修改。
      • 子网网关:填写表1中收集的主网卡所在子网的网关地址。
      • 网卡名称:填写3中所查的主网卡名称。

      命令示例:

      route del -net 0.0.0.0 gw 192.168.11.1 dev eth0

      此操作会导致ECS流量中断,此处请确保不影响业务再删除主网卡默认路由。

    2. 执行如下命令,配置扩展网卡默认路由。

      route add default gw 子网网关

      参数说明如下:

      子网网关:填写表1中收集的扩展网卡所在子网的网关地址。

      命令示例:

      route add default gw 192.168.17.1

  5. 验证网络通信情况。

    执行以下命令,验证ECS是否可以访问公网。

    ping 公网IP地址或者域名

    命令示例:

    ping support.huaweicloud.com

    回显类似如下信息,表示ECS可以访问公网。
    [root@ecs-a01 ~]# ping support.huaweicloud.com
    PING hcdnw.cbg-notzj.c.cdnhwc2.com (203.193.226.103) 56(84) bytes of data.
    64 bytes from 203.193.226.103 (203.193.226.103): icmp_seq=1 ttl=51 time=2.17 ms
    64 bytes from 203.193.226.103 (203.193.226.103): icmp_seq=2 ttl=51 time=2.13 ms
    64 bytes from 203.193.226.103 (203.193.226.103): icmp_seq=3 ttl=51 time=2.10 ms
    64 bytes from 203.193.226.103 (203.193.226.103): icmp_seq=4 ttl=51 time=2.09 ms
    ...
    --- hcdnw.cbg-notzj.c.cdnhwc2.com ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3004ms
    rtt min/avg/max/mdev = 2.092/2.119/2.165/0.063 ms