有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
本文将指引您在 Linux 操作系统下为云服务器配置弹性网卡。
本文提供两种常用镜像类型(CentOS 和 Ubuntu)的服务器配置弹性网卡的操作指导:

CentOS 云服务器配置弹性网卡

方式一:工具配置

注意
该方式适用于 CentOS 8.0、7.8、7.6、7.5、7.4和7.2版本。
“nic-hotplug.tgz” 工具将在绑定弹性网卡或云服务器重启时被触发,自动创建网卡配置文件,并下发弹性网卡的路由。
当云服务器已有弹性网卡时,请务必确保存量弹性网卡的路由均已正确配置,再执行工具配置新弹性网卡;如可以接受云服务器重启对业务的影响,也可在配置完成后,参考 步骤5 重启云服务器使工具配置对所有网卡均生效。

操作步骤

1. 登录云服务器,在云服务器中直接执行如下命令下载 nic-hotplug.tgz 工具。
wget https://iso-1255486055.cos.ap-guangzhou.myqcloud.com/nic-hotplug.tgz
2. 执行如下命令解压文件。
tar -zxvf nic-hotplug.tgz
3. 执行如下命令,赋予执行权限后,安装工具。
cd nic-hotplug
chmod +x ./install.sh
./install.sh
4. 参考 绑定弹性网卡,绑定弹性网卡,绑定后可执行如下操作验证新增网卡 eth1 的路由已正常下发。
4.1 执行 ip rule show,可查看到 eth1 的策略路由已添加。

4.2 执行 ip route show table eth1,可查看到 eth1 路由表信息。

5. 
(可选)
如有存量网卡,可在云服务器控制台或执行 reboot 命令重启云服务器,重启后所有网卡的路由将自动下发正常。 控制台重启:

命令重启:


方式二:手动配置

说明
以 Centos 7.8举例。

前提条件

已将弹性网卡绑定到云服务器,具体参考 绑定弹性网卡

操作步骤

1. 以管理员身份 登录云服务器,执行如下命令,查看需配置(未显示 IP)的网卡信息,如图所示,需配置的网卡名称为 eth1
ip addr



2. 执行如下命令,进入/etc/sysconfig/network-scripts/文件夹:
cd /etc/sysconfig/network-scripts/
3. 根据实际情况创建新网卡的配置文件,如下以创建命名为 ifcfg-eth1 的配置文件为例 :
3.1 输入命令:
cp ifcfg-eth0 ifcfg-eth1
3.2 输入命令修改配置文件内容:
vim ifcfg-eth1
3.3 按 “i” 切换至编辑模式,把配置文件内容修改为:
说明
查看弹性网卡上的 IP 地址与子网掩码的方法,请在 附录 中进行查看。
方式一:静态手工配置 IP
BOOTPROTO=static
DEVICE=eth0 # 此处填写步骤1中查看到的需配置的弹性网卡名称,请根据实际填写
ONBOOT=yes
PERSISTENT_DHCLIENT=yes
TYPE=Ethernet
USERCTL=no
IPADDR='192.168.1.62' # 此处填写弹性网卡上的 IP 地址,请根据实际填写
NETMASK='255.255.255.192' # 此处填写子网掩码,请根据实际填写
#GATEWAY='192.168.1.1' # 填写网卡所在子网的网关 IP 地址,请根据实际填写,本例由于 eth1 和 eth0 在同一个子网,已经定义了网关,这里不再重复填写,避免网关冲突
方式二:动态获取 IP 地址
BOOTPROTO=dhcp #自动获取 IP 地址
DEVICE=eth1 # 填写需配置的弹性网卡名
HWADDR=20:90:6F:63:98:CC # 请替换为弹性网卡实际的 MAC 地址
ONBOOT=yes
PERSISTENT_DHCLIENT=yes
TYPE=Ethernet
USERCTL=no
PEERDNS=no
DEFROUTE=no # 默认路由,即是否将该网卡设置为默认路由,此处为防止路由冲突不设置 eth1 为默认路由
3.4 修改后保存配置文件并退出(在 vim 的末行模式下按 “Esc”,输入 “wq!” 并回车)。
4. 输入如下命令,重启网络服务使配置生效。
注意
如果您配置了 DNS,在重启网络后可能导致 resolv.conf 文件被重置,影响 DNS 解析,请评估后操作。
systemctl restart network
5. 检查和确认 IP 配置正确。
5.1 输入如下查看 IP 的命令。
ip addr
5.2 确认辅助网卡和辅助网卡上的 IP 可见,如下图所示。

