根据ECS实例使用的镜像不同,部分镜像需要您手动配置弹性网卡(ENI)后,绑定在实例上的弹性网卡才能被ECS实例识别。

前提条件

您已经将弹性网卡绑定到ECS实例上。详细步骤请参见绑定弹性网卡

背景信息

如果ECS实例使用以下几种镜像,您无需配置弹性网卡:
  • CentOS 7.3 64位
  • CentOS 6.8 64位
  • Window Server 2008 R2及更高版本的Windows镜像

对于其他镜像,您需要自行配置弹性网卡,使得弹性网卡能被ECS实例识别。

自动配置

如果您使用的是CentOS镜像,可以下载并安装multi-nic-util工具,自动完成配置弹性网卡。该工具仅支持高于CentOS 6.8和CentOS 7.3版本的镜像。

  1. 远程连接ECS实例。连接方式请参见连接方式导航
  2. 运行以下命令下载multi-nic-util工具。
    wget https://image-offline.oss-cn-hangzhou.aliyuncs.com/multi-nic-util/multi-nic-util-0.6.tgz
  3. 运行以下命令解压并安装multi-nic-util工具。
    tar -zxvf multi-nic-util-0.6.tgz
    cd multi-nic-util-0.6
    bash install.sh

手动配置

本示例以CentOS 7.2 64位系统ECS实例为例,介绍如何配置绑定在Linux实例上的弹性网卡,使其能被ECS实例识别。

  1. 远程登录ECS实例。连接方式请参见连接ECS实例
  2. 获取每张网卡的主私网IP地址、掩码地址、默认路由和MAC地址。
    示例如下:
    eth1 10.0.0.20/24 10.0.0.253 00:16:3e:12:e7:**
    eth2 10.0.0.21/24 10.0.0.253 00:16:3e:12:16:**
    • 调用API DescribeNetworkInterfaces查询。
    • 在ECS控制台上查询。
      1. 登录ECS管理控制台
      2. 在左侧导航栏,选择网络与安全 > 弹性网卡
      3. 网卡列表页面,查看网卡的主私网IP地址MAC地址。
    • 通过实例元数据获取。更多详情请参见什么是实例元数据
      [root@LocalHost ~]# curl http://100.100.100.200/latest/meta-data/mac
      00:16:3e:12:e7:**
      [root@LocalHost ~]# curl http://100.100.100.200/latest/meta-data/network/interfaces/macs/00:16:3e:12:e7:**/netmask
      255.255.255.0
      [root@LocalHost ~]# curl http://100.100.100.200/latest/meta-data/network/interfaces/macs/00:16:3e:12:e7:**/primary-ip-address
      10.0.0.20
      [root@LocalHost ~]# curl http://100.100.100.200/latest/meta-data/network/interfaces/macs/00:16:3e:12:e7:**/gateway
      10.0.0.253
  3. 运行cat /etc/sysconfig/network-scripts/ifcfg-[网卡名]命令查看网卡配置文件。
    说明
    • 需要注意网卡名和MAC地址的对应关系。
    • 为避免在启动(ifup)所配置的弹性网卡时改变ECS实例活动的默认路由,不要将该网卡接口设置为默认路由。DEFROUTE=no表示网卡接口不是默认路由。
    示例如下:
    # cat /etc/sysconfig/network-scripts/ifcfg-eth1
    DEVICE=eth1
    BOOTPROTO=dhcp
    ONBOOT=yes
    TYPE=Ethernet
    USERCTL=yes
    PEERDNS=no
    IPV6INIT=no
    PERSISTENT_DHCLIENT=yes
    HWADDR=00:16:3e:12:e7:**
    DEFROUTE=no
  4. 启动弹性网卡。
    1. 运行ifup [网卡名]命令启动dhclient进程,并发起DHCP请求。
      示例如下:
      # ifup eth1
      # ifup eth2
    2. 请求返回后,运行ip a命令检查网卡IP分配情况,并注意是否与控制台上提供的网卡信息匹配。
      示例如下:
      # ip a
      1: lo:  mtu 65536 qdisc noqueue state UNKNOWN qlen 1
      link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
      inet 127.0.0.1/8 scope host lo
      valid_lft forever preferred_lft forever
      2: eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
      link/ether 00:16:3e:0e:16:** brd ff:ff:ff:ff:ff:ff
      inet 10.0.0.19/24 brd 10.0.0.255 scope global dynamic eth0
      valid_lft 31506157sec preferred_lft 31506157sec
      3: eth1:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
      link/ether 00:16:3e:12:e7:** brd ff:ff:ff:ff:ff:ff
      inet 10.0.0.20/24 brd 10.0.0.255 scope global dynamic eth1
      valid_lft 31525994sec preferred_lft 31525994sec
      4: eth2:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
      link/ether 00:16:3e:12:16:** brd ff:ff:ff:ff:ff:ff
      inet 10.0.0.21/24 brd 10.0.0.255 scope global dynamic eth2
      valid_lft 31526009sec preferred_lft 31526009sec
  5. 按需要规划路由表里每块网卡默认路由metric值。
    在本示例中,假设eth1和eth2的metric值配置如下:
    eth1: gw: 10.0.0.253 metric: 1001
    eth2: gw: 10.0.0.253 metric: 1002
    1. 运行如下命令规划metric值。
      # ip -4 route add default via 10.0.0.253 dev eth1 metric 1001
      # ip -4 route add default via 10.0.0.253 dev eth2 metric 1002
    2. 运行route -n命令检查配置是否成功。
      # route -n
      Kernel IP routing table
      Destination Gateway Genmask Flags Metric Ref Use Iface
      0.0.0.0 10.0.0.253 0.0.0.0 UG 0 0 0 eth0
      0.0.0.0 10.0.0.253 0.0.0.0 UG 1001 0 0 eth1
      0.0.0.0 10.0.0.253 0.0.0.0 UG 1002 0 0 eth2
      10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
      10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
      10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
      169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
      169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1
      169.254.0.0 0.0.0.0 255.255.0.0 U 1004 0 0 eth2
  6. 创建路由表。
    说明 建议您将路由表名称和规划的metric值保持一致。
    1. 运行以下命令创建路由表。
      # ip -4 route add default via 10.0.0.253 dev eth1 table 1001
      # ip -4 route add default via 10.0.0.253 dev eth2 table 1002
    2. 运行以下命令检查路由表是否创建成功。
      # ip route list table 1001
      default via 10.0.0.253 dev eth1
      # ip route list table 1002
      default via 10.0.0.253 dev eth2
  7. 配置策略路由。
    1. 运行以下命令创建策略路由。
      # ip -4 rule add from 10.0.0.20 lookup 1001
      # ip -4 rule add from 10.0.0.21 lookup 1002
    2. 运行ip rule list命令查看路由规则。
      # ip rule list
      0: from all lookup local
      32764: from 10.0.0.21 lookup 1002
      32765: from 10.0.0.20 lookup 1001
      32766: from all lookup main
      32767: from all lookup default

后续步骤

弹性网卡配置成功后,您可以执行以下操作: