在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
这种方式非常适合快速测试网络连通性或服务部署,而无需修改任何系统配置文件。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复