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, 家庭实验室, 现代安全运营, 虚拟化, 运维部署