在 CentOS 系统中配置独立 IP(静态 IP)需要根据 CentOS 版本选择不同方法。以下是主流版本的详细操作步骤:
一、确认网络接口名称
ip addr show
# 或
nmcli device status
常见接口名:eth0、ens33、enp0s3 等,请替换为实际名称。
二、CentOS 7 / 8 / Stream(使用 NetworkManager + ifcfg 文件)
1. 编辑网卡配置文件
sudo vi /etc/sysconfig/network-scripts/ifcfg-<接口名>
# 例如:ifcfg-eth0 或 ifcfg-ens33
2. 修改内容示例(将 xxx 替换为你的实际信息)
TYPE=Ethernet
BOOTPROTO=none # 静态IP必须设为none
DEFROUTE=yes
NAME=<接口名> # 如 eth0
DEVICE=<接口名> # 同上
ONBOOT=yes # 开机启用
IPADDR=你的静态IP # 如 192.168.1.100
NETMASK=子网掩码 # 如 255.255.255.0
GATEWAY=默认网关 # 如 192.168.1.1
DNS1=首选DNS服务器 # 如 8.8.8.8
DNS2=备用DNS服务器 # 可选,如 114.114.114.114
💡 注意:若使用
/etc/hosts解析本地主机名,建议添加一行:<你的静态IP> <你的主机名>
3. 重启网络服务
# CentOS 7
sudo systemctl restart network
# CentOS 8 / Stream(NetworkManager 管理)
sudo nmcli connection reload
sudo nmcli connection up <接口名>
# 或直接重启 NetworkManager
sudo systemctl restart NetworkManager
4. 验证配置
ip addr show <接口名>
ping -c 4 8.8.8.8 # 测试网络连通性
ping -c 4 <网关IP> # 测试网关连通性
三、CentOS 6(传统 ifcfg 方式)
步骤与 CentOS 7 类似,但需执行:
service network restart
四、常见问题排查
| 问题 | 解决方案 |
|---|---|
| 无法连接网络 | 检查 BOOTPROTO=none、ONBOOT=yes 是否正确;确认网关/DNS 是否有效 |
| 接口未识别 | 使用 lspci | grep -i ethernet 查看硬件名称;确认驱动已加载 |
| DNS 不生效 | 检查 /etc/resolv.conf 是否被覆盖(NetworkManager 可能自动管理) |
| 多网卡冲突 | 确保每个接口有唯一 NAME 和 DEVICE,且 ONBOOT 按需设置 |
五、安全建议
- 避免直接修改
/etc/resolv.conf(会被 NetworkManager 覆盖),应通过ifcfg中的DNSx配置 - 生产环境建议先备份原配置:
sudo cp /etc/sysconfig/network-scripts/ifcfg-<接口名> /etc/sysconfig/network-scripts/ifcfg-<接口名>.bak
完成上述步骤后,系统将在下次重启时自动应用静态 IP 配置。如需临时测试,可先 ifdown <接口名> 再 ifup <接口名> 生效。
PHPWP博客