华为云虚拟私有云 VPC用户指南-如何为ECS的扩展网卡绑定EIP并实现公网通信?
操作场景
本示例如图1所示,ECS有两个网卡,包括主网卡和扩展网卡。您可以参考以下操作,为扩展网卡绑定EIP,并配置策略路由,确保ECS可以通过扩展网卡绑定的EIP访问公网。
本文操作以Linux系统的ECS为例,供您参考。
- 本次配置调整后,ECS实例将从通过主网卡绑定的EIP访问公网切换为通过扩展网卡绑定的EIP访问公网。配置完成后,ECS实例将无法通过主网卡和公网通信,原有网络将会中断,请谨慎评估后再执行操作。
- 如果您需要同时通过主网卡和扩展网卡实现与外部网络的正常通信,请参考为多网卡ECS配置策略路由。

步骤一:创建资源并绑定扩展网卡
- 创建一个VPC,并在VPC下添加两个子网。
本示例中,ECS主网卡和扩展网卡位于同一个VPC内的不同子网。
具体请参见创建虚拟私有云和子网。
- 基于已有的VPC和子网,创建一个ECS。
具体方法请参见自定义购买ECS。
- 创建弹性网卡,并将弹性网卡绑定至ECS,用作扩展网卡。
创建弹性网卡时,请选择VPC下的另一个子网,和ECS的主网卡所属不同的子网,具体请参见创建弹性网卡。
将弹性网卡绑定至ECS,具体请参见将弹性网卡绑定至云服务器实例。
- 购买一个EIP,并将EIP绑定至ECS的扩展网卡。
购买EIP,具体操作请参见申请弹性公网IP。
将EIP绑定至ECS的扩展网卡,具体操作请参见将弹性网卡绑定至弹性公网IP。
步骤二:获取云服务器网络信息
类型 |
主网卡 |
扩展网卡 |
|---|---|---|
|
网卡的私有IP地址 |
192.168.11.42 |
192.168.17.191 |
|
子网网关地址 |
192.168.11.1 |
192.168.17.1 |
- 执行以下操作,获取ECS网卡的私有IP地址。
- 进入弹性云服务器列表页面。
- 在弹性云服务器列表中,选择目标ECS,并单击名称对应的超链接。
进入弹性云服务器“基本信息”页签。
- 选择“弹性网卡”页签,查看云服务器主网卡和扩展网卡对应的私有IP地址。
- 执行以下操作,获取子网的网关地址。
- 进入弹性云服务器列表页面。
- 在弹性云服务器列表中,选择目标ECS,并单击名称对应的超链接。
进入弹性云服务器“基本信息”页签。
- 在云服务器信息区域,单击虚拟私有云对应的超链接。
进入“虚拟私有云”页面。
- 在虚拟私有云列表中,单击“子网个数”所在列的数字超链接。
进入“子网”页面。
- 在子网列表中,单击子网名称对应的超链接。
进入子网的“基本信息”页面。
- 在“网关和DNS”区域,查看目标子网对应的网关地址。
图2 子网网关地址

步骤三:为扩展网卡配置策略路由
- 远程登录ECS。
ECS有多种登录方法,具体请参见登录弹性云服务器。
- 执行以下命令,查询网卡的路由信息。
route -n
显示如下图所示,本示例中:- 主网卡路由的目的地址为192.168.11.0/24。
- 扩展网卡路由的目的地址为192.168.17.0/24。

- 执行以下命令,查看云服务器网卡名称。
ifconfig
显示如下图所示,通过网卡地址查找对应的网卡名称,本示例中:- 192.168.11.42为主网卡地址,对应的名称为eth0。
- 192.168.17.191为扩展网卡地址,对应的名称为eth1。

- 执行以下步骤,设置网络默认通过扩展网卡访问公网。
- 执行如下命令,删除主网卡默认路由。
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流量中断,此处请确保不影响业务再删除主网卡默认路由。
- 执行如下命令,配置扩展网卡默认路由。
route add default gw 子网网关
参数说明如下:
子网网关:填写表1中收集的扩展网卡所在子网的网关地址。
命令示例:
route add default gw 192.168.17.1
- 执行如下命令,删除主网卡默认路由。
- 验证网络通信情况。
执行以下命令,验证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
