购买独立IP后如何在CentOS系统中进行静态IP配置?

在 CentOS 系统中配置独立 IP(静态 IP)需要根据 CentOS 版本选择不同方法。以下是主流版本的详细操作步骤:


一、确认网络接口名称

ip addr show
# 或
nmcli device status

常见接口名:eth0ens33enp0s3 等,请替换为实际名称。


二、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=noneONBOOT=yes 是否正确;确认网关/DNS 是否有效
接口未识别 使用 lspci | grep -i ethernet 查看硬件名称;确认驱动已加载
DNS 不生效 检查 /etc/resolv.conf 是否被覆盖(NetworkManager 可能自动管理)
多网卡冲突 确保每个接口有唯一 NAMEDEVICE,且 ONBOOT 按需设置

五、安全建议

  • 避免直接修改 /etc/resolv.conf(会被 NetworkManager 覆盖),应通过 ifcfg 中的 DNSx 配置
  • 生产环境建议先备份原配置:
    sudo cp /etc/sysconfig/network-scripts/ifcfg-<接口名> 
         /etc/sysconfig/network-scripts/ifcfg-<接口名>.bak

完成上述步骤后,系统将在下次重启时自动应用静态 IP 配置。如需临时测试,可先 ifdown <接口名>ifup <接口名> 生效。