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

news/2025/9/18 17:20:24/文章来源:https://www.cnblogs.com/codedingzhen/p/19099223

背景

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.mzph.cn/news/907284.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle清理:如何安全删除trace, alert和archivelog文件?

Oracle清理:如何安全删除trace, alert和archivelog文件?Oracle 数据库运行时文件清理指南 背景:公司阿里云数据库主机,由于长期运行空间告急,通知各项目组多次要求转移数据库空间文件进展缓慢,为保证空间占满影响…

软件工程个人项目

软件工程个人项目3123004548软件工程个人项目这个作业属于哪个课程 <https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering2024>这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/Class34Grade23Co…

学习道路道阻且长 希望自己坚持下去

本人是一名专升本的大三学生 现在专业是软件工程专业 从今天开始学习java 翻了一下资料 发现很多人建议从前端开始学习 在专科学习中 也学过相应的基础知识,不过遗忘程度可能有点严重。对于语言的基本语法掌握需要加强…

2025/9/18 总结

A 用时:2h 预期:100pts 实际:100pts 求出前缀和,\(s_k+s_i \text{xor} s_k\),考虑从高到低贪心,如果 \(s_i\) 的 \(j\) 位为 \(1\),不管如何贡献都有 \(2^j\),如果 \(s_i\) 的第 \(j\) 位为 \(0\),则 \(s_k\)…

P2216 [HAOI2007] 理想的正方形

P2216 [HAOI2007] 理想的正方形#include <bits/stdc++.h> using namespace std;const int maxn = 1e3 + 10; int a,b,n; int c[maxn][maxn]; deque <int> dq1,dq2; int max1[maxn][maxn],min1[maxn][maxn]…

PuTTY下载和安装

下载地址: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html更改安装路径创建桌面快捷方式

数据通路-单总线结构(最头晕的一集)

数据通路就是数据在各个部件之间传输的路径(包括路径上的部件) 控制信号是有控制部件产生的 数据通路的结构 1cpu内部单总线方式 2cpu内部多总线方式 3专用数据通路方式 内部总线 是指同一个部件,如cpu内部链接各寄…

python基础篇-集合

集合 :集合内的数据不重复,但是数据是无序的创建集合 {} 或者set()注: 创建空集合只能用set(), 因为{}已经被字典占用了eg: s1 = {10, 20 ,40,30 }eg: s2 = set(abcdefg) :用set创建,序列会被拆开 = 》 {’a, b…

#egsg:在同一程序中比较-计算圆的面积

以下是一个同时使用easygui和pysimplegui实现的圆形面积计算程序,通过菜单让用户选择使用哪种GUI库: import math import easygui import PySimpleGUI as sgdef easygui_calculator():"""使用easygui…

282 项多模态胃肠病学数据集:适配 VLM 与 MLLM 微调,融合医学图像与临床文本的医疗 AI 训练数据

​ 获取更多高质量数据集,请访问典枢数据交易平台:https://dianshudata.com一、引言与背景 在医疗人工智能领域,胃肠病学的智能化诊断与分析始终依赖高质量数据的支撑,而视觉语言模型(VLM)与多模态大型语言模型(…

2-sat板子

vector<int>e[maxn]; int n,m; int inscc[maxn]; int low[maxn],dfn[maxn]; stack<int>stk; int instk[maxn]; int tot,cnt; vector<int>scc[maxn];void dfs(int u,int fa){low[u]=dfn[u]=++tot;stk…

Node.js 中使用 .env 文件管理环境变量

Node.js 中使用 .env 文件管理环境变量Node.js 中使用 .env 文件管理环境变量xiaochong0302鸠摩智首席音效师​关注他1 人赞同了该文章 Using .env File in Node.jsNode.js 应用程序通常依赖于环境变量来管理敏感信息或…

centos 7中安装jenkins

1.安装java11 [root@localhost ~]# yum install -y java-11-openjdk-devel [root@localhost ~]# java --version openjdk 11.0.23 2024-04-16 LTS OpenJDK Runtime Environment (Red_Hat-11.0.23.0.9-2.el7_9) (build …

pythonjs逆向 破解滑动验证码 - hello-*

现在的滑动验证码防盗等级都比较高,之前的是一张完整的图片带缺口,现在返回的图片是打乱顺序拼接而成的,所以现在破解不仅要识别滑块的缺口,同时还需要复原完整的图片一.伪造请求获取验证码图片可以看到请求中主要…

解决 pandas.to_csv 乱码、丢失行和自动换行问题 时间转换

解决 pandas.to_csv 乱码、丢失行和自动换行问题-百度开发者中心 https://developer.baidu.com/article/details/2792989 在使用 pandas.to_csv 函数时,可能会遇到一些问题,如乱码、丢失行和自动换行等。这些问题通常…

JavaDay7

数组 数组的定义数组是相同类型数据的有序集合。 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。数组声明创建首…

腾讯混元 3D 3.0 模型发布

腾讯混元 3D 3.0 模型发布腾讯混元 3D 3.0 模型发布来源: OSCHINA 编辑: 局 2025-09-16 18:06:000推广 | 鸿蒙应用开发者激励计划 2025 正式发布,总奖金池超亿元!限时开放,快来了解腾讯宣布推出混元 3D 3.0 模型,其…

Bun:不仅是新的JavaScript运行时,并且重塑了JavaScript工具链

Bun:不仅是新的JavaScript运行时,并且重塑了JavaScript工具链Bun:不仅是新的JavaScript运行时,并且重塑了JavaScript工具链 原创修改于 2023-11-09 18:56:015.4K00代码可运行举报文章被收录于专栏:世界尽头与冷酷…

AI Agent 与 MCP 核心解析与企业级应用指南

AI Agent 与 MCP 核心解析与企业级应用指南AI Agent 与 MCP 核心解析与企业级应用指南 一、引言 AI Agent(人工智能代理)与 MCP(Model Context Protocol,模型上下文协议)是当前人工智能技术前沿的核心概念。AI Ag…

前端场景题笔记

先说背景再说方案 1. js超过number最大值的数怎么处理? 换数据类型。 2. 如何解决页面请求接口大规模并发问题? 请求队列,Push,shift。防抖节流。 3. 大文件上传? 前端切片,标记唯一值,后端整合。 …