You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Ubuntu自动安装的cloud-init阶段禁用网络以解决DHCP检测导致的安装崩溃问题?

如何在Ubuntu自动安装的cloud-init阶段禁用网络以解决DHCP检测导致的安装崩溃问题?

我完全理解你遇到的这个困扰——升级到Ubuntu 20.04.6后,自动安装过程中cloud-init一检测到DHCP服务器就崩溃,这确实打乱了部署节奏。别担心,我们可以通过修改启动参数或cloud-init配置来彻底禁用初始化阶段的网络操作,解决这个问题。

这里有两个亲测有效的方案,你可以根据自己的部署环境选择:

方案一:修改GRUB启动参数(最直接)

你只需要在现有grub.cfg的内核启动命令行中添加几个参数,就能让系统跳过网络配置:

找到grub.cfg中的这一行:

linux   /casper/vmlinuz quiet autoinstall ds=nocloud\;s=/cdrom/nocloud/ ---

修改为:

linux   /casper/vmlinuz quiet autoinstall ds=nocloud\;s=/cdrom/nocloud/ ip=off cloud-init.network-config=disabled ---

参数说明:

  • ip=off:告诉Linux内核不要尝试初始化任何网络接口,从底层阻断网络操作
  • cloud-init.network-config=disabled:明确指令cloud-init跳过所有网络配置模块,避免它主动检测DHCP服务器

方案二:在nocloud配置中禁用网络模块

如果希望更细致地控制cloud-init的行为,你可以在/cdrom/nocloud/目录下的user-data文件中添加配置,让cloud-init直接禁用网络相关模块:

打开user-data文件,加入以下YAML配置:

cloud_config:
  disable_modules:
    - network

或者,你也可以直接给所有网卡设置静态禁用DHCP的规则(适合后续需要手动配置网络的场景):

network:
  version: 2
  ethernets:
    all:
      dhcp4: no
      dhcp6: no

完成以上任何一种配置后,重新启动安装流程,cloud-init就不会再去检测网络中的DHCP服务器,自然也就不会触发崩溃问题了。

备注:内容来源于stack exchange,提问作者Fang

火山引擎 最新活动