如何从硬件到防火墙设置家庭实验室

了解构建您自己的家庭实验室的硬件和软件选项。
269 位读者喜欢这篇文章。
Jump-start your career with open source skills

Opensource.com

您想创建一个家庭实验室吗? 也许您想尝试不同的技术,创建开发环境,或者拥有自己的私有云。 拥有家庭实验室有很多原因,本指南旨在让您更容易上手。

规划家庭实验室时需要考虑三个类别:硬件、软件和维护。 我们将在这里研究前两个类别,并将维护您的计算机实验室留到以后的文章中。

硬件

在考虑您的硬件需求时,首先要考虑您计划如何使用您的实验室,以及您的预算、噪音、空间和功耗。

如果购买新硬件太贵,请在当地大学、广告以及 eBay 或 Craigslist 等网站上搜索回收的服务器。 它们通常价格低廉,而且服务器级硬件经久耐用。 您需要三种类型的硬件:虚拟化服务器、存储和路由器/防火墙。

虚拟化服务器

虚拟化服务器允许您运行多个虚拟机,这些虚拟机共享物理机的资源,同时最大限度地利用和隔离资源。 如果您破坏了一个虚拟机,您不必重建整个服务器,只需重建虚拟机即可。 如果您想进行测试或尝试某些操作,而又不想冒破坏整个系统的风险,只需启动一个新的虚拟机即可。

在虚拟化服务器中要考虑的两个最重要的因素是其 CPU 核心的数量和速度以及其内存。 如果没有足够的资源在所有虚拟机之间共享,它们将被过度分配并尝试窃取彼此的 CPU 周期和内存。

因此,请考虑具有多个核心的 CPU 平台。 您需要确保 CPU 支持虚拟化指令(Intel 的 VT-x 和 AMD 的 AMD-V)。 可以处理虚拟化的良好消费级处理器的示例是 Intel i5 或 i7 和 AMD Ryzen。 如果您正在考虑服务器级硬件,那么 Intel 的 Xeon 系列和 AMD 的 EPYC 系列是不错的选择。 内存可能很昂贵,尤其是最新的 DDR4 SDRAM。 在估计内存需求时,至少要考虑 2GB 用于主机操作系统的内存消耗。

如果您的电费或噪音是一个问题,像 Intel 的 NUC 设备这样的解决方案提供了一个小尺寸、低功耗和降低的噪音,但代价是可扩展性。

网络附加存储 (NAS)

如果您想要一台装满硬盘的机器来存储您的所有个人数据、电影、图片等,并为虚拟化服务器提供存储,那么您需要的是网络附加存储 (NAS)。

在大多数情况下,您不需要强大的 CPU; 事实上,许多商业 NAS 解决方案都使用低功耗的 ARM CPU。 支持多个 SATA 磁盘的主板是必须的。 如果您的主板没有足够的端口,请使用主机总线适配器 (HBA) SAS 控制器添加额外的端口。

网络性能对于 NAS 至关重要,因此请选择千兆网络接口(或更好)。

内存需求将根据您的文件系统而有所不同。 ZFS 是最流行的 NAS 文件系统之一,您需要更多内存才能使用缓存或重复数据删除等功能。 纠错码 (ECC) 内存是保护数据免受损坏的最佳选择(但在购买之前请确保您的主板支持它)。 最后,但并非最不重要的是,不要忘记不间断电源 (UPS),因为断电可能会导致数据损坏。

防火墙和路由器

您是否曾经意识到,廉价的路由器/防火墙通常是保护您的家庭网络免受外部世界侵害的主要工具? 这些路由器很少收到及时的安全更新,如果它们收到任何更新的话。 现在害怕了吗? 好吧,你应该害怕

您通常不需要强大的 CPU 或大量的内存来构建您自己的路由器/防火墙,除非您正在处理巨大的吞吐量或想要执行 CPU 密集型任务,例如 VPN 服务器或流量过滤。 在这种情况下,您需要一个支持 AES-NI 的多核 CPU。 

您可能需要至少两个 1 千兆或更好的以太网网络接口卡 (NIC)。此外,不需要,但建议使用,一个管理型交换机来连接您的 DIY 路由器以创建 VLAN,从而进一步隔离和保护您的网络。

Home computer lab PfSense

软件

选择好虚拟化服务器、NAS 和防火墙/路由器后,下一步是探索不同的操作系统和软件,以最大限度地发挥它们的优势。 虽然您可以使用像 CentOS、Debian 或 Ubuntu 这样的常规 Linux 发行版,但它们通常比以下选项需要更多的时间来配置和管理。

虚拟化软件

KVM(基于内核的虚拟机)让您可以将 Linux 变成一个虚拟机监控器,这样您就可以在同一个盒子中运行多个虚拟机。 最棒的是 KVM 是 Linux 的一部分,它是许多企业和家庭用户的首选。 如果您感到舒适,您可以安装 libvirtvirt-manager 来管理您的虚拟化平台。

Proxmox VE 是一种强大的、企业级的解决方案,也是一个完整的开源虚拟化和容器平台。 它基于 Debian,并使用 KVM 作为其虚拟机监控器,LXC 用于容器。 Proxmox 提供了一个强大的 Web 界面、一个 API,并且可以扩展到许多集群节点,这很有帮助,因为您永远不会知道您的实验室何时会耗尽容量。

