弹性网卡(包括主网卡和辅助弹性网卡)支持分配一个或多个辅助私网IP地址,以满足您在多应用、故障转移和负载均衡等业务场景下的多IP的需求。本文介绍如何分配并配置辅助私网IP地址,以及回收辅助私网IP地址。
辅助私网IP概述
当ECS实例弹性网卡(包括主网卡与辅助弹性网卡)的单一主私网IP无法满足您对多IP的需求时,您可以为ECS实例的网卡分配多个辅助私网IP,从而使单个ECS实例拥有多个私网IP。您可以参考下图来理解ECS实例网卡与私网IP的关系。
适用场景
辅助私网IP地址适用于以下场景:
多应用场景:在ECS实例上部署了多个应用时,您可以为每个应用分配各自的辅助私网IP地址,每个应用对外均呈现一个独立的IP地址,实现在同一台ECS实例上提供多项服务,提升实例的利用率。
故障转移场景:当实例发生故障时,您可以将辅助弹性网卡从故障实例解绑并绑定至备用实例,通过其辅助私网IP访问的请求流量也随之切换到备用实例,实现故障转移。
负载均衡场景:通过为实例分配多个辅助私网IP地址,可以实现负载均衡机制,负载均衡器可以根据流量类型将请求分发到不同的私网IP地址,提高系统的可伸缩性和性能。
为弹性网卡添加辅助私网IP地址
步骤一:为弹性网卡分配辅助私网IP地址
您可以在控制台上目标弹性网卡(包括ECS实例的主网卡或辅助弹性网卡)的管理弹性网卡IP页面进行辅助私网IP的增加或删除。具体操作示例如下:
登录ECS管理控制台。
在左侧导航栏,选择。
在页面左侧顶部,选择目标资源所在的资源组和地域。
在弹性网卡页面,找到待操作的弹性网卡,然后在操作列中单击管理弹性网卡IP。
在管理弹性网卡IP对话框中,在辅助私网IPv4或者IPv6参数区域单击增加,并根据需要分配IP地址。
单击确定,完成辅助私网IP地址分配。
确认目标弹性网卡的辅助私网IP正确分配。
您可以通过查看ECS实例的弹性网卡详情页确认以上信息,示例如下:
步骤二(条件可选):绑定弹性网卡。
当您选择为辅助弹性网卡添加辅助私网IP时,需要确保辅助弹性网卡已经绑定至ECS实例并已经完成配置,具体操作,请参见绑定辅助弹性网卡与配置辅助弹性网卡。
本文示例为ECS实例主网卡分配辅助私网IP,所以无需进行此步骤操作。
步骤三:配置操作系统识别辅助私网IP地址
为实例分配辅助私网IP地址后,您还需要根据操作系统类型和IP地址类型来配置实例的辅助私网IP地址。配置的具体操作因操作系统和IP地址类型而异。
配置示例
操作前请确保对应的实例处于运行中(Running)状态。具体操作,请参见启动实例。
本文提供了如下主流操作系统的配置步骤,请根据您的操作系统进行配置:
Linux操作系统配置示例
远程连接ECS实例。
具体操作,请参见使用Workbench工具以SSH协议登录Linux实例。
查看当前网络配置信息和路由信息,确认配置需要的默认网关和子网掩码。
查看主私网IPv4地址
执行以下命令,查看网络配置信息:
ip a
通过返回信息,可以看到当前实例的网络配置信息:
通过以上信息可以看到目前网络配置信息如下:
查看子网掩码及网关
执行以下命令,查看路由信息:
route -n
通过返回信息,可以看到:
结合以上信息,可以看到当前网络配置信息如下所示:
网卡 | 状态 | 默认网关 | 子网掩码 | 主私网IP地址 | 辅助私网IPv4地址1 | 辅助私网IPv4地址2 |
eth0(主网卡) | UP | 192.168.1.253 | 255.255.255.0 | 192.168.1.201(已自动配置) | 192.168.1.202(未识别需配置) | 192.168.1.203(未识别需配置) |
根据您的实际情况,选择不同的方式配置辅助私网IPv4地址。
使用nmcli con
配置
说明 NetworkManager 是 Linux 系统中一个用于管理网络连接和网络设置的守护进程,它提供了命令行工具nmcli,使得用户可以轻松地管理网络连接。
适用于所有通过NetworkManager管理网络服务的操作系统,包括但不限于Fedora、CentOS、RHEL、Ubuntu/Debian以及基于这些发行版的系统。
示例连接:网卡eth0对应的连接名称,您需要根据实际情况修改连接名称。
执行以下命令,新建文件禁用cloud-init的网络配置功能,避免重启后配置失效,更多信息参见cloud-init自动初始化网络配置。
sudo vim /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
添加如下配置项:
network: {config: disabled}
执行以下命令,查看当前网络连接信息。
nmcli con show
不同Linux发行版网络连接的命名均不同,本文中示例如下:
执行以下命令,配置eth0的辅助私网IPv4地址、默认网关、 IPv4 配置方法(手动或DHCP等)等信息。
sudo nmcli con modify System\ eth0 ipv4.addresses 192.168.1.201/24,192.168.1.202/24,192.168.1.203/24
sudo nmcli con modify System\ eth0 ipv4.gateway 192.168.1.253
sudo nmcli con modify System\ eth0 ipv4.method manual
执行以下命令,激活修改后的网络连接。
sudo nmcli con up System\ eth0
如果配置正确,返回信息出现类似"Connection successfully activated"字样时表示配置成功。
传统方式编辑网络配置文件
重要 不同Linux操作系统发行版及版本不同,网络配置文件不同。
建议您在编辑网络配置文件之前,先对原文件进行备份。
由于涉及网络配置文件的更改,建议您仔细确认操作的正确性,错误的配置可能导致实例无法连接。
RHEL系列
说明 适用的操作系统:Alibaba Cloud Linux 2/3、CentOS 6/7/8、Red Hat 6/7/8/9、Anolis 7/8、Fedora 33/34/35。
示例操作系统:Alibaba Cloud Linux 3.2。
示例网卡:以网卡eth0为例演示操作,您需要根据实际情况修改网络接口标识。
执行以下命令,确认网卡的主配置文件是否存在。每个网络接口都会有一个对应的配置文件,用于标识具体的网络接口。
ls /etc/sysconfig/network-scripts/ifcfg-eth0
文件存在:已创建网卡的主配置文件,直接进行步骤b即可。
文件不存在:创建文件并手动配置网卡的基本信息。
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
配置网卡名称,设置获取IP为静态获取方式并且配置网卡的主私网IPv4地址、子网掩码及网关信息。
本示例中,如果eth0文件不存在,则直接配置如下:
# 网卡名称,例如:eth0
DEVICE=eth0
TYPE=Ethernet
BOOTPROTO=dhcp
#系统启动时激活该网络接口
ONBOOT=yes
执行以下命令,配置网卡eth0的第一个辅助私网IPv4地址。
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0:0
本示例中,配置eth0的第一个辅助私网IPv4地址:
#网卡名称:网卡辅助私网IP地址顺序号
DEVICE=eth0:0
TYPE=Ethernet
#静态IP
BOOTPROTO=static
#手动配置IPv4地址和子网掩码
IPADDR=192.168.1.202
NETMASK=255.255.255.0
配置网卡eth0的第二个辅助私网IPv4地址
说明 多个辅助私网IP地址操作类似,注意以下几点即可:
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0:1
本文中,配置eth0网卡的第二个辅助私网IPv4地址示例如下所示:
#网卡名称:网卡辅助私网IP地址顺序号
DEVICE=eth0:1
TYPE=Ethernet
BOOTPROTO=static
#手动配置IPv4地址和子网掩码
IPADDR=192.168.1.203
NETMASK=255.255.255.0
Ubuntu 18/20
执行以下命令,禁用cloud-init的网络配置功能。
重要 网络配置文件(/etc/netplan/50-cloud-init.yaml)由cloud-init
在实例启动时候自动生成,如果要编辑,需要先禁用cloud-init的网络配置功能。具体信息,请参见cloud-init自动初始化网络配置。
sudo vim /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
添加如下配置项:
network: {config: disabled}
执行如下命令,编辑网络配置文件,配置网络接口配置信息。
sudo vim /etc/netplan/50-cloud-init.yaml
本文示例配置如下:
network:
version: 2
ethernets:
eth0: #网络接口名称
dhcp4: false #默认为dhcp自动配置,false需要手动配置IP
match:
macaddress: 00:16:3e:16:43:xx #您实际的网卡的mac地址
set-name: eth0
addresses:
- 192.168.1.201/24 #网卡主私网IP地址
- 192.168.1.202/24 #网卡辅助私网IP地址1
- 192.168.1.203/24 #网卡辅助私网IP地址2
gateway4: 192.168.1.253 #默认网关
Ubuntu 22/24、Debian 12
执行以下命令,禁用cloud-init的网络配置功能。
重要 网络配置文件(/etc/netplan/50-cloud-init.yaml)由cloud-init
在实例启动时候自动生成,如果要编辑,需要先禁用cloud-init的网络配置功能。具体信息,请参见cloud-init自动初始化网络配置。
sudo vim /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
添加如下配置项:
network: {config: disabled}
执行如下命令,编辑网络配置文件,配置网络接口配置信息。
sudo vim /etc/netplan/50-cloud-init.yaml
本文示例配置如下:
network:
version: 2
ethernets:
eth0: #网络接口名称
dhcp4: false #默认为dhcp自动配置,false需要手动配置IP
match:
macaddress: 00:16:3e:16:43:xx #您实际的网卡的mac地址
set-name: eth0
addresses:
- 192.168.1.201/24 #网卡主私网IP地址
- 192.168.1.202/24 #网卡辅助私网IP地址1
- 192.168.1.203/24 #网卡辅助私网IP地址2
routes:
- to: default
via: 192.168.1.253 #默认网关
重启网络服务,使配置生效。
说明 如果您参考上述的nmcli con
方式完成配置,无需重启网络服务,NetworkManager会监控配置文件的变化并应用新的配置。
操作系统 | 重启服务命令 |
Alibaba Cloud Linux 2 CentOS 7 Red Hat 7 Anolis 7 SUSE Linux 11/12/15 OpenSUSE 15/42
| sudo service network restart
或sudo systemctl restart network |
| sudo service network restart
|
Alibaba Cloud Linux 3 CentOS 8 Red Hat 8 Anolis 8 Fedora 33/34/35
| sudo systemctl restart NetworkManager 或sudo reboot
|
| sudo netplan apply
|
Ubuntu 14/16 Debian 8/9/10/11
| sudo systemctl restart networking 或sudo reboot
|
再次执行步骤2的操作验证配置是否成功。
Windows操作系统配置示例
远程连接Windows实例。
具体操作,请参见使用Workbench工具以RDP协议登录Windows实例。
查看当前的网络配置和路由信息,确认配置需要的默认网关和子网掩码。
打开命令提示符或Windows PowerShell工具。
执行以下命令,查看当前网卡及IP信息。
ipconfig
通过返回信息,可以看到目前网卡及IP识别信息:
可以看到目前网络配置和路由信息如下:
网卡 | 网络掩码 | 默认网关 | 主私网IP地址 | 待配置私网IPv4地址1 | 待配置私网IPv4地址2 |
以太网(主网卡) | 255.255.255.0 | 192.168.1.253 | 192.168.1.201(已自动配置) | 192.168.1.202(未识别需配置) | 192.168.1.203(未识别需配置) |
打开网络和共享中心。
单击更改适配器设置。
双击当前主网卡网络名称以太网,然后在以太网状态对话框中单击属性。
在以太网属性对话框中,双击Internet 协议版本4(TCP/IPv4)。
在Internet 协议版本4(TCP/IPv4)属性对话框中,选择使用下面的IP地址,然后单击高级。
重要 此处改变了自动获取IP的策略,完全为手动配置,因此下面的配置也需要配置网卡的主私网IP地址。否则会导致实例无法通过主私网IP远程连接。
在高级TCP/IP设置对话框中,设置IP地址。
在IP地址区域,单击添加,然后输入已分配的以太网的主私网IP地址和辅助私网IP地址和查询获取的子网掩码。
本示例中,输入以太网申请的两个辅助私网IP
在默认网关区域,单击添加,然后输入查询获取的默认网关。
单击确定保存各对话框中的设置,完成辅助私网IPv4的配置。再次执行步骤2的操作验证配置是否成功。
其他操作系统配置示例
Ubuntu 14/16、Debian 8/9/10/11
执行如下命令,编辑网络配置文件,配置网络接口信息。
sudo vi /etc/network/interfaces
配置项示例如下所示:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto eth0:0
iface eth0:0 inet static
address 192.168.1.202
netmask 255.255.255.0
auto eth0:1
iface eth0:1 inet static
address 192.168.1.203
netmask 255.255.255.0
重启网络服务,使配置生效。
SLES系列
说明 适用的操作系统:SUSE Linux 11/12/15、OpenSUSE 15。
示例操作系统:SUSE Linux 15 SP5。
示例网卡:以网卡eth0为例演示操作,您需要根据实际情况修改网络接口标识。
执行以下命令,打开eth0网卡的配置文件并配置eth0的辅助私网IPv4地址、子网掩码等。
sudo vi /etc/sysconfig/network/ifcfg-eth0
配置文件示例如下:
#禁用dhcp,改为静态获取
BOOTPROTO=static
STARTMODE=auto
USERCONTROL=no
#多个IP后面加序号后缀
IPADDR_1=192.168.1.201
NETMASK_1=255.255.255.0
LABEL_1=
IPADDR_2=192.168.1.202
NETMASK_2=255.255.255.0
LABEL_2=0
IPADDR_3=192.168.1.203
NETMASK_3=255.255.255.0
LABEL_3=1
说明 您可以通过执行sudo cat /etc/sysconfig/network/ifcfg.template
查看模板配置文件中的解释。
执行以下命令,查看全局网络设置文件有无默认网关信息:
cat /etc/sysconfig/network/routes
如果没有,在文件中添加默认网关信息,示例如下:
default 192.168.1.253 - -
重启网络服务,使配置生效。
回收辅助私网IP地址
如果您的弹性网卡不再需要辅助私网IP地址,您可以回收弹性网卡上已分配的一个或多个辅助私网IP地址。您可以参照以下步骤回收辅助私网IP地址。
前提条件
回收辅助私网IP地址之前,请确认以下信息:
操作步骤
登录ECS管理控制台。
在左侧导航栏,选择。
在页面左侧顶部,选择目标资源所在的资源组和地域。
在弹性网卡列表页面,找到目标弹性网卡,在操作列,单击管理弹性网卡IP。
在管理弹性网卡IP对话框的辅助私网IPv4区域,找到要回收的一个或多个辅助私网IP地址,单击IP地址所在行右侧的图标。
单击确定。
刷新列表,如果目标弹性网卡的IP地址列不再出现该IP地址,说明您已成功回收辅助私网IP地址。
扩展阅读
cloud-init自动初始化网络配置
cloud-init是一款开源初始化工具,能够为Linux操作系统提供初始化密码、设置主机名、执行自定义脚本等初始化配置能力。阿里云所有公共镜像已默认安装cloud-init,在ECS实例启动时,cloud-init会自动生成系统的网络配置信息。
配置IP地址的方式
操作系统中配置IP地址的方式,包括默认的DHCP和static(静态配置)。在配置辅助私网IP时候,您需要根据实际情况选择配置方式。