CentOS系统怎么修改内网IP地址并永久生效?

在服务器管理和网络维护中,修改CentOS操作系统的内网IP地址是一项常见且基础的操作,无论是为了适应新的网络环境、解决IP冲突,还是为了规划网络架构,掌握正确的方法都至关重要,CentOS的不同版本在网络配置方式上存在差异,主要分为以CentOS 7为代表的传统配置文件法和以CentOS 8/9为代表的NetworkManager命令行工具法,本文将详细介绍这两种主流方法,并提供必要的注意事项,确保您能够安全、准确地完成IP地址的修改。

CentOS系统怎么修改内网IP地址并永久生效?

准备工作

在开始修改IP地址之前,请确保您已经准备好以下信息:

  • 新的IP地址168.1.100
  • 子网掩码255.255.0 或CIDR表示法 24
  • 默认网关168.1.1
  • DNS服务器:可以是公网DNS如114.114.1148.8.8,也可以是内网DNS。
  • 管理员权限:您需要拥有root用户权限或sudo权限来执行配置修改和网络服务重启操作。

强烈建议通过服务器的物理控制台(如KVM、iDRAC、iLO)进行操作,以防因配置错误导致SSH连接中断。


适用于 CentOS 7 及更早版本 (编辑网络配置文件)

在CentOS 7及其更早的版本中,网络配置主要通过编辑位于/etc/sysconfig/network-scripts/目录下的脚本文件来完成。

第一步:定位并编辑配置文件

进入网络配置目录,查看当前网络接口的配置文件名,文件名通常格式为ifcfg-<接口名>,例如ifcfg-eth0ifcfg-ens33

cd /etc/sysconfig/network-scripts/
ls

使用vinano等文本编辑器打开对应的配置文件,编辑ifcfg-ens33

vi ifcfg-ens33

第二步:修改配置参数
修改为静态IP配置,一个典型的静态配置文件如下所示:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static  # 将 dhcp 改为 static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=... # 保持原有UUID不变
DEVICE=ens33
ONBOOT=yes # 确保为 yes,开机启动此网卡
# 以下是新增或修改的静态IP配置
IPADDR=192.168.1.100      # 设置静态IP地址
NETMASK=255.255.255.0     # 设置子网掩码
GATEWAY=192.168.1.1       # 设置默认网关
DNS1=114.114.114.114      # 设置首选DNS服务器
DNS2=8.8.8.8              # 设置备用DNS服务器(可选)

下表对关键参数进行了解释:

参数 说明 示例值
BOOTPROTO 网卡启动协议,static为静态,dhcp为动态 static
ONBOOT 是否在系统启动时激活此网卡,必须设为yes yes
IPADDR 静态IP地址 168.1.100
NETMASK 子网掩码 255.255.0
GATEWAY 默认网关地址 168.1.1
DNS1/DNS2 DNS服务器地址 114.114.114

第三步:重启网络服务并验证

CentOS系统怎么修改内网IP地址并永久生效?

保存并退出编辑器后,执行以下命令重启网络服务以使配置生效:

systemctl restart network

服务重启成功后,使用ip addr命令查看新的IP地址是否已正确配置:

ip addr show ens33

适用于 CentOS 8/9 及 Stream 版本 (使用 nmcli 命令)

从CentOS 8开始,官方推荐使用NetworkManager的命令行工具nmcli来管理网络配置,这比直接编辑文件更为高效和不易出错。

第一步:查看当前网络连接

使用nmcli命令列出所有网络连接:

nmcli connection show

输出结果中,NAME列显示了连接的名称,例如Wired connection 1ens33,请记下您要修改的连接名称。

第二步:修改连接配置

假设连接名称为ens33,使用以下一系列命令来修改其IP配置:

# 1. 设置IP地址和子网掩码(使用CIDR表示法,24代表255.255.255.0)
nmcli connection modify ens33 ipv4.addresses 192.168.1.100/24
# 2. 设置默认网关
nmcli connection modify ens33 ipv4.gateway 192.168.1.1
# 3. 设置DNS服务器
nmcli connection modify ens33 ipv4.dns "114.114.114.114,8.8.8.8"
# 4. 将IP地址获取方式改为手动(manual)
nmcli connection modify ens33 ipv4.method manual
# 5. 重新应用配置,激活连接
nmcli connection up ens33

第三步:验证配置

CentOS系统怎么修改内网IP地址并永久生效?

同样,使用ip addr命令验证IP地址是否已更新:

ip addr show ens33

您也可以使用nmcli命令查看连接的详细信息:

nmcli connection show ens33 | grep ipv4

重要注意事项与故障排除

  1. 备份配置文件:在进行任何修改之前,务必备份原始的网络配置文件,对于方法一,可以执行cp ifcfg-ens33 ifcfg-ens33.bak
  2. SSH连接风险:如果通过SSH远程操作,修改IP后当前的SSH连接会断开,请确保新IP地址可达,或者通过控制台操作。
  3. 防火墙设置:修改IP后,请检查防火墙(如firewalld)规则,确保新IP地址的相应端口(如SSH的22端口)已被允许通过。
  4. 配置不生效:如果配置重启后不生效,请检查配置文件语法是否正确(特别是方法一),ONBOOT是否为yes,以及是否重启了正确的网络服务或连接。

相关问答 (FAQs)

如何将IP地址设置为通过DHCP动态获取?

解答:

  • 对于CentOS 7:编辑ifcfg-<接口名>文件,将BOOTPROTO=static修改为BOOTPROTO=dhcp,并删除或注释掉IPADDRNETMASKGATEWAY等静态配置行,然后执行systemctl restart network
  • 对于CentOS 8/9:使用nmcli命令,将IPv4方法改为dhcp,命令如下:
    nmcli connection modify <连接名称> ipv4.method dhcp
    nmcli connection up <连接名称>

    系统会自动从DHCP服务器获取IP地址、网关和DNS等信息。

修改配置并重启网络后,IP地址没有生效怎么办?

解答:
这是一个常见问题,可以从以下几个方面排查:

  1. :确保在CentOS 7的配置文件中ONBOOT=yes,否则网卡不会在启动时自动激活。
  2. 配置文件语法错误:在CentOS 7中,检查ifcfg文件中是否有拼写错误、多余的空格或引号不匹配等问题,可以使用systemctl status network查看网络服务启动时是否有报错信息。
  3. 服务或连接未正确重启:确保执行了正确的重启命令,CentOS 7是systemctl restart network,而CentOS 8/9是nmcli connection up <连接名称>
  4. NetworkManager工具冲突:在CentOS 7中,如果同时启用了network服务和NetworkManager服务,可能会导致冲突,通常建议禁用其中一个,保持网络管理方式的一致性。
  5. SELinux限制:在极少数情况下,SELinux可能会阻止网络配置文件的读取或应用,可以临时将其设置为permissive模式(setenforce 0)进行测试,如果解决问题,则需要调整SELinux策略而非长期禁用它。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-04 11:10
下一篇 2025-10-04 11:13

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信