oVirt (RHV) 是另一个使用 KVM 作为虚拟机监控器的企业级解决方案。 仅仅因为它是一个企业级解决方案并不意味着您不能在家里使用它。 oVirt 提供了一个强大的 Web 界面和一个 API,并且可以处理数百个节点(如果您运行了那么多服务器,我不想成为您的邻居!)。 oVirt 对于家庭实验室的潜在问题是它需要最少的一组节点:您需要一个外部存储,例如 NAS,以及至少两个额外的虚拟化节点(您可以在一个节点上运行它,但您会在环境维护中遇到问题)。

NAS 软件

FreeNAS 是最流行的开源 NAS 发行版,它基于坚如磐石的 FreeBSD 操作系统。 其最强大的功能之一是它使用了 ZFS 文件系统,该文件系统提供数据完整性检查、快照、复制和多个级别的冗余(镜像、条带化镜像和条带化)。 最重要的是,一切都通过强大且易于使用的 Web 界面进行管理。 在安装 FreeNAS 之前,请检查其硬件支持,因为它不如基于 Linux 的发行版那么广泛。

另一个流行的替代方案是基于 Linux 的 OpenMediaVault。 它的主要功能之一是它的模块化,插件可以扩展和添加功能。 其包含的功能包括基于 Web 的管理界面; 协议,如 CIFS、SFTP、NFS、iSCSI; 以及卷管理,包括软件 RAID、配额、访问控制列表 (ACL) 和共享管理。 因为它是基于 Linux 的,所以它具有广泛的硬件支持。

防火墙/路由器软件

pfSense 是一个开源的、企业级的、基于 FreeBSD 的路由器和防火墙发行版。 它可以直接安装在服务器上,甚至可以安装在虚拟机中(以管理您的虚拟或物理网络并节省空间)。 它具有许多功能,并且可以使用软件包进行扩展。 它完全使用 Web 界面进行管理,尽管它也具有命令行访问权限。 它具有您期望从路由器和防火墙获得的所有功能,例如 DHCP 和 DNS,以及更高级的功能,例如入侵检测 (IDS) 和入侵防御 (IPS) 系统。 您可以在不同的接口上或使用 VLAN 创建多个网络,并且只需点击几下即可创建一个安全的 VPN 服务器。 pfSense 使用 pf,pf 是一个有状态的数据包过滤器,它是为 OpenBSD 操作系统开发的,使用类似于 IPFilter 的语法。 许多公司和组织都在使用 pfSense。


考虑到所有这些信息,现在是您动手开始构建您的实验室的时候了。 在以后的文章中,我将深入探讨运行家庭实验室的第三个类别:使用自动化来部署和维护它。

标签
User profile image.
Michael Zamot 是一位开源爱好者,他的热情始于 2004 年,当时他发现了 Linux。 从那时起,他一直在使用各种开源项目,包括 Linux、OpenStack、OpenShift/Kubernetes 等等,并参与社区活动,通过教学、举办研讨会以及提供技术支持和指导。

4 条评论

我强烈建议您查看 https://xcp-ng.org/ 作为您的虚拟化服务器。 它是 Xen Server 的开源版本。 我在我的家庭实验室中使用它已经一年多了,运行着十几个或二十几个虚拟机(随着我的修改而变化),它一直很稳定。 并且它周围也有一个很棒的社区。

我还想推荐 https://ipfire.org 作为防火墙解决方案。 它是一个高度安全的定制 Linux 发行版,具有 IPSec 和 OpenVPN 功能,以及缓存更新(用于更新多个系统等)和更多功能。

在家庭实验室自动化方面,我过去曾在 Canonical 公司从事 Arm 平台支持工作。我有一个由 7 块 Arm 开发板组成的塔,每块板都有独立的 USB SSD,并且全部由一个从 486 电脑上拆下来的旧 150W 电源供电。 每块板通过一个串行继电器控制板和一个带有 8 端口串行 PCI 板的 mini-ITX Intel Atom 系统控制(1 个用于继电器,7 个用于串行控制台)。 所有事情都通过 Jenkins、bash 和 C 语言自动化完成(在我学习 Python 之前 - 要是我当时就知道我现在所知道的就好了)。我将它们设置为开机,从 USB 主机拉取自定义的 u-boot 加载器(所有系统都在连接到 Atom 的 USB 集线器上),这将启动 PXE 启动。这将指示系统运行一个网络安装内核,并使用 Jenkins 生成的预种子来根据需要进行镜像。 我认为我运行过的最困难的配置是自动化一个完整的 ceph 集群(1 个客户端、1 个控制器、5 个节点)安装。

我已经离开了那家公司,整个集群也被拆除了。一些 Arm 开发板被送给了朋友们用于项目,我仍然有 4 块。 请查看我的 blogspot 了解更多信息。

什么?没有提到使用树莓派? 我认为基于树莓派构建一个家庭实验室应该比建议的选项便宜很多,不是吗? 特别是考虑到最近发布的 https://k3s.com.cn/,它提供了轻量级的容器编排?

xcp-ng 的建议很不错(之前不知道这个)。
我也使用 IPfire,这是一个很棒的活跃项目。

我想推荐 https://www.xigmanas.com/ 作为 FreeNAS 的替代方案,并且 https://opnsense.org/ 是 pfsense 的一个很棒的(更好的?)替代方案。

Creative Commons License本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.