如果 IP 配置不正确,请执行如下检查:
5.2.1 检查配置文件是否正确,如不正确请重新配置。
5.2.2 检查网络是否重启,如未重启,请执行如下命令重启网络,使配置生效。
systemctl restart network
6. 根据业务实际情况配置路由策略。 按照上述步骤配置好后,Linux 镜像依旧默认从主网卡发包。您可通过策略路由来指定报文从某个网卡进,并从该网卡返回。
6.1 
创建
两张路由表。
echo "10 t1" >> /etc/iproute2/rt_tables #10为自定义的路由ID,t1为自定义的路由表名称,请根据实际填写。
echo "20 t2" >> /etc/iproute2/rt_tables #20为自定义的路由ID,t2为自定义的路由表名称,请根据实际填写。
6.2 给两个路由表添加默认路由,有两种方式。
配置临时策略路由(即重启网络后路由消失,需重新配置),请执行如下命令。
ip route add default dev eth0 via 192.168.1.1 table 10 #192.168.1.1请替换为主网卡所属子网的网关
ip route add default dev eth1 via 192.168.1.1 table 20 #192.168.1.1请替换为辅助网卡所属子网的网关
说明
具体网关,请参考 查看网关
配置永久路由,即可利用配置文件将策略路由保存下来,此处以 centos7.8 为例。
a. 编辑“/etc/sysconfig/network-scripts/”目录中的配置文件“route-网卡名”,如route-eth0。
vim /etc/sysconfig/network-scripts/route-eth0 # 编辑 route-eth0 文件
b. 增加添加一行命令:`default dev [网卡名 如 eth0] via [该网卡的网关 如192.168.1.1] table [策略路由表的代号 如10]`,如下:
default dev eth0 via 192.168.1.1 table 10 # 在 route-eth0 文件中为路由表10增加默认网关
c. 按“ESC”,并输入“:wq!”保存并退出,然后再按照同样操作配置 route-eth1 文件。
vim /etc/sysconfig/network-scripts/route-eth1 # 编辑 route-eth1 文件 default dev eth1 via 192.168.1.1 table 20 # 在 route-eth1 文件中为路由表20增加默认网关
d. 重启网络使配置生效。
systemctl restart network
6.3 配置策略路由规则。
ip rule add from 192.168.1.5 table 10 #IP 请替换为主网卡上的 IP,请根据实际情况填写。
ip rule add from 192.168.1.62 table 20 #IP 请替换为辅助网卡上的 IP,请根据实际情况填写。
7. 配置完成后,可用同一个子网下的 CVM,来 Ping 内网地址,能 Ping 通即说明配置成功。如无其他 CVM,可以给辅助网卡的内网 IP 绑定公网 IP,Ping 该公网 IP 来验证。

Ubuntu 云服务器配置弹性网卡

说明
以 ubuntu 16.04举例。
1. 以管理员身份 登录云服务器,执行如下命令,查看需配置(未显示 IP)的网卡信息,如图所示,需配置的网卡名称为 eth1
ip addr

2. 执行如下命令,进入/etc/network/文件夹。
cd /etc/network/
3. 修改配置文件 interfaces。
3.1 执行如下命令切换至 root 用户,并修改配置文件内容。
sudo su
vim interfaces
3.2 按 “i” 切换至编辑模式,并增加如下配置内容。
说明
查看弹性网卡上的 IP 地址与子网掩码的方法,请在 附录 中进行查看。
auto eth1 # 此处填写步骤1中查看到的需配置的弹性网卡名称,请根据实际填写
iface eth1 inet static # 此处填写步骤1中查看到的需配置的弹性网卡名称,请根据实际填写
address 172.21.48.3 # 此处填写弹性网卡上的 IP 地址,请根据实际填写
netmask 255.255.240.0 # 此处填写子网掩码,请根据实际填写
3.3 修改后保存配置文件并退出(在 vim 的末行模式下按 “Esc”,输入 “wq!” 并回车)。
4. 重启网卡 eth1。
4.1 执行如下命令切换至 root 用户,并安装 ifupdown。
sudo su
apt install ifupdown
4.2 关闭网卡 eth1。
ifdown eth1
4.3 启动网卡 eth1。
ifup eth1
5. 检查和确认 IP 配置正确。
5.1 输入如下命令查看 IP。
ip addr
5.2 确认辅助网卡和辅助网卡上的 IP 可见,如下图所示。

