分类
个人

最新 Homelab 完工,报告

此为一篇自荐文,其意在于分享心得、经历和配置。

前后准备、部署 Homelab 已有几月有余,今终有所成效,遂分享。

介绍 —— 何为 Homelab?

简言之,即在家中部署服务器、网络设施,和其他相关设施。

介绍 —— 为何需要 Homelab?

不同人有不同需求。这里列举一些常见需求:

  • 实验
  • 云服务器无法满足需求
  • 节省成本
  • 相关工作有关
  • 兴趣

简短介绍后,便在此记录我的 Homelab 搭建时间轴以及心得体会。

2020 年上旬:在 Azure 上搭建 Active Directory 基础设施

博主对 Active Directory 早有耳闻。由于其出色的中心化管理能力,我一直想部署一个 AD。然而家中并无物理服务器可用,只得在 Azure 上部署。

具体配置:两台 Azure Spot Windows VM。一台 Windows VM 用作 AD DC,一台用作 AAD 同步。

当时为了满足云端网络到本地的连通问题,采用了 P2S(Point-to-site)方案,使用 ZeroTier 进行连接。然而,该种方案有如下问题:

  1. 由于未知原因(可能是初始化比较慢),DC DNS 经常报错提示找不到 ZeroTier 虚拟 NIC;
  2. 需要每台客户端设备都进行配置,较麻烦;
  3. 速度很慢

该方案使用了许久,后期拓展到了两台云域控制器,不提。

2020 年中旬:切换到 WireGuard

刚提到 ZeroTier 的诸多问题,遂考虑使用 WireGuard 的 S2S(Site-to-site)方案,让两个网络内的设备均能无缝互访。之所以采用 WireGuard 是由于它配置方便。欢迎参考 分享自用 WireGuard S2S 配置

Azure 端因此新建一台 Spot Linux VM 作 WireGuard Peer。

Azure 虚拟网络支持设定路由表,便可将请求本地 IP 区间的流量路由到 WireGuard Peer VM 即可。

但依旧限于家里没有服务器,但有一个空闲的树莓派,遂用作 WireGuard Peer。由于家中的路由器不支持设定路由表功能,只得继续在客户端电脑上手动设置。

依此设置,虽仍较麻烦,无法在客户端做到完全无缝访问,但在设置好后几乎可以流畅互访。

2020 年中旬:了解到 Homelab 并尝试购买配件

由于博主家境平庸,无法购买昂贵硬件设施,只得在便宜的基础上再进行选择。

初步设想是在家中设立一台服务器,并提供一些无需 SLA 的服务(大致上就是不盈利的服务),比如本博客、Minecraft 服务器等等。既如此,配置自然不需很高。经过研究,选择了如下配置:

  • CPU:Intel 赛扬 G3900。双核。
  • 内存:4G 单条
  • 主板:TB250-BTC(最高内存 32G)
  • 系统盘:120G TeamGroup SSD
  • 数据盘:台式机拆下来的、用了四年之久的 1T HDD
  • PSU:忘记牌子的 45W。
  • 网络:连接 DMZ 网络,和内网隔离,转发部分端口。

该配置足以承载上述负荷。

对于网络,刚提到由于家中路由器功能欠缺,不能设置路由表(更不能安装 WireGuard),同时需要分多个网络(缓冲区网络和内网),并需要将 Homelab 和家人子网分离避免干扰,便需一个更高级的路由器了。因此,我看中了 EdgeRouter X。

EdgeRouter X 可以满足上述所有需求,除了它只有 1Gbps。

经过购置,已到了 2020 年七月。从此家里有了一台服务器和两个子网。在 EdgeRouter 上安装了 WireGuard,从此树莓派便退役了,真正实现两个网络间计算机的无缝互访。与此同时,也将 Azure 上的博客等网站迁移到了本地。

对于 WiFi,由于市面上的 AP 都较贵,便只得使用刷了老毛子 Padavan 的极路由 1s 进行桥接。只有 100Mbps。

2020 年下旬:本地 Active Directory 设施

虽说现配置已可以满足需求,但仍有不妥之处。如:

  • WireGuard 性能仍然有瓶颈。经测,仅有 100Mbps 下载(家宽为 15 / 300)
  • Azure 不支持某些 Windows 服务,如 Hyper-V、DirectAccess 等。
  • Azure 托管三个 Windows 虚拟机很贵,虽说是 Spot。
  • 本地有时需要托管一些虚拟机,做一些临时业务,如编译等。
  • 需要一台内网机器存放敏感数据。照片等数据不适合存在 DMZ 网络中。

Azure 托管 Windows 的唯一好处便是许可。Azure 可以通过订阅方式托管正版 Windows,而本地则需要购买。然而博主家境不好,只得暂时使用盗版,待日后有机会再行购买。

同时,家里没有额外的硬件设施。可用的仅有一台已服役六年的 OptiPlex 3020,只得贡献它了。然而,性能有所限制:最高 16G 内存,只有三个 SATA。具体配置:

  • i5 四核
  • 16G DDR3
  • 512G SATA SSD
  • 网络:连接内网,不转发端口。

为了节省成本,便在该机上安装了 Hyper-V Server,专做虚拟化。后安装了几个 Windows 虚拟机,设置 Active Directory 服务。

由于有富裕空间,便尝试了不同 Windows 服务,如 WDS(PXE 服务)、WSUS(更新服务)、DirectAccess、RADIUS 等,体验目前良好。

在迁移 Active Directory 后,便删除了 Azure VM,节省后续成本。

展望日后升级,主要有如下升级方向:

  1. 外网服务器需要升级内存
  2. 需要更多数据盘防止数据丢失
  3. 外网服务器需要使用虚拟化
  4. 升级 10Gbps 网络
  5. 购买新的 AP

感谢阅读,希望本篇体验可以为其他 Homelab 用户提供一些参考。最后希望服务器长治久安。