ECS实例绑定辅助弹性网卡后,部分镜像可能无法自动识别辅助弹性网卡的IP地址并添加路由,导致辅助弹性网卡无法正常使用。为解决此问题,建议您按照本文介绍的操作在ECS实例内部配置辅助弹性网卡以识别IP地址。同时,您还可以通过配置路由来满足特定需求和目标,从而更好地管理和控制网络流量。
前提条件
已将辅助弹性网卡绑定至ECS实例。具体操作,请参见绑定弹性网卡。
步骤一:确认是否需要配置辅助弹性网卡
您可以通过查看辅助弹性网卡的IP地址的识别状态或镜像类型来判断是否需要配置辅助弹性网卡。
无需配置辅助弹性网卡的镜像
部分镜像预装了自动配置工具,可以自动配置绑定的辅助弹性网卡。如果您使用这类镜像(例如下面列举的镜像版本),则无需自行配置辅助弹性网卡,可以直接跳过本文的操作步骤。
说明
下面列举的镜像版本可能不全,具体以实际环境为准。
-
Alibaba Cloud Linux 3.2104 64位
-
CentOS 8.0/8.1/8.2 64位及更高版本
-
CentOS 7.3/7.4/7.5 64位
-
CentOS 6.8/6.9 64位
-
Debian 11.3/11.4 64位及更高版本
-
Window Server 2008 R2及更高版本
-
远程连接Linux实例。
具体操作,请参见通过密码或密钥认证登录Linux实例。
-
执行以下命令,查看辅助弹性网卡IP地址的识别状态。
ip address show
-
根据返回查询结果,判断是否需要配置辅助弹性网卡。
-
情况1:主网卡(eth0)和辅助弹性网卡(eth1)的IP地址都已识别,您无需再配置辅助弹性网卡。
查询结果示例如下:
-
情况2:主网卡(eth0)的IP地址已识别,辅助弹性网卡(eth1)的IP地址未识别,您需要按本文操作配置辅助弹性网卡。
查询结果示例如下:
-
- 说明
上述示例中,00:16:3e:16:**:**
为主网卡的MAC地址,00:16:3e:0f:**:**
为辅助弹性网卡的MAC地址。
(可选)步骤二:获取辅助弹性网卡的信息
在配置辅助弹性网卡时,您可能需要填写主私网IP地址、MAC地址等信息,请提前获取信息方便后续填写。
下述操作为演示步骤,请您在配置时根据实际信息修改相关参数内容。
通过ECS控制台获取(推荐)
-
登录ECS管理控制台。
-
在左侧导航栏,选择网络与安全 > 弹性网卡。
-
在页面左侧顶部,选择目标资源所在的地域。
-
在弹性网卡页面,找到目标辅助弹性网卡,在对应信息列中查看主私网IP地址和MAC地址。
在ECS实例内部通过实例元数据获取
-
远程连接Linux实例。
具体操作,请参见通过密码或密钥认证登录Linux实例。
-
依次执行以下命令获取弹性网卡的信息。
-
获取实例所有网卡的MAC地址。
curl http://100.100.100.200/latest/meta-data/network/interfaces/macs/
说明
在获取指定弹性网卡的主私网IP地址、子网掩码、网关地址时,需要使用MAC地址。
-
获取指定弹性网卡的主私网IP地址。
curl http://100.100.100.200/latest/meta-data/network/interfaces/macs/00:16:3e:19:**:**/primary-ip-address
-
获取指定弹性网卡的子网掩码。
curl http://100.100.100.200/latest/meta-data/network/interfaces/macs/00:16:3e:19:**:**/netmask
-
获取指定弹性网卡的网关地址。
curl http://100.100.100.200/latest/meta-data/network/interfaces/macs/00:16:3e:19:**:**/gateway
-
示例结果如下图所示。其中00:16:3e:16:**:**
为主网卡的MAC地址,00:16:3e:0f:**:**
为辅助弹性网卡的MAC地址。
说明
您可以结合ip address show
的结果,确定主网卡和辅助弹性网卡MAC地址的显示顺序。
步骤三:配置辅助弹性网卡
不同的操作系统中适用的操作存在差异,请选择对应操作系统示例执行操作。
说明
Alibaba Cloud Linux 2操作系统以网络服务类型分为如下两种,您可参考下述操作,排查确定其网络服务的类型。
-
Alibaba Cloud Linux 2(network-scripts)
您可以执行
ls /etc/sysconfig/network-scripts
命令,查看当前系统中是否存在/etc/sysconfig/network-scripts
目录。如果输出了一些以ifcfg-
、ifdown-
和ifup-
开头的文件,则表示当前系统使用的是network-scripts服务类型。 -
Alibaba Cloud Linux 2(systemd-networkd)
您可以执行
systemctl status systemd-networkd
命令,查看当前系统是否安装了systemd-networkd。如果输出了一些systemd-networkd.service
的状态信息,包括运行状态、主动状态、日志记录等等,则表示当前系统使用的是systemd-networkd服务类型。
更多信息,请参见Alibaba Cloud Linux 2实例修改网络服务的方法及影响说明。
CentOS 6/7、RedHat或Alibaba Cloud Linux 2(network-scripts)
对网络服务类型为network-scripts的Alibaba Cloud Linux 2、CentOS 6/7和RedHat系统,您可以通过multi-nic-util工具自动配置或者修改网卡配置文件手动配置。
重要
-
使用multi-nic-util工具会覆盖ECS实例原有的网络配置,请您知悉此风险。
-
通过multi-nic-util工具为CentOS系统自动配置辅助弹性网卡时,仅部分镜像版本支持使用multi-nic-util工具。
-
CentOS 6镜像:请确保镜像版本为CentOS 6.8及以上。
-
CentOS 7镜像:请确保镜像版本为CentOS 7.3及以上。
-
对于不支持使用multi-nic-util工具的CentOS镜像版本,请通过修改网卡配置文件手动配置辅助弹性网卡。
-
方式一:通过multi-nic-util工具自动配置(推荐)
-
执行以下命令,下载并安装multi-nic-util工具。
-
执行以下命令,重启弹性网卡服务。
sudo systemctl restart eni.service
wget https://image-offline.oss-cn-hangzhou.aliyuncs.com/multi-nic-util/multi-nic-util-0.6.tgz && \
tar -zxvf multi-nic-util-0.6.tgz && \
cd multi-nic-util-0.6 && \
bash install.sh
方式二:通过修改网卡配置文件手动配置
-
执行以下命令,打开辅助弹性网卡的配置文件。
-
按
i
键进入编辑模式,在网卡配置文件中添加如下辅助弹性网卡的信息,然后按Esc
键退出编辑模式,输入:wq
保存退出。添加网卡信息的示例如下:
DEVICE=eth1 # 表示新配置的网卡接口。 BOOTPROTO=dhcp ONBOOT=yes TYPE=Ethernet USERCTL=yes PEERDNS=no IPV6INIT=no PERSISTENT_DHCLIENT=yes HWADDR=00:16:3e:0f:**:** # 必须使用您查到的网卡对应的MAC地址。 DEFROUTE=no # 表示网卡接口不是默认路由。为避免在启动(ifup)辅助弹性网卡时改变ECS实例活动的默认路由,不要将eth1设置为默认路由。
-
执行以下命令,重启网络服务。
-
CentOS 7以前版本、RedHat 7以前版本(例如CentOS 6、RedHat 6):
sudo service network restart
-
-
CentOS 7及以上版本、RedHat 7及以上版本、Alibaba Cloud Linux 2:
vi /etc/sysconfig/network-scripts/ifcfg-eth1
sudo systemctl restart network
说明
当您完成配置后,如果需要通过该实例创建自定义镜像,请先执行/etc/eni_utils/eni-cleanup
命令清理/etc/udev/rules.d/70-persistent-net.rules
和/etc/sysconfig/network-scripts/
下的网络配置。
Alibaba Cloud Linux 2(systemd-networkd)
对网络服务类型为systemd-networkd的Alibaba Cloud Linux 2系统,您需要通过修改网卡配置文件手动配置。
-
执行以下命令,打开辅助弹性网卡的配置文件。
vi /etc/systemd/network/60-eth1.network
-
按
i
键进入编辑模式,在网卡配置文件中添加如下辅助弹性网卡的信息,然后按Esc
键退出编辑模式,输入:wq
保存退出。您可以为辅助弹性网卡分配动态IP或指定静态IP,请根据需要选择一种方式。添加网卡信息的示例如下:
-
通过DHCP分配动态IP
[Match] Name=eth1 # 表示新配置的网卡接口。 [Network] DHCP=yes [DHCP] UseDNS=yes
-
指定静态IP
[Match] Name=eth1 # 表示新配置的网卡接口。 [Network] Address=192.168.**.*2/24 # 表示分配的静态IP和子网掩码。
说明
示例中
192.168.**.*2
为主私网IP地址,掩码位/24
对应子网掩码255.255.255.0
。
-
-
执行以下命令,重启网络服务。
sudo systemctl restart systemd-networkd
Ubuntu或Debian
对Ubuntu和Debian系统,您需要根据实际镜像版本修改对应的配置文件。
-
以Ubuntu 14.04、Ubuntu 16.04及Debian为例
-
执行以下命令,打开网卡配置文件。
vi /etc/network/interfaces
-
按
i
键进入编辑模式,在网卡配置文件中添加如下辅助弹性网卡的信息,然后按Esc
键退出编辑模式,输入:wq
保存退出。添加网卡信息的示例如下:
auto eth0 iface eth0 inet dhcp auto eth1 # 表示新配置的网卡接口。 iface eth1 inet dhcp
说明
主网卡(eth0)和辅助弹性网卡(eth1)的配置在同一个配置文件中维护,请注意不要遗漏主网卡的信息。
-
执行以下命令,重启网络服务。
-
Ubuntu 14.04:
sudo service networking restart
-
Ubuntu 16.04、Debian:
sudo systemctl restart networking
若出现以下警告,不影响配置辅助弹性网卡生效。您可以运行
ip address show
查看辅助弹性网卡IP地址的识别状态。 -
-
-
以Ubuntu 18.04为例
-
执行以下命令,打开辅助弹性网卡的配置文件。
-
按
i
键进入编辑模式,在网卡配置文件中添加如下辅助弹性网卡的信息,然后按Esc
键退出编辑模式,输入:wq
保存退出。说明
编辑配置文件时请注意以下事项:
-
配置文件为
YAML
文件格式,您在配置时需要遵循YAML
语法规则。 -
YAML
不支持制表符(Tab)缩进,请使用空格缩进。 -
建议您直接复制默认配置文件
/etc/netplan/99-netcfg.yaml
中的内容进行修改,避免产生格式问题。
添加网卡信息的示例如下:
network: version: 2 renderer: networkd ethernets: eth1: dhcp4: yes dhcp6: no
-
-
执行以下命令,使配置生效。
vi /etc/netplan/eth1-netcfg.yaml
netplan apply
-
SUSE或OpenSUSE
对SUSE和OpenSUSE系统,您需要通过修改网卡配置文件手动配置辅助弹性网卡。
-
执行以下命令,打开网卡配置文件。
vi /etc/sysconfig/network/ifcfg-eth1
-
按
i
键进入编辑模式,在网卡配置文件中添加如下辅助弹性网卡的信息,然后按Esc
键退出编辑模式,输入:wq
保存退出。通过DHCP分配动态IP的示例如下:
BOOTPROTO='dhcp4' STARTMODE='auto' USERCONTROL='no'
-
执行以下命令,重启网络服务。
-
SUSE Linux Enterprise Server 12以前版本、OpenSUSE 13.2以前版本:
sudo service network restart
-
SUSE Linux Enterprise Server 12及以上版本、OpenSUSE 13.2及以上版本:
sudo systemctl restart network
-
(可选)步骤四:配置路由
您可以通过执行route -n
命令来检查当前的路由信息。如果辅助弹性网卡没有路由,或者现有的路由不满足您的需求,您可以按照本章节的指引通过配置路由表和规则来自行配置路由。通过配置路由表和规则,您可以实现不同的路由策略,将特定的网络流量通过指定的网关进行转发,以便更加精确地控制和管理网络流量的转发路径。
根据您的实际需要规划默认路由,本文使用以下表中的示例信息作为演示步骤。
信息 |
示例取值 |
网卡名称 |
eth1 |
主私网IP地址 |
192.168.**.*2 |
网关地址 |
192.168.**.253 |
metric |
1001 |
在Alibaba Cloud Linux 2、CentOS 7系统中配置路由
-
执行以下命令,查看路由信息。
route -n
查询结果示例如下:
-
仅查询到了主网卡(eth0)的路由信息,辅助弹性网卡(eth1)还未配置路由,您需要继续执行后续操作,为辅助弹性网卡配置路由。
-
查询到了主网卡(eth0)和辅助弹性网卡(eth1)的路由信息,无需再执行后续操作为辅助弹性网卡配置路由。如果不符合您的实际需要,也可以自行修改。
-
-
执行以下命令,配置默认路由。
ip -4 route add default via 192.168.**.253 dev eth1 metric 1001 && \ ip -4 route add default via 192.168.**.253 dev eth1 table 1001 && \ ip -4 rule add from 192.168.**.*2 lookup 1001
说明
上述命令为eth1添加默认路由,并创建了一张路由表和一条关联至该路由表的路由策略。其中,
table 1001
为路由表(和默认路由metric取值保持一致),192.168.**.253
为网关地址,192.168.*.*2
为eth1的主私网IP地址。请将相关参数替换为实际内容。 -
执行以下命令,查看创建的路由表和策略路由。
ip route list table 1001 && \ ip rule list
系统返回查询结果如下图,表示创建的路由表和策略路由成功。
-
配置开机时自动更新路由。
为eth1配置路由后,需配置开机时自动更新路由,否则重启实例后该路由配置会失效。
-
执行以下命令,打开
/etc/rc.local
文件。vim /etc/rc.local
-
按
i
键进入编辑模式,添加如下内容,然后按Esc
键退出编辑模式,输入:wq
保存退出。ip -4 route add default via 192.168.**.253 dev eth1 metric 1001 ip -4 route add default via 192.168.**.253 dev eth1 table 1001 ip -4 rule add from 192.168.**.*2 lookup 1001
-
执行以下命令,为
/etc/rc.local
文件添加执行权限。sudo chmod +x /etc/rc.local
-
在CentOS 8系统中配置路由
-
执行以下命令,查看路由信息。
route -n
系统返回信息示例如下图,表示查询到了主网卡(eth0)和辅助弹性网卡(eth1)的路由信息。
-
创建配置路由用的脚本。
-
执行以下命令,新建并打开
/home/route.sh
文件。vi /home/route.sh
-
按
i
键进入编辑模式,添加如下内容,然后按Esc
键退出编辑模式,输入:wq
保存退出。说明
下述脚本内容为eth1创建了一张路由表和一条关联至该路由表的路由策略。其中,
table 1001
为路由表,192.168.**.253
为网关地址,192.168.*.*2
为eth1的主私网IP地址。#!/bin/bash i=0 while true; do /usr/sbin/ip -4 route add default via 192.168.**.253 dev eth1 table 1001 if [ $? -eq 0 ]; then break fi sleep 3 let i++ if [ $i -gt 10 ]; then exit -1 fi done i=0 while true; do /usr/sbin/ip -4 rule add from 192.168.**.*2 lookup 1001 if [ $? -eq 0 ]; then break fi sleep 3 let i++ if [ $i -gt 10 ]; then exit -1 fi done
-
-
执行以下命令,配置默认路由。
sh /home/route.sh
-
执行以下命令,查看创建的路由表和策略路由。
ip route list table 1001 && \ ip rule list
系统返回示例结果如下图所示。
-
配置开机时自动更新路由。
为eth1配置路由后,请按以下步骤配置开机时自动更新路由,否则重启实例后该路由配置会失效。
-
执行以下命令,打开
/etc/rc.local
文件。vim /etc/rc.local
-
按
i
键进入编辑模式,添加如下内容,然后按Esc
键退出编辑模式,输入:wq
保存退出。sh /home/route.sh
-
执行以下命令,为
/etc/rc.local
文件添加执行权限。sudo chmod +x /etc/rc.local
-
关于阿里云ecs服务器的内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
本文来自投稿,不代表新手站长_郑州云淘科技有限公司立场,如若转载,请注明出处:http://www.cnzhanzhang.com/9898.html