TL;DR / 核心结论

好的实验室不以工具数量衡量,而以隔离清晰、结果可复现、失败容易恢复来衡量。

Home Lab 最容易变成软件收藏夹:装了许多平台,却很少得到完整的实验结论。我更愿意把它看成一个小型科学仪器——每个组件都应该服务于某个可验证的问题。

01先写下三个设计目标

  • 隔离:攻击流量不能意外进入家庭或校园网络。
  • 可观测:关键链路有流量、日志和时间线,而不是只看攻击端输出。
  • 可恢复:环境配置被记录,快照只用于加速,不是唯一备份。

02最小可用拓扑

一台网关、一台目标机、一台攻击机和一个旁路传感器就足够开始。它们位于独立虚拟交换网络;网关控制出站访问;传感器通过镜像端口看到东西向流量。

用声明式配置记录网络意图(示意)YAML
networks:
  lab_net:
    internal: true
services:
  sensor:
    image: zeek/zeek
    networks: [lab_net]
  target:
    networks: [lab_net]

03建立可重复的实验循环

一次练习应留下四样东西:假设、环境版本、原始证据和复盘。这样下一次更换规则或工具时,才能知道检测变化来自哪里。