系统版本:Ubuntu 22.04.5 LTS

现象:配置完静态ip后,发现执行reboot后/etc/netplan下的网络配置文件会被删除并生成新的空白的文件,导致每次reboot后都需要重新配置ip

 一、核心原因分析

  1. Cloud-init 服务覆盖配置
    Ubuntu 系统默认通过 cloud-init 管理云环境初始化,其会强制重置网络配置。若存在 /etc/cloud/cloud.cfg.d/* 或 /etc/netplan/50-cloud-init.yaml 文件,重启时可能覆盖自定义配置 。

  2. 临时文件系统挂载错误
    若 /etc 目录被错误挂载为临时文件系统(如 tmpfs),重启后所有修改将丢失。需检查 /etc/fstab 文件是否包含异常挂载项 。

  3. 系统清理机制误触发
    个别系统配置(如 TMPTIME=0)可能错误清理非 /tmp 目录的文件,需排查 /etc/default/rcS 配置 。

二、解决方案步骤

方案1: 禁用 Cloud-init 的网络管理

# 编辑 cloud-init 配置文件 vim /etc/cloud/cloud.cfg.d/90-installer-network.cfg

# 添加以下内容并保存: network: {config: disabled}

# 将其他的都进行注释

 

这边直接禁用掉之后,问题就已经解决了,执行reboot后网络没有丢失了, 

方案2: 检查文件系统挂载
  1. 查看 /etc/fstab

    cat /etc/fstab

    确认 ‌‌ 类似 /etc tmpfs defaults 0 0 的挂载项 。
  2. 若有异常条目,注释后重启测试。
三、补充建议
  • 配置文件权限验证
    确保自定义 netplan 文件权限为 644(命令:sudo chmod 644 /etc/netplan/*.yaml)。
  • 使用独立配置文件名
    创建新配置时使用高优先级文件名(如 /etc/netplan/01-custom.yaml),避免与系统默认文件冲突 。
  • NetworkManager 冲突排查
    若同时使用 NetworkManager,在 netplan 文件中添加 renderer: NetworkManager 统一管理,避免服务冲突 。

操作提示‌:修改关键配置前务必备份原文件(如 sudo cp /etc/fstab /etc/fstab.bak)。若问题仍在,可结合 journalctl -u cloud-init 和 dmesg 日志进一步分析启动过程异常 。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