在Linux云服务器使用过程中,随着业务规模扩大,单IP可能无法满足负载均衡、多站点部署等需求,此时就需要为服务器添加额外的IP地址。添加IP地址的操作分为系统层面配置和云平台层面配置两部分,缺少任意一步都可能导致新IP无法正常使用。

一、云平台侧前置配置
在系统层面操作之前,需要先登录云服务器提供商的管理控制台,完成以下操作:
- 确认云服务器所在地域是否支持额外IP购买,购买需要新增的IP地址
- 将购买的IP地址绑定到目标云服务器实例上
- 记录新IP的地址、子网掩码、网关等网络参数,后续系统配置需要用到
二、临时添加IP地址(重启后失效)
临时添加IP地址适合临时测试场景,操作后立即生效,但服务器重启后配置会丢失,不同发行版的操作命令略有不同。
1. CentOS/RHEL系统
使用ip命令添加临时IP,假设新IP为192.168.1.100,子网掩码为24位,网卡名称为eth0:
# 查看当前网卡信息 ip addr show eth0 # 临时添加IP地址 ip addr add 192.168.1.100/24 dev eth0 # 再次查看确认添加成功 ip addr show eth0
2. Ubuntu/Debian系统
同样使用ip命令操作,命令格式与CentOS一致:
# 临时添加IP到网卡ens33 ip addr add 192.168.1.100/24 dev ens33 # 验证添加结果 ip addr show ens33
三、永久添加IP地址(重启后保留)
生产环境需要配置永久生效的IP地址,不同发行版的配置文件路径和格式存在差异。
1. CentOS 7及以上系统
网卡配置文件存放在/etc/sysconfig/network-scripts/目录下,文件名格式为ifcfg-网卡名。
首先复制原有网卡配置文件作为新IP的配置模板:
# 假设原网卡为eth0,复制配置文件 cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:1
编辑新生成的配置文件ifcfg-eth0:1,修改以下内容:
# 设备名称改为虚拟网卡名 DEVICE=eth0:1 # 关闭DHCP BOOTPROTO=static # 设置新IP地址 IPADDR=192.168.1.100 # 子网掩码 NETMASK=255.255.255.0 # 不需要重复配置网关,避免冲突 # 开机自动启动 ONBOOT=yes
重启网络服务使配置生效:
systemctl restart network
2. Ubuntu 18.04及以上系统
Ubuntu新版本使用netplan管理网络配置,配置文件存放在/etc/netplan/目录下,后缀为.yaml。
编辑netplan配置文件,假设原配置文件为01-netcfg.yaml:
network:
version: 2
renderer: networkd
ethernets:
ens33: # 网卡名称
addresses:
- 192.168.1.10/24 # 原有IP
- 192.168.1.100/24 # 新增IP
gateway4: 192.168.1.1 # 网关
nameservers:
addresses: [8.8.8.8, 114.114.114.114] # DNS服务器
应用配置使修改生效:
netplan apply
四、配置验证与故障排查
添加完成后需要验证新IP是否正常工作:
- 使用
ip addr show 网卡名命令查看IP是否已经成功绑定到网卡 - 在本地终端使用
ping 新IP地址命令测试网络连通性 - 如果无法ping通,检查云平台IP是否绑定成功、系统防火墙是否放行ICMP协议、子网掩码和网关配置是否正确
注意:如果云服务器开启了防火墙,需要添加规则允许新IP的相关流量,避免防火墙拦截导致IP无法使用。
五、常见问题说明
1. 添加IP后无法访问:先检查云平台侧IP绑定状态,再检查系统配置的网络参数是否和云平台提供的一致,最后排查防火墙规则。
2. 重启后IP丢失:说明配置的是临时IP,需要按照永久配置的步骤修改对应配置文件。
3. 多个IP是否需要配置多个网关:同一网卡下的多个IP只需要配置一个网关即可,重复配置网关会导致网络冲突。