当前位置: 首页 > news >正文

关于proxmox 制作虚拟机模板的动态dhcp问题

背景

proxmox 制作ubuntu24.04 的模板,虽然已经设置了dhcp,启动了ip还是会附带之前的信息。为了解决这个问题。

如果要保证 Ubuntu 云镜像克隆后每台机器都自动生成唯一的 machine-idDHCP 客户端 ID(避免 IP 冲突),可以结合 cloud-init + netplan 这样配置。


1. cloud-init 模板(推荐写到 /etc/cloud/cloud.cfg.d/99-custom.cfg

# cloud-init configuration
# 确保每次实例化时重新生成 machine-id 和 DHCP 客户端 ID# 保证 systemd-machine-id 每次克隆都重建
system_info:regenerate_ssh_host_keys: truebootcmd:# 删除旧的 machine-id,systemd 会在开机时自动生成新的- rm -f /etc/machine-id- rm -f /var/lib/dbus/machine-id- systemd-machine-id-setup# 确保 cloud-init 不保留 DHCP 客户端 ID(默认就会根据 machine-id 生成新的)
network:config: disabled  # 告诉 cloud-init 不去覆盖 netplan,让我们自己管理

2. Netplan DHCP 配置(例如 /etc/netplan/01-netcfg.yaml

确保 所有网卡通过 DHCP 自动获取地址

network:version: 2ethernets:ens18:       # 按需替换为你的网卡名dhcp4: truedhcp-identifier: mac   # 使用 MAC 地址做 DHCP ID(避免 machine-id 重复问题)
  • 如果使用 dhcp-identifier: mac,则每台 VM 的 DHCP 租约基于 MAC,不基于 machine-id
  • 如果使用 dhcp-identifier: duid,则基于 DUID(默认用 machine-id 生成)
  • 云环境常用 mac,因为每个克隆 VM 通常会改 MAC

3. 云镜像准备注意事项

  1. 清理 cloud-init 状态(做模板前执行一次)
sudo cloud-init clean --logs --machine-id
sudo rm -f /etc/machine-id /var/lib/dbus/machine-id
sudo systemd-machine-id-setup
  1. 关机并制作镜像/模板(不要再开机)
  2. 克隆时保证 MAC 地址不同(不然即使用 mac 作为 ID,也会冲突)

完整流程总结

  • cloud-init 负责清理 machine-id 并重新生成
  • netplan 设置为 DHCP 自动获取
  • dhcp-identifier: mac 避免因 machine-id 重复导致的冲突
  • 模板制作前运行 cloud-init clean 并清除 machine-id

http://www.rkmt.cn/news/7438.html

相关文章:

  • 2025/9/18 总结
  • PuTTY下载和安装
  • python基础篇-集合
  • 282 项多模态胃肠病学数据集:适配 VLM 与 MLLM 微调,融合医学图像与临床文本的医疗 AI 训练数据
  • JavaDay7
  • 腾讯混元 3D 3.0 模型发布
  • 前端场景题笔记
  • 9 月记录
  • 关于如何读懂 P11832 [省选联考 2025] 图排列?
  • React添加路由切换过渡动画
  • mjs和mts
  • 有点意思!Java8后最有用新特性排行榜!
  • 数据结构 Trick 之:KDT 求 k 近/远 点
  • .NET 8程序配置版本及产品信息
  • C语言第二讲:进制转化
  • 抽象代数-学习笔记
  • ClickHouse 表引擎深度解析:ReplacingMergeTree、PARTITION、PRIMARY KEY、ORDER BY 详解 - 若
  • web5(phps源码泄露)
  • web3(自带网络工具包查看数据)
  • ctfshow_web11
  • ctfshow_web13
  • ctfshow_web9
  • pom 依赖
  • SMA的射频连接器
  • 什么是Elasticsearch?它与其他搜索引擎相比有什么优势?
  • pdf.js-2.3.0国内下载地址
  • opencv学习记录2
  • Blazor全栈是个陷阱
  • 大型语言模型安全实践:Copilot安全防护经验总结
  • vmware ubuntu共享文件夹