在CentOS 7系统中修改IP地址,需通过nmcli(NetworkManager命令行工具)或直接编辑网络配置文件实现,以下是两种方法的详细步骤及注意事项,帮助用户快速完成网络设置调整。

使用nmcli命令行工具修改IP
nmcli是CentOS 7推荐的网络管理工具,操作直观且支持实时生效。
查看现有网络连接
首先确认当前网络接口名称(如ens33),执行以下命令:
nmcli connection show
输出示例:
| 连接名称 | UUID | 类型 | 设备 |
|----------------|---------------------------------------|--------|----------|
| ens33 | a1b2c3d4-e5f6-7890-1234-567890abcdef | ethernet | ens33 |
修改静态IP地址
假设要将ens33的IP改为168.1.100,子网掩码255.255.0,网关168.1.1,DNS为8.8.8,执行:

nmcli connection modify ens33 \ ipv4.addresses "192.168.1.100/24" \ ipv4.gateway "192.168.1.1" \ ipv4.dns "8.8.8.8" \ ipv4.method manual
ipv4.addresses:指定IP及子网掩码(/24表示255.255.255.0);ipv4.gateway:设置默认网关;ipv4.dns:配置DNS服务器;ipv4.method manual:将IP获取方式设为手动(静态)。
重启网络服务使配置生效
nmcli connection down ens33 && nmcli connection up ens33
直接编辑网络配置文件
若偏好手动修改配置文件,可通过编辑/etc/sysconfig/network-scripts/ifcfg-ens33实现。
备份原配置文件
cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak
修改配置文件参数
使用vi或nano打开文件,按需修改以下字段:
TYPE=Ethernet BOOTPROTO=static # 改为static表示静态IP DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=ens33 UUID=a1b2c3d4-e5f6-7890-1234-567890abcdef DEVICE=ens33 ONBOOT=yes IPADDR=192.168.1.100 # 新IP地址 NETMASK=255.255.255.0 # 子网掩码 GATEWAY=192.168.1.1 # 网关 DNS1=8.8.8.8 # DNS服务器
重启网络服务
systemctl restart network
验证IP修改结果
无论采用哪种方法,修改后需验证IP是否正确:
ip addr show ens33 ping 192.168.1.1 # 测试与网关的连通性 ping baidu.com # 测试DNS解析是否正常
常见问题与解决方案
问题1:修改后无法联网,提示“Device is not available”
原因:网络接口名称错误(如误用eth0而非实际名称ens33)。
解决:重新运行nmcli connection show确认接口名,确保所有配置均对应正确设备。

问题2:静态IP设置后仍获取DHCP地址
原因:BOOTPROTO=dhcp未改为static,或nmcli命令中ipv4.method未设为manual。
解决:检查配置文件中的BOOTPROTO值,或通过nmcli connection modify <interface> ipv4.method manual修正。
通过以上步骤,可高效完成CentOS 7系统的IP地址修改,建议优先使用nmcli命令,其操作更简洁且不易出错;若需批量配置多台服务器,可直接编辑配置文件实现自动化部署。