如果 IP 配置不正确,请执行如下检查:
5.3. 检查配置文件是否正确,如不正确请重新配置。
5.4. 检查网卡是否重启,如未重启,请执行如下命令重启网卡,使配置生效。
ifdown eth1
ifup eth1
6. 根据业务实际情况配置路由策略。
说明
按照上述步骤配置好后,Linux 镜像依旧默认从主网卡发包。您可通过策略路由来指定报文从某个网卡进,并从该网卡返回。
6.1 
执行如下命令
创建两张路由表。
echo "10 t1" >> /etc/iproute2/rt_tables #10为自定义的路由ID,t1为自定义的路由表名称,请根据实际填写。
echo "20 t2" >> /etc/iproute2/rt_tables #20为自定义的路由ID,t2为自定义的路由表名称,请根据实际填写。
6.2 给两个路由表添加默认路由,有两种方式。
配置临时策略路由(即重启网络后路由消失,需重新配置),操作步骤如下: a. 执行如下命令,配置路由表内的路由。
ip route add default dev eth0 via 172.21.48.1 table 10 #172.21.48.1要分别替换成主网卡所属子网的网关
ip route add default dev eth1 via 172.21.48.1 table 20 #172.21.48.1要分别替换成辅助网卡所属子网的网关
说明
具体网关,请参考 查看网关
b. 执行如下命令,配置策略路由。
ip rule add from 172.21.48.11 table 10 #替换成主网卡上的 IP,请根据实际情况填写。
ip rule add from 172.21.48.3 table 20 #替换成辅助网卡上的 IP,请根据实际情况填写。
配置永久路由策略,即可利用配置文件将策略路由保存下来,此处以 ubuntu 16.04为例。 a. 编辑“/etc/network/interfaces”文件中网口的配置。
vim /etc/network/interfaces # 编辑 interfaces文件
b. Interfaces 文件中可能存在多个端口的配置,需要在对应的端口下增加策略路由的配置,示例如下:
up ip route add default dev eth1 via 172.21.48.1 table 20 #172.21.48.1要分别替换成辅助网卡所属子网的网关
up ip rule add from 172.21.48.3 table 20 #172.21.48.3替换成辅助网卡上的 IP,请根据实际情况填写
c. 按“ESC”,并输入“wq!”保存并退出。
d. 编辑“/etc/network/interfaces.d/50-cloud-init.cfg”文件中网口的配置。
vim /etc/network/interfaces.d/50-cloud-init.cfg # 编辑eth0网卡配置
e. 在 eth0 网口的网络配置下面增加策略路由的配置,示例如下:
up ip route add default dev eth0 via 172.21.48.1 table 10 #172.21.48.1要分别替换成主网卡所属子网的网关
up ip rule add from 172.21.48.11 table 10 #172.21.48.11替换成主网卡上的 IP,请根据实际情况填写
f. 按“ESC”,并输入“:wq!”保存并退出。 g. 重启网络使配置生效。
service networking restart
7. 配置完成后,可用同一个子网下的 CVM,来 Ping 内网地址,能 Ping 通即说明成功。如无其他 CVM,可以给辅助网卡的内网 IP 绑定公网 IP,Ping 该公网 IP 来验证。

附录

查看弹性网卡上的 IP 地址

2. 单击左侧目录中的 IP 与网卡 > 弹性网卡,进入弹性网卡列表页。
3. 单击弹性网卡 ID,进入详情页。
4. 选择 IPv4 地址管理标签页,查看弹性网卡上的 IP 地址,即内网 IP。



查看弹性网卡的子网掩码

2. 单击左侧目录中的 IP 与网卡 > 弹性网卡,进入弹性网卡列表页。
3. 单击弹性网卡 ID,进入详情页,查看弹性网卡的子网掩码。 如下图所示,所属子网的 CIDR 位数为/20,即弹性网卡的子网掩码为:255.255.240.0

CIDR 位数与子网掩码的对应关系如下表所示:
CIDR 位数
子网掩码
/29
255.255.255.248
/28
255.255.255.240
/27
255.255.255.224
/26
255.255.255.192
/25
255.255.255.128
/24
255.255.255.0
/23
255.255.254.0
/22
255.255.252.0
/21
255.255.248.0
/20
255.255.240.0
/19
255.255.224.0
/18
255.255.192.0
/17
255.255.128.0
/16
255.255.0.0

查看网关

如果您未更改其他设置,则网关为子网网段的首个 IP。例如,子网网段为:192.168.0.0/24,则网关为:192.168.0.1。 如果您不清楚弹性网卡的所属子网网段,您可:
2. 单击左侧目录中的 IP 与网卡 > 弹性网卡,进入弹性网卡列表页。
3. 单击弹性网卡 ID,进入详情页,查看弹性网卡的所属子网,如下图中的所属子网网段的首个 IP 即为:10.200.16.17