在CentOS系统中为服务器添加新的IP地址是一项常见的网络管理任务,无论是为了承载多个网站、配置虚拟专用网络(VPN),还是实现服务隔离,这项技能都至关重要,CentOS的不同版本采用了截然不同的网络配置方法,因此在进行操作前,首先需要确认您使用的系统版本,本文将详细介绍在CentOS 7及更早版本(使用传统网络脚本)和CentOS 8及更新版本(使用NetworkManager)中添加IP地址的完整流程。

在CentOS 7及更早版本中添加IP地址
在这些版本中,网络配置主要通过位于 /etc/sysconfig/network-scripts/ 目录下的脚本文件进行管理,每个网络接口都有一个对应的配置文件,ifcfg-ens33 或 ifcfg-eth0。
步骤1:定位并编辑网络配置文件
使用 ip addr 或 ifconfig 命令确定您的主网络接口名称,进入配置目录并编辑相应的文件。
cd /etc/sysconfig/network-scripts/ vi ifcfg-ens33
步骤2:添加新的IP地址
有两种常用方式可以添加额外的IP地址。
方式A:在现有文件中添加(推荐)
这是最简洁的方法,在打开的配置文件中,您会看到类似 IPADDR=192.168.1.10 的行,要添加第二个IP,只需新增一行,使用 IPADDR1, IPADDR2 等递增的key。
# 原有主IP配置
DEVICE=ens33
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.10
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
# 新增的第二个IP地址
IPADDR1=192.168.1.20
NETMASK1=255.255.255.0
方式B:创建子接口(别名)配置文件
这是一种更传统的方法,适用于逻辑上完全分离的场景,创建一个新文件,文件名为主接口名加别名,如 ifcfg-ens33:0。
vi ifcfg-ens33:0
注意 DEVICE 字段必须与新文件名匹配:

DEVICE=ens33:0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.30
NETMASK=255.255.255.0
步骤3:重启网络服务并验证
保存配置文件后,重启网络服务以使更改生效。
systemctl restart network
使用 ip addr show ens33 命令验证新的IP地址是否已成功绑定到接口上。
在CentOS 8及更新版本中添加IP地址
从CentOS 8开始,系统默认使用 NetworkManager 并推荐使用 nmcli(命令行工具)或 nmtui(文本用户界面)进行网络管理,这种方式更加动态且不易出错。
步骤1:识别连接名称
nmcli 操作的是“连接”(Connection)而非直接的“设备”(Device),首先查看当前活动的连接。
nmcli connection show
您会看到一个类似 Wired connection 1 或 ens33 的名称,记下它。
步骤2:使用nmcli添加IP地址
假设连接名称为 ens33,要添加的IP是 168.1.40,子网掩码为 24(等同于 255.255.0),可以使用以下命令,关键在于 号,它表示“添加”而不是“替换”。
nmcli connection modify ens33 +ipv4.addresses 192.168.1.40/24
如果需要同时添加网关或DNS(通常主IP已配置),可以使用以下命令:
nmcli connection modify ens33 ipv4.gateway 192.168.1.1 nmcli connection modify ens33 ipv4.dns "8.8.8.8 1.1.1.1"
步骤3:重新激活连接
修改后,需要重新激活连接才能应用更改。

nmcli connection down ens33 && nmcli connection up ens33
这条命令会先断开连接再重新连接,确保所有配置都已刷新。
步骤4:验证
同样,使用 ip addr show 或 nmcli device show ens33 来确认新IP已成功添加。
两种方法的对比
为了让您更清晰地理解差异,下表小编总结了两种主流方式的特点。
| 特性 | CentOS 7 (ifcfg脚本) | CentOS 8+ (nmcli) |
|---|---|---|
| 配置核心 | 静态文本文件 | NetworkManager 服务 |
| 主要工具 | vi / nano 编辑器 |
nmcli / nmtui |
| 配置位置 | /etc/sysconfig/network-scripts/ |
由NetworkManager管理,可nmcli查看 |
| 动态性 | 低,需重启网络服务 | 高,可动态修改并立即生效 |
| 易错性 | 较高,易出现语法错误 | 较低,命令有自动补全和校验 |
| 推荐方式 | 维护旧系统时使用 | 现代CentOS/RHEL系统的首选 |
相关问答FAQs
问题1:我按照步骤添加了IP地址,但是无法ping通这个新地址,是什么原因?
解答: 这是一个常见问题,可以从以下几个方面排查:
- 子网掩码错误:请确保新IP的子网掩码或前缀(如
/24)与网络中其他设备一致,否则将导致路由问题。 - 防火墙拦截:CentOS默认使用
firewalld,新IP可能没有被加入受信任的区域,或iptables规则限制了ICMP协议,可以尝试临时关闭防火墙(systemctl stop firewalld)测试,或者使用firewall-cmd为新IP添加规则。 - 网络设备或交换机限制:在某些网络环境中,端口安全策略可能限制了单个MAC地址绑定的IP数量,请联系网络管理员确认。
- 配置未生效:再次确认网络服务已重启,或者连接已重新激活,使用
ip addr命令查看IP是否真的存在于接口上。
问题2:我只想临时添加一个IP地址用于测试,不希望重启后依然存在,应该如何操作?
解答: 可以直接使用ip命令进行临时配置,这种修改仅对当前运行时有效,系统重启后会丢失。
- 添加临时IP:
ip addr add 192.168.1.100/24 dev ens33
- 删除临时IP:
ip addr del 192.168.1.100/24 dev ens33
这种方式非常适合快速测试网络连通性或服务部署,而无需修改任何系统配置文件。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!