在 CentOS 6.3 系统中,配置和管理网络是系统管理员的核心技能之一,修改服务器的 IP 地址是一项非常基础且频繁的操作,与较新版本使用 NetworkManager 工具不同,CentOS 6.3 主要通过编辑网络脚本文件来配置网络,这种方法稳定、直接且深受资深管理员喜爱,本文将详细介绍如何在 CentOS 6.3 中通过编辑配置文件来永久性地设置静态 IP 地址,并确保配置在系统重启后依然生效。

准备工作
在开始之前,请确保您拥有 root 权限,因为修改网络配置需要管理员权限,您需要明确以下信息:
- 新的 IP 地址:
168.1.100 - 子网掩码:
255.255.0 - 默认网关:
168.1.1 - DNS 服务器地址:
114.114.114和8.8.8 
定位并编辑网络配置文件
CentOS 的网络配置文件存放在 /etc/sysconfig/network-scripts/ 目录下,每个网络接口(网卡)都有一个对应的配置文件,文件名通常以 ifcfg- 开头,后接接口名称,如 ifcfg-eth0(第一块以太网卡)或 ifcfg-ens33。
使用 ifconfig 命令查看当前活动的网卡名称,然后使用 vi 或 nano 编辑器打开相应的配置文件,假设我们的网卡是 eth0,命令如下:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
打开文件后,您会看到类似下面的内容(默认可能使用 DHCP 自动获取 IP):
DEVICE=eth0
HWADDR=00:0C:29:A1:B2:C3
TYPE=Ethernet
UUID=12345678-abcd-efgh-ijkl-mnopqrstuvwx
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
修改配置参数
为了设置静态 IP,我们需要修改或添加几个关键参数,将 BOOTPROTO 的值从 dhcp 改为 static,并添加 IPADDR、NETMASK、GATEWAY 和 DNS1 等参数,修改后的完整配置文件示例如下:

DEVICE=eth0
HWADDR=00:0C:29:A1:B2:C3
TYPE=Ethernet
UUID=12345678-abcd-efgh-ijkl-mnopqrstuvwx
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
# 静态 IP 配置
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=114.114.114.114
DNS2=8.8.8.8
下表详细解释了这些关键参数的作用:
| 参数名 | 值示例 | 说明 | 
|---|---|---|
BOOTPROTO | 
static / dhcp | 
网络配置协议。static 表示使用静态 IP,dhcp 表示动态获取。 | 
ONBOOT | 
yes / no | 
是否在系统启动时激活此网卡。yes 为激活,强烈建议设置为 yes。 | 
NM_CONTROLLED | 
no / yes | 
是否由 NetworkManager 管理,在 CentOS 6 中,为了稳定性,通常手动配置时设为 no。 | 
IPADDR | 
168.1.100 | 
静态 IP 地址。 | 
NETMASK | 
255.255.0 | 
子网掩码。 | 
GATEWAY | 
168.1.1 | 
默认网关地址。 | 
DNS1 / DNS2 | 
114.114.114 | 
首选和备用 DNS 服务器地址。 | 
重启网络服务
保存并退出编辑器后,新的配置不会立即生效,我们需要重启网络服务来应用这些更改。
service network restart
执行此命令后,系统会先关闭网络服务,然后根据新的配置文件重新启动,请密切注意终端输出,确保没有出现 "FAILED" 或错误信息,如果一切正常,您会看到 "OK" 的提示。
验证配置
验证新的 IP 配置是否成功,再次使用 ifconfig 命令查看 eth0 网卡的 IP 地址是否已变更为您设置的值。
ifconfig eth0
您应该能看到 inet addr:192.168.1.100,为了测试网络连通性,可以 ping 一下网关和公网地址:

ping 192.168.1.1 ping www.baidu.com
如果都能正常通信,说明 IP 地址修改成功,服务器已可以正常访问网络。
相关问答FAQs
我按照步骤修改了 IP 地址并重启了网络服务,但服务器无法上网,是什么原因? 答: 这是一个常见问题,请按照以下顺序排查:
- 检查网关:首先确认网关地址是否正确,使用 
route -n命令查看,确保Gateway列有正确的值。 - 检查 DNS:确认 DNS 服务器地址是否正确,使用 
cat /etc/resolv.conf命令查看,文件内容应包含您设置的nameserver,如果该文件内容不正确,请再次检查ifcfg-eth0文件中的DNS1和DNS2是否已正确设置并重启网络。 - 检查防火墙:CentOS 6 默认使用 
iptables作为防火墙,可能是防火墙规则阻止了网络访问,可以尝试临时关闭防火墙测试:service iptables stop,如果能上网,则说明是防火墙规则问题,需要调整规则而不是完全关闭它。 - 检查物理连接:确认网线是否插好,交换机端口是否正常。
 
如何临时修改 IP 地址,让它在系统重启后失效?
答: 如果您只是想临时测试一个 IP 地址,而不想修改配置文件,可以直接使用 ifconfig 命令,将 eth0 网卡的 IP 地址临时设置为 168.1.150:
ifconfig eth0 192.168.1.150 netmask 255.255.255.0 up
这种方法会立即生效,但仅对当前运行时有效,一旦服务器重启,系统会重新读取 /etc/sysconfig/network-scripts/ 目录下的配置文件,IP 地址会恢复到文件中设定的值。