根据ECS实例使用的镜像不同,部分镜像需要您自行配置弹性网卡(ENI)。本文介绍了如何配置弹性网卡,使弹性网卡能被ECS实例识别。
前提条件
您已经将弹性网卡绑定到ECS实例上。详细步骤请参见绑定弹性网卡。
背景信息
如果ECS实例使用以下几种镜像,则可以跳过本文操作,无需配置弹性网卡。
- CentOS 8.0/8.1/8.2 64位
- CentOS 7.3/7.4/7.5 64位
- CentOS 6.8/6.9 64位
- Debian 10.5/10.6 64位
- Window Server 2008 R2及更高版本
其他镜像请按照本文操作配置弹性网卡,使弹性网卡能被ECS实例识别。
操作流程
- 查看并记录弹性网卡的信息。具体请参见准备工作。
- 根据ECS实例的操作系统,选择配置弹性网卡的方式并进行配置。
- 配置网卡路由。具体请参见配置网卡路由。
准备工作
您需要查询弹性网卡的主私网IP地址、掩码地址、默认路由和MAC地址,并在后续配置过程中注意网卡名和MAC地址的对应关系。
- 远程连接ECS实例。连接方式请参见连接方式概述。
- 获取每张网卡的主私网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:**
为Alibaba Cloud Linux 2系统配置弹性网卡
以下步骤以网卡eth1为示例,如果您要配置的是其他网卡,请根据实际情况修改网卡标识符。
- 打开网卡配置文件。
vi /etc/systemd/network/60-eth1.network
- 按下键盘i键进入编辑模式,在网卡配置文件中加入配置信息。
本示例提供以下两种场景需要添加的配置信息,您可以根据需求选择配置。
编辑完成后按
esc键,输入
:wq
并按回车键,保存并退出。
- 查看网卡配置文件并确认修改。
cat /etc/systemd/network/60-eth1.network
- 重启网络服务。
systemctl restart systemd-networkd
为CentOS或RedHat系统配置弹性网卡
以下步骤以网卡eth1为示例,如果您要配置的是其他网卡,请根据实际情况修改网卡标识符。
方式一:使用multi-nic-util工具。
说明 部分CentOS系统ECS实例可以下载并安装multi-nic-util工具,自动配置弹性网卡。该工具仅支持高于CentOS 6.8和CentOS 7.3版本的镜像。
- 下载multi-nic-util工具。
wget https://image-offline.oss-cn-hangzhou.aliyuncs.com/multi-nic-util/multi-nic-util-0.6.tgz
- 解压并安装multi-nic-util工具。
tar -zxvf multi-nic-util-0.6.tgz
cd multi-nic-util-0.6
bash install.sh
- 重启弹性网卡服务。
systemctl restart eni.service
方式二:手动配置。
- 打开网卡配置文件。
vi /etc/sysconfig/network-scripts/ifcfg-eth1
- 按下键盘i键进入编辑模式,在网卡配置文件中加入配置信息。
示例如下:
DEVICE=eth1 # 表示新配置的网卡接口。
BOOTPROTO=dhcp
ONBOOT=yes
TYPE=Ethernet
USERCTL=yes
PEERDNS=no
IPV6INIT=no
PERSISTENT_DHCLIENT=yes
HWADDR=00:16:3e:12:e7:** # 必须使用您查到的网卡对应的MAC地址。
DEFROUTE=no # 表示网卡接口不是默认路由。为避免在启动(ifup)弹性网卡时改变ECS实例活动的默认路由,不要将eth1设置为默认路由。
编辑完成后按
esc键,输入
:wq
并按回车键,保存并退出。
- 查看网卡配置文件并确认修改。
cat /etc/sysconfig/network-scripts/ifcfg-eth1
- 运行
service network restart
或systemctl restart network
重启网络服务。
说明 当您在云服务器内完成网卡配置后,如果需要创建自定义镜像,请先执行命令/etc/eni_utils/eni-cleanup清理/etc/udev/rules.d/70-persistent-net.rules和/etc/sysconfig/network-scripts/下的网络配置。
为Ubuntu或Debian系统配置弹性网卡
Ubuntu 14.04、Ubuntu 16.04及Debian支持以下配置。
- 打开网卡配置文件。
vi /etc/network/interfaces
- 按下键盘i键进入编辑模式,在网卡配置文件中加入配置信息。
以网卡eth1为例:
auto eth0
iface eth0 inet dhcp
auto eth1 # 表示新配置的网卡接口。
iface eth1 inet dhcp
编辑完成后按
esc键,输入
:wq
并按回车键,保存并退出。
- 查看网卡配置文件并确认修改。
cat /etc/network/interfaces
- 运行
service networking restart
或systemctl restart networking
重启网络服务。
Ubuntu 18.04支持以下配置。
- 创建并编辑网卡配置文件。
以网卡eth1为例:
vi /etc/netplan/eth1-netcfg.yaml
- 按下键盘i键进入编辑模式,在网卡配置文件中加入配置信息。
以网卡eth1为例:
network:
version: 2
renderer: networkd
ethernets:
eth1:
dhcp4: yes
dhcp6: no
编辑完成后按
esc键,输入
:wq
并按回车键,保存并退出。
说明 编辑配置文件时请注意以下事项:
- 配置文件为
YAML
文件格式,您在配置时需要遵循YAML
语法规则。
YAML
不支持制表符(Tab)缩进,请使用空格缩进。
- 建议您直接复制默认配置文件/etc/netplan/99-netcfg.yaml中的内容进行修改,避免产生格式问题。
- 查看网卡配置文件并确认修改。
cat /etc/netplan/eth1-netcfg.yaml
- 运行
netplan apply
使配置生效。
为SUSE或OpenSUSE系统配置弹性网卡
以下步骤以网卡eth1为示例,如果您要配置的是其他网卡,请根据实际情况修改网卡标识符。
- 打开网卡配置文件。
vi /etc/sysconfig/network/ifcfg-eth1
- 按下键盘i键进入编辑模式,在网卡配置文件中加入配置信息。
BOOTPROTO='dhcp4'
STARTMODE='auto'
USERCONTROL='no'
编辑完成后按
esc键,输入
:wq
并按回车键,保存并退出。
- 查看网卡配置文件并确认修改。
cat /etc/sysconfig/network/ifcfg-eth1
- 运行
service network restart
或systemctl restart network
重启网络服务。
配置网卡路由
- 启动弹性网卡。
- 运行
ifup [网卡名]
命令启动dhclient进程,并发起DHCP请求。
- 检查网卡IP分配情况,查看到的IP分配必须和您在准备工作阶段查询到的网卡信息一致。
[root@ecshost~ ]# 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
- 按您的需要规划路由表里每块网卡的默认路由metric值。
- 规划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
以上命令将eth1和eth2的
metric值按如下关系配置:
eth1: gw: 10.0.0.253 metric: 1001
eth2: gw: 10.0.0.253 metric: 1002
- 检查配置是否成功,注意查看Gateway和Metric列是否和您配置的信息一致。
[root@ecshost~ ]# 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
- 创建路由表。
- 创建路由表。
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
说明 建议路由表名称和网卡的默认路由metric取值保持一致,如本例中的1001和1002。
- 检查路由表是否创建成功。
[root@ecshost~ ]# ip route list table 1001
default via 10.0.0.253 dev eth1
[root@ecshost~ ]# ip route list table 1002
default via 10.0.0.253 dev eth2
- 配置策略路由。
- 创建策略路由。
ip -4 rule add from 10.0.0.20 lookup 1001
ip -4 rule add from 10.0.0.21 lookup 1002
- 查看路由规则。
[root@ecshost~ ]# 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