You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS CentOS 7实例配置静态私有IP遇cloud-init重置问题求助

解决AWS EC2 CentOS7实例静态私有IP被cloud-init重置的问题

我懂你这糟心的情况——给CentOS7的EC2实例配了静态私有IP,重启网络没问题,但实例一重启就被cloud-init把ifcfg-eth0打回原形,还得忍受cPanel的提示。别慌,咱们一步步把这个问题彻底解决:

第一步:让cloud-init别插手网络配置

cloud-init默认会在实例启动时自动重置网络参数,所以首先得切断它对网卡的控制权:

  1. 编辑cloud-init的主配置文件:
    vi /etc/cloud/cloud.cfg
    
  2. 在文件中添加或修改network配置块,明确禁用自动网络配置:
    network:
      config: disabled
    
  3. 额外禁用cloud-init的网络初始化服务,双重保险:
    systemctl disable cloud-init-network.service
    

第二步:正确配置静态私有IP的网卡文件

现在可以放心修改ifcfg-eth0了,按照AWS的私有IP规则来配置:

  1. 先备份原文件,以防配置出错能恢复:
    cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.bak
    
  2. 编辑ifcfg-eth0,替换成以下内容(记得替换成你的实际参数):
    TYPE=Ethernet
    BOOTPROTO=static
    DEFROUTE=yes
    PEERDNS=yes
    PEERROUTES=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=no
    NAME=eth0
    UUID=保留原文件中的UUID值即可
    DEVICE=eth0
    ONBOOT=yes
    IPADDR=你的私有IP(比如172.31.12.34,从EC2控制台实例详情中查看)
    NETMASK=你的子网掩码(比如255.255.255.0)
    GATEWAY=你的子网网关(AWS子网网关通常是子网第一个IP,比如172.31.12.1,从VPC控制台子网详情获取)
    DNS1=8.8.8.8
    DNS2=8.8.4.4
    

第三步:验证配置并重启实例

  1. 先重启网络服务,确认当前配置生效:
    systemctl restart network
    
  2. 用以下命令检查eth0的IP是否正确设置:
    ip addr show eth0
    
  3. 最后重启实例,验证重启后ifcfg-eth0是否保持修改后的状态:
    reboot
    
    重启后再次查看网卡配置和IP,确认没有被重置即可。

额外注意事项

  • 弹性IP不需要在网卡文件中配置,AWS会自动将弹性IP关联到你的私有IP上,只要实例运行正常,弹性IP就会保持绑定状态。
  • 如果cPanel仍提示IP问题,重启cPanel服务即可同步配置:
    /scripts/restartsrv_cpsrvd
    

内容的提问来源于stack exchange,提问作者Tom Vaughan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:35:46