更新时间:2024-10-25 GMT+08:00

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

操作场景

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

图1 通过ECS扩展网卡访问公网的组网示意图

本文操作以Linux系统的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. 登录管理控制台。
    1. 在管理控制台左上角单击,选择区域和项目。
    1. 在服务列表,选择计算 >弹性云服务器
    2. 在弹性云服务器列表中,选择目标ECS,并单击名称对应的超链接。

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

    3. 选择“弹性网卡”页签,查看云服务器主网卡和扩展网卡对应的私有IP地址。
  2. 执行以下操作,获取子网的网关地址。
    1. 登录管理控制台。
    1. 在管理控制台左上角单击,选择区域和项目。
    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