WiLL75G/proxmox-homelab

GitHub: WiLL75G/proxmox-homelab

一份详细的 Proxmox VE 蓝队安全家庭实验室搭建指南,从旧笔记本改造到虚拟化主机上线全程记录。

Stars: 0 | Forks: 0

# Proxmox VE 家庭实验室构建文档 将一台旧笔记本改造为始终在线的虚拟化服务器,用于运行蓝队安全实验室(Wazuh、Suricata 及其他 SOC 分析师工具)。 这是一份关于我如何从零开始安装 Proxmox VE 并使其完全上线的分步记录,旨在让初学者能够照做,同时让招聘人员能看到每个决策背后的思考过程。 **状态:** Proxmox 已安装,网络已配置,Web 仪表盘可访问。已准备好迎接首个安全 VM。 ## 我构建了什么以及为什么 我将一台老旧的 Lenovo ThinkPad 改造成了专用的 **hypervisor**,这是一台专职运行虚拟机的服务器。我选择 **Proxmox VE** 是因为它是: - **免费且开源** - 一个 **Type-1 (bare-metal) hypervisor**,这意味着它直接安装在硬件上,而不是在另一个操作系统内,因此能高效运行 VM - **专为**在普通硬件上运行多个 VM 和容器而设计 最终目标是建立一个安全、隔离的环境,让我可以在其中构建和破坏安全工具,而不会危及生产机器。 ## 硬件 | 组件 | 详情 | |-----------|--------| | 型号 | Lenovo ThinkPad (20BFS3KW00) | | CPU | Intel Core i7-4710MQ @ 2.50GHz (4 核 / 8 线程) | | 内存 | 8 GB DDR3 | | 存储 | 932 GB HDD | | 虚拟化 | 支持 Intel VT-x | **客观的硬件说明:** - 8 GB 内存是主要瓶颈。Proxmox 占用约 1-2 GB,为 VM 剩下约 6 GB,这足够运行几个小型 VM。计划进行内存升级(该型号支持 16 GB)。 - 机械硬盘比 SSD 慢;计划更换为 SSD。 - 对于这个实验室来说,CPU 性能绰绰有余。 ## 软件 - **Proxmox VE 9.2**(基于 Debian Linux 构建) - **文件系统:** ext4 ## 分步构建 ### 步骤 1 下载 Proxmox ISO 仅从官方网站下载了安装程序: `https://www.proxmox.com/en/downloads` -> **Proxmox VE 9.2 ISO Installer**。 **安全习惯:** 我使用其 SHA256 校验和(在同一页面上发布)验证了下载,以确认文件没有损坏或被篡改。在 Windows PowerShell 中: ``` Get-FileHash "$env:USERPROFILE\Downloads\proxmox-ve_9.2-1.iso" -Algorithm SHA256 ``` 如果结果与网站上的 hash 匹配,则文件完好无损。 ### 步骤 2 制作可引导 USB ISO 文件不能直接复制到 USB 闪存盘上,必须使用刻录工具以特殊的可引导格式进行*写入*。 **无效的尝试:** 我首先尝试了 **balenaEtcher**。它一直拒绝加载 ISO(显示红色的“禁止通行”符号,始终无法接受该文件)。 **有效的工具 Rufus:** 1. 从 `https://rufus.ie` 下载了 Rufus。 2. 选择我的 USB 驱动器。 3. 引导选择 -> **选择** -> 选中 Proxmox ISO。 4. 点击 **开始**。 5. Rufus 检测到“ISOHybrid image”并询问如何写入,我选择了 **DD Image mode**(这是 Proxmox 引导所必需的)。 6. 确认了有关擦除 USB 的警告。 7. 等待绿色的 **准备就绪** 进度条。 **经验:** 对于 Proxmox,请在 Rufus 中使用 **DD mode**。Etcher 和文件复制模式无法可靠地生成可引导的 Proxmox 闪存盘。 ### 步骤 3 从 USB 引导 1. 完全关闭笔记本电脑。 2. 插入 USB 并开机,连续敲击 **F12** 打开引导菜单。 3. 选择 USB 驱动器。 4. 在 Proxmox 菜单中,选择 **Install Proxmox VE (Graphical)**。 ### 步骤 4 虚拟化警告 安装程序警告: ``` No support for hardware-accelerated KVM virtualization detected. Check BIOS settings for Intel VT / AMD-V / SVM. ``` 这是一个**警告,而不是错误。** 我的 CPU 支持 Intel VT-x,但它在 BIOS 中被关闭了。 **彻底修复:** 重启进入 BIOS(ThinkPad 上为 F1) -> Security -> Virtualization -> 将 *Intel Virtualization Technology* 设置为 **Enabled** -> 按 F10 保存。 **继续安装:** Proxmox 仍然可以安装并运行;只是在启用 VT-x 之前,VM 运行速度会变慢。 我继续了安装,并将 VT-x 记为一项后续任务。 ### 步骤 5 安装程序设置 | 设置 | 我的选择 | 原因 | |---------|--------------|-----| | 目标磁盘 | 932 GB 内置硬盘 | 唯一的磁盘;Windows 已被清除 | | 文件系统 | **ext4** | 单磁盘最简单、最轻量的选择 | | 国家/时区 | 南非 / 约翰内斯堡 | 本地 | | 键盘 | U.S. English | 标准 | **为什么选 ext4?** 安装程序还提供 ZFS 和 BTRFS。ZFS 需要大量 RAM,并且只有在多磁盘时才有意义;BTRFS 仍被标记为“技术预览版”。对于单磁盘且 RAM 受限的情况,**ext4** 是正确且开销低的选择。 ### 步骤 6 密码和网络(安装时) - 设置了强 **root** 密码(用于登录控制台和 Web 仪表盘,已安全存储,绝不在此 repo 中出现)。 - 笔记本电脑在安装期间没有网络连接,因此我使用了**占位符**网络值。Proxmox 无论如何都能正常安装;一旦服务器连接到真实网络,IP 就会被修正。 ### 步骤 7 安装和首次启动 - 确认摘要并点击 **安装**。 - 在重启期间拔下 USB,以便从硬盘引导。 - 系统启动并显示了登录横幅,上面有网址和 `pve login:` 提示符。 - 在控制台以 `root` 身份登录,以确认安装状况良好,成功到达 `root@pve:~#` 命令提示符。 **至此,Proxmox 已完全安装。** ## 网络连接:让仪表盘上线 这是最后的障碍,也是一堂很好的网络课程。 ### 诊断连接 首次启动时,我使用以下命令检查了网络: ``` ip a ``` 它最初显示**没有活动连接**,以太网口没有插线,Wi-Fi 也处于关闭状态。因此 Web 仪表盘尚不可访问。 **我发现的 Wi-Fi 限制:** Proxmox 默认不包含 Wi-Fi 工具。检查这些工具时没有任何返回: ``` which wpa_supplicant iw # (无输出 = 未安装) ``` 这造成了一个 catch-22:安装 Wi-Fi 工具需要互联网,但通过 Wi-Fi 获取互联网又需要这些工具。**结论:** Proxmox 是以有线网络优先的。服务器应该通过以太网连接,这也比 Wi-Fi 更可靠。 ### 修复 IP 以匹配我的网络 将以太网线连接到路由器后,`ip a` 显示以太网接口 (`nic0`) 和桥接 (`vmbr0`) 为 **UP** 状态,但桥接仍然保留着占位符 IP `192.168.100.2`,这与我的家庭网络 (`192.168.0.x`) 不匹配。 我编辑了网络配置: ``` nano /etc/network/interfaces ``` 在 `vmbr0` 块中,我将占位符值更改为与家庭网络匹配的值: ``` address 192.168.0.50/24 gateway 192.168.0.1 ``` 保存(Ctrl+O,Enter)并退出(Ctrl+X),然后在不重启的情况下应用了更改: ``` ifreload -a ``` ### 验证连通性 确认了新 IP 并测试了可访问性: ``` ip a # vmbr0 now shows inet 192.168.0.50/24 ping -c 4 8.8.8.8 # 4 received, 0% packet loss -> internet works ``` ### 一个值得记住的网络陷阱 当我第一次尝试从 Mac 上打开仪表盘时,它失败并提示“Destination Net Unreachable”。从 Mac 进行的 `ping` 显示它与服务器(`192.168.0.x`)位于**不同的子网**(`192.168.52.x`)。位于不同子网上的两台设备无法直接通信。在让 Mac 连入同一个 `192.168.0.x` 网络后,仪表盘成功加载。 **经验:** 客户端和服务器必须位于同一网络/子网。在归咎于应用程序之前,请务必使用 `ping` 确认两端。 ### 访问仪表盘 在同一网络上的浏览器中: ``` https://192.168.0.50:8006 ``` 浏览器显示 **“连接不是私有的” / “不安全”** 警告。这是**预期内的**,Proxmox 使用自签名的 TLS 证书,因此浏览器无法针对公共证书颁发机构对其进行验证。在拥有自己服务器的私有网络上,越过此警告继续操作是安全的。 使用 `root` 用户和 "Linux PAM standard authentication" realm 登录,并进入了 Proxmox 仪表盘。出现了一个 **“No valid subscription”** 弹窗,这对于免费版本来说是正常的;点击 OK 关闭。它不会限制家庭实验室的任何功能。 **结果:一台健康、在线的 Proxmox VE 9.2 主机,可通过浏览器进行远程管理。** ## 关键经验(总结) - **使用 Rufus 的 DD mode** 写入 Proxmox USB,Etcher 对我来说失败了。 - **在单磁盘、低 RAM 的主机上选择 ext4**,可避免不必要的开销。 - **在 BIOS 中启用 VT-x** 以获得完整的 VM 性能。 - **Proxmox 是有线网络优先的**,开箱不支持 Wi-Fi;服务器请使用以太网。 - **客户端和服务器必须共享同一子网**,在调试应用之前使用 `ping` 进行确认。 - **自签名证书警告是预期内的**,在你自己的私有网络上可以安全地绕过。 - **“No valid subscription”弹窗对于免费版本是正常的**,且不限制任何功能。 ## 安全提示 所有敏感值,包括 root 密码、Wi-Fi 密钥、路由器登录信息、设备 IMEI 和 MAC 地址,都特意**未包含在此文档中**。真实的机密信息绝不应提交到公共 repository。显示的内部 IP 地址是私有(RFC 1918)实验室地址,并不敏感。 ## 路线图 - [x] 在 bare metal 上安装 Proxmox VE - [x] 配置网络并访问 Web 仪表盘 - [ ] 在 BIOS 中启用 Intel VT-x - [ ] 升级 RAM(8 GB -> 16 GB)并添加 SSD - [ ] 部署首个 VM **Wazuh** 监控实验室(SIEM/XDR) - [ ] 使用 Wazuh agent 添加受监控的“受害者”VM - [ ] 添加 **Suricata** 网络 IDS - [ ] 添加 **Kali** 攻击者 VM 以生成并随后检测攻击 - [ ] 在此处记录每个 VM 的构建和检测练习 ## Repository 结构 ``` proxmox-homelab/ └── README.md ```
标签:Metaprompt, Proxmox VE, Suricata, Wazuh, 家庭实验室, 现代安全运营, 虚拟化, 运维部署