操作场景 云服务器挂载辅助网卡后,除如下镜像外,其余镜像可能无法自动识别辅助网卡的主私网IP地址并添加相应的路由,会导致该辅助网卡无法正常使用,因此您需要为云服务器配置辅助网卡及路由。
操作系统类型 版本 CentOS CentOS 8.x、 CentOS Stream Fedora Fedora 37 64位 Windows Server 所有版本
前提条件 云服务器镜像未识别辅助网卡的主私网的主私IP地址。您可以登录云服务器,执行查看IP地址命令,查看是否识别了辅助网卡的主私网IP地址。
说明
查看IP地址的命令如下:
Linux系统在命令行执行ip address show
命令。 Windows系统在命令行执行ipconfig
命令。 配置辅助网卡 操作说明 配置辅助网卡后,操作系统自动生成辅助网卡路由,您可登录云服务器,查看自动生成的辅助网卡路由是否满足需求,若不满足,请参见修改网卡路由 。
说明
查看路由的命令如下:
Linux系统在命令行执行ip route
命令。 Windows系统在命令行执行route print
命令。 使用工具配置 火山引擎为您提供了辅助网卡自动配置工具,如下镜像的云服务器可使用辅助网卡自动配置工具,一键配置辅助网卡。
操作系统类型 版本 CentOS CentOS 7.1~7.9 64位 Ubuntu
Ubuntu Server 22.04 LTS 64位 Ubuntu Server 20.04 LTS 64位 Ubuntu Server 18.04 LTS 64位 Ubuntu Server 16.04 LTS 64位
使用限制 使用辅助网卡自动配置工具配置辅助网卡后,仅支持通过镜像发行版本默认的网络管理工具操作辅助网卡。
操作系统类型 版本 默认网络管理工具 CentOS
Ubuntu
Ubuntu Server 16.04 LTS 64位 Ubuntu Server 22.04 LTS 64位 Ubuntu Server 20.04 LTS 64位 Ubuntu Server 18.04 LTS 64位 ifdown ethx ifconfig ethx up ifconfig ethx down
说明
若您根据手动配置 了辅助网卡配置文件,则需要删除添加的配置后,才能使用辅助网卡自动配置工具。
对于CentOS 7.1~7.9的实例,您可以通过工具自动配置辅助网卡。
对网络服务类型为network-scripts的CentOS 7系统,您可以执行如下命令下载并安装辅助网卡自动配置工具。
wget http://mirrors.ivolces.com/extra-tools/centos/7/rpms/multi-nic-hotlog-for-centos7-v1.0.1-1.ve1.x86_64.rpm
yum install ./multi-nic-hotlog-for-centos7-v1.0.1-1.ve1.x86_64.rpm
安装工具后,请执行reboot
命令重启实例。重启后工具将自动完成辅助网卡配置。
执行ip address show
命令,查看辅助网卡是否正常识别主私网IP地址。
如下图,正常识别辅助网卡eth1的主私网IP地址。
请您登录云服务器,查看自动生成的辅助网卡路由是否满足需求,若不满足,请参见 修改网卡路由 。
手动配置 自动工具无法配置的镜像,需要您手动配置。
Debian 9、Debian 10、Debian 11、veLinux 1.0系统配置远程连接云服务器并登录,具体操作请参考登录Linux实例 。
执行如下命令,打开网卡eth1的配置文件。vi /etc/network/interfaces
键盘输入i
进入编辑状态,在网卡eth1配置文件中添加配置信息。
配置完成后在键盘按Esc
,输入:wq
后按回车
键,保存编辑并退出。
eth1
为新配置的网卡接口。
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet dhcp
执行如下命令,查看网卡的配置文件,并确认修改。cat /etc/network/interfaces
执行如下命令,重启网络服务。systemctl restart networking
您可执行命令ip address show
查看网卡eth1的主私网IP地址是否已被识别。
如下图,正常识别辅助网卡eth1的主私网IP地址。
远程连接云服务器并登录,具体操作请参考登录Linux实例 。 执行如下命令,打开网卡eth1的配置文件。vi /etc/sysconfig/network/ifcfg-eth1
键盘输入i
进入编辑状态,在网卡eth1配置文件中添加配置信息。
配置完成后在键盘按Esc
,输入:wq
后按回车
键,保存编辑并退出。BOOTPROTO='dhcp4'
STARTMODE='auto'
USERCONTROL='no'
执行如下命令,查看网卡的配置文件,并确认修改。cat /etc/sysconfig/network/ifcfg-eth1
执行如下命令,重启网络服务。systemctl restart network
执行ip address show
命令,查看辅助网卡是否正常识别主私网IP地址。
如下图,正常识别辅助网卡eth1的主私网IP地址。 Ubuntu 24.04系统配置
远程连接云服务器并登录,具体操作请参考登录Linux实例 。 执行如下命令,创建并打开辅助网卡eth1的配置文件。vim /etc/netplan/eth1-netcfg.yaml
说明
以辅助网卡eth1为例,请将eth1
替换为实际辅助网卡名。
按i
键进入编辑状态,在网卡eth1配置文件中添加配置信息。network:
version: 2
ethernets:
eth1:
dhcp4: true
dhcp4-overrides:
route-metric: 200
说明
该配置文件为.yaml
格式,编辑时需遵循YAML语法。 .yaml
格式下请使用空格缩进,勿使用(Tab)缩进。为避免产生格式问题,建议直接复制默认配置文件/etc/netplan/99-netcfg.yaml
进行修改。 配置完成后,按Esc
键,输入:wq
后按回车键,保存编辑并退出。 执行netplan apply
命令,使配置生效。说明
若实例挂载了多张辅助网卡,请参考2 - 5步骤为每张辅助网卡更新netplan配置。
每张辅助网卡的metric
参数值不能相同,且不能为100
(该值为主网卡值)。
执行systemctl restart systemd-networkd.service
命令,重启网络。 执行ip address show
命令,查看辅助网卡是否正常识别主私网IP地址。
如下图,正常识别辅助网卡eth1的主私网IP地址。 修改网卡路由 当您登录云服务器实例,查看当前网卡的路由无法满足您的需求时,您可参考下文修改网卡的路由。
通过命令行修改路由 您可以通过命令行,快速修改云服务器实例路由信息。
说明
通过本方式修改的Linux实例路由信息将在重启后失效,您可以通过脚本修改路由 ,实现开机自动添加路由。
现有云服务器vm-1,主网卡eth0的主私网IP地址为192.168.1.11
,新绑定的辅助网卡eth1的主私网IP地址为192.168.2.2
。
远程连接云服务器并登录,具体操作请参考登录Linux实例 。
执行如下命令,查看当前路由是否符合需求。
route -n
回显示例:
符合要求,无需后续操作。 不符合需求,请参考步骤3,根据实际需求增、删路由转发策略。 您可执行如下命令,查看路由相关命令。
ip route help
本文为您介绍常用的命令,添加/删除静态路由,如下:
ip -4 route <策略> <目标网段> via <网关地址> dev <网络接口> metric <优先级>
参数名 说明 策略 命令操作。取值: 网关地址 指定网卡的网关地址。 网络接口 指定网卡。 优先级 当目标网段相同时,metric数值越小,表示该条路由的优先级越高。
例如辅助网卡eth1绑定了公网IP,需要默认使用辅助网卡的公网IP访问公网。
依次执行如下命令,为eth1、eth0 添加、删除路由转发策略。
ip -4 route add 0.0.0.0/0 via 192.168.2.1 dev eth1 metric 98
ip -4 route add 0.0.0.0/0 via 192.168.1.1 dev eth0 metric 99
ip -4 route del 0.0.0.0/0 via 192.168.1.1 dev eth0 metric 0
现有云服务器vm-2,主网卡的主私网IP地址为172.16.100.223
,新绑定的辅助网卡主私网IP地址为172.16.100.93
。
远程连接云服务器并登录,具体操作请参考登录Windows实例 。 打开Windows实例的cmd.exe命令提示符窗口。 执行如下命令,查看当前网卡路由信息。route print
私网路由如下,可以看到实例对172.16.100.0/24或其他目的网段的访问,存在主网卡和辅助网卡的等价路由。您可以根据业务场景对路由进行自定义,指定访问某段目的地址时的路由转发策略。 公网路由如下,可以看到网卡启用后默认会存在两条公网路由,当您根据业务场景为某网卡绑定公网IP后,需要手动指定访问公网时的路由转发策略,如果同时存在多个相同公网目的地址的路由策略,访问公网时可能会因为路由到其他网卡导致访问失败。 指定路由转发策略。
执行如下命令,查看当前路由是否符合需求;如果不符合需求,可以参考如下步骤增删路由转发策略。route print
增加路由转发策略:
单击“云服务器实例 > 设备管理”页签,查看网卡的Mac地址。 执行如下命令,通过Mac地址查看待配置网卡的接口号。route print
回显示例: 执行如下命令,添加路由。route add 0.0.0.0 mask 0.0.0.0 172.16.100.1 metric 100 IF 9 -p
add后用于指定目的地址,必填。 mask用于指定目的地址的掩码,必填。 掩码后用于指定网卡的网关地址,必填。 metric用于指定路由跳数,表示到达目的地址需要经过的跃点数量,选填。metric数值越大,表示该条路由的优先级越低。 IF用于指定网卡,选填。如果不配置IF,则默认匹配最佳网卡。 -p用于设置永久路由,选填。若已配置,则重启云服务器后,修改依然有效;若未配置,则重启云服务器后,修改自动失效。 执行如下命令,删除路由转发策略。route delete 0.0.0.0 mask 0.0.0.0 172.16.100.1
通过脚本修改路由 您可以为Linux云服务器实例添加配置路由脚本,实现开机自动配置路由信息。
CentOS 7.1
执行如下命令,新建/etc/sysconfig/network-scripts/route-<网络接口>
文件。vim /etc/sysconfig/network-scripts/route-eth1
按i
键进入编辑模式,新增如下内容,配置路由。0.0.0.0/0 via 192.168.2.1 dev eth1 metric 98
按esc
键退出编辑,输入:wq
按回车键,保存并退出文件。 同理为eth0配置路由。 执行如下命令,重启云服务器。reboot
执行如下命令,查看路由。route -n
以CentOS Stream 9/RHEL 9/CentOS Stream 8/CentOS 8/RHEL 8/Rocky Linux/AlmaLinux为例,操作步骤如下:
创建路由配脚本件。
执行如下命令,新建route_config.sh脚本文件。vim /root/route_config.sh
按i
键进入编辑模式,复制如下内容粘贴入文件。#!/bin/bash
function add_ip_route() {
local retries=0
until /usr/sbin/ip -4 route add default via 192.168.***.**1 dev eth1 table 100; do
((retries++))
if [ $retries -gt 10 ]; then
echo "Add IP route failed."
return 1
fi
sleep 3
done
return 0
}
function add_ip_rule() {
local retries=0
until /usr/sbin/ip -4 rule add from 192.168.***.4 lookup 100; do
((retries++))
if [ $retries -gt 10 ]; then
echo "Add IP rule failed."
return 1
fi
sleep 3
done
return 0
}
add_ip_route
if [ $? -ne 0 ]; then
exit 1
fi
add_ip_rule
if [ $? -ne 0 ]; then
exit 1
fi
说明
本脚本用于为辅助网卡创建一张路由表和一条关联至该路由表的路由策略。其中:
辅助网卡名:eth1
。 网关地址:192.168.***.**1
。 辅助网卡主IPV4地址:192.168.***.4
。 按esc
键退出编辑,输入:wq
按回车键,保存并退出文件。 执行如下命令,为脚本文件添加可执行权限。chmod +x route_config.sh
执行如下命令,配置默认路由。sh /root/route_config.sh
配置开机自动更新路由。
执行如下命令,打开/etc/rc.local文件。vim /etc/rc.local
按i
键进入编辑模式,添加如下内容。sh /root/route_config.sh
按esc
键退出编辑,输入:wq
按回车键,保存并退出文件。 执行如下命令,为脚本文件添加可执行权限。chmod +x /etc/rc.local
执行如下命令,重启云服务器。reboot
执行如下命令,查看配置的路由与IP规则。ip route list table 100 && ip rule list
说明
请将table 100
替换为您在脚本中配置的实际路由表名称。
以Ubuntu 16.04LTS为例,操作步骤如下:执行如下命令,打开 /etc/network/interfaces.d/50-cloud-init.cfg
文件,为eth0添加路由。vi /etc/network/interfaces.d/50-cloud-init.cfg
按i
进入编辑模式,并添加如下内容:up ip -4 route add 0.0.0.0/0 via 192.168.1.1 dev eth0 metric 99
按esc
键退出编辑,输入:wq
按回车键,保存并退出文件。 执行如下命令,打开 /etc/network/interfaces.d/eth1-multic-hotlog
文件,为eth1添加路由。vi /etc/network/interfaces.d/eth1-multic-hotlog
按i
进入编辑模式,并添加如下内容:up ip -4 route add 0.0.0.0/0 via 192.168.2.1 dev eth1 metric 98
按esc
键退出编辑,输入:wq
按回车键,保存并退出文件。 执行如下命令,重启云服务器,使配置生效。reboot
执行如下命令,查看路由。route -n
以Ubuntu 18.04LTS为例,操作步骤如下:执行如下命令,打开 /etc/netplan/50-cloud-init.yaml
文件,为eth0添加路由。vim /etc/netplan/50-cloud-init.yaml
按i
进入编辑模式,并添加如下图内容: 按esc
键退出编辑,输入:wq
按回车键,保存并退出文件。 执行如下命令,打开 /etc/netplan/eth1-multic-hotlog.yaml
文件,为eth1添加路由。vi /etc/netplan/eth1-multic-hotlog.yaml
按i
进入编辑模式,并添加如下图内容, 按esc
键退出编辑,输入:wq
按回车键,保存并退出文件。 执行如下命令,重启网络服务,使配置生效。netplan apply
执行如下命令,查看路由。route -n
以veLinux 1.0、Debian 9为例,操作步骤如下:
执行如下命令,打开网卡配置文件,为eth0、eth1添加路由。vi /etc/network/interfaces
按i
进入编辑模式,并添加如下图内容,up ip -4 route add 0.0.0.0/0 via 192.168.1.1 dev eth0 metric 99
up ip -4 route add 0.0.0.0/0 via 192.168.2.1 dev eth1 metric 98
按esc
键退出编辑,输入:wq
按回车键,保存并退出文件。 执行如下命令,重启网络,使配置生效。systemctl restart networking
执行如下命令,查看路由。ip route