如何從硬件到防火墻建立一個(gè)家庭實(shí)驗(yàn)室
了解一下用于構(gòu)建自己的家庭實(shí)驗(yàn)室的硬件和軟件方案。
你有想過創(chuàng)建一個(gè)家庭實(shí)驗(yàn)室嗎?或許你想嘗試不同的技術(shù),構(gòu)建開發(fā)環(huán)境、亦或是建立自己的私有云。擁有一個(gè)家庭實(shí)驗(yàn)室的理由很多,本教程旨在使入門變得更容易。
規(guī)劃家庭實(shí)驗(yàn)室時(shí),需要考慮三方面:硬件、軟件和維護(hù)。我們將在這里查看前兩方面,并在以后的文章中講述如何節(jié)省維護(hù)計(jì)算機(jī)實(shí)驗(yàn)室的時(shí)間。
硬件
在考慮硬件需求時(shí),首先要考慮如何使用實(shí)驗(yàn)室以及你的預(yù)算、噪聲、空間和電力使用情況。
如果購買新硬件過于昂貴,請搜索當(dāng)?shù)氐拇髮W(xué)、廣告以及諸如 eBay 或 Craigslist 之類的網(wǎng)站,能獲取二手服務(wù)器的地方。它們通常很便宜,并且服務(wù)器級的硬件可以使用很多年。你將需要三類硬件:虛擬化服務(wù)器、存儲(chǔ)設(shè)備和路由器/防火墻。
虛擬化服務(wù)器
一個(gè)虛擬化服務(wù)器允許你去運(yùn)行多個(gè)共享物理機(jī)資源的虛擬機(jī),同時(shí)最大化利用和隔離資源。如果你弄壞了一臺(tái)虛擬機(jī),無需重建整個(gè)服務(wù)器,只需虛擬一個(gè)好了。如果你想進(jìn)行測試或嘗試某些操作而不損壞整個(gè)系統(tǒng),僅需要新建一個(gè)虛擬機(jī)來運(yùn)行即可。
在虛擬服務(wù)器中,需考慮兩個(gè)最重要的因素是 CPU 的核心數(shù)及其運(yùn)行速度以及內(nèi)存容量。如果沒有足夠的資源夠全部虛擬機(jī)共享,那么它們將被過度分配并試著獲取其他虛擬機(jī)的 CPU 的周期和內(nèi)存。
因此,考慮一個(gè)多核 CPU 的平臺(tái)。你要確保 CPU 支持虛擬化指令(因特爾的 VT-x 指令集和 AMD 的 AMD-V 指令集)。能夠處理虛擬化的優(yōu)質(zhì)的消費(fèi)級處理器有因特爾的 i5 或 i7 和 AMD 的 Ryzen 處理器。如果你考慮服務(wù)器級的硬件,那么因特爾的志強(qiáng)系列和 AMD 的 EPYC 都是不錯(cuò)的選擇。內(nèi)存可能很昂貴,尤其是最近的 DDR4 內(nèi)存。當(dāng)我們估計(jì)所需多少內(nèi)存時(shí),請為主機(jī)操作系統(tǒng)的內(nèi)存至少分配 2 GB 的空間。
如果你擔(dān)心電費(fèi)或噪聲,則諸如因特爾 NUC 設(shè)備之類的解決方案雖然外形小巧、功耗低、噪音低,但是卻以犧牲可擴(kuò)展性為代價(jià)。
NAS
如果希望裝有硬盤驅(qū)動(dòng)器的計(jì)算機(jī)存儲(chǔ)你的所有個(gè)人數(shù)據(jù),電影,圖片等,并為虛擬化服務(wù)器提供存儲(chǔ),則需要網(wǎng)絡(luò)附加存儲(chǔ)(NAS)。
在大多數(shù)情況下,你不太可能需要一顆強(qiáng)力的 CPU。實(shí)際上,許多商業(yè) NAS 的解決方案使用低功耗的 ARM CPU。支持多個(gè) SATA 硬盤的主板是必須的。如果你的主板沒有足夠的端口,請使用主機(jī)總線適配器(HBA)SAS 控制器添加額外的端口。
網(wǎng)絡(luò)性能對于 NAS 來說是至關(guān)重要的,因此最好選擇千兆網(wǎng)絡(luò)(或更快網(wǎng)絡(luò))。
內(nèi)存需求根據(jù)你的文件系統(tǒng)而有所不同。ZFS 是 NAS 上最受歡迎的文件系統(tǒng)之一,你需要更多內(nèi)存才能使用諸如緩存或重復(fù)數(shù)據(jù)刪除之類的功能。糾錯(cuò)碼(ECC)的內(nèi)存是防止數(shù)據(jù)損壞的最佳選擇(但在購買前請確保你的主板支持)。最后但同樣重要的,不要忘記使用不間斷電源(UPS),因?yàn)閿嚯娍赡軙?huì)使得數(shù)據(jù)出錯(cuò)。
防火墻和路由器
你是否曾意識(shí)到,廉價(jià)的路由器/防火墻通常是保護(hù)你的家庭網(wǎng)絡(luò)不受外部環(huán)境影響的主要部分?這些路由器很少及時(shí)收到安全更新(如果有的話)。現(xiàn)在害怕了嗎?好吧,確實(shí)!
通常,你不需要一顆強(qiáng)大的 CPU 或是大量內(nèi)存來構(gòu)建你自己的路由器/防火墻,除非你需要高吞吐率或是執(zhí)行 CPU 密集型任務(wù),像是虛擬私有網(wǎng)絡(luò)服務(wù)器或是流量過濾。在這種情況下,你將需要一個(gè)支持 AES-NI 的多核 CPU。
你可能想要至少 2 個(gè)千兆或更快的以太網(wǎng)卡(NIC),這不是必需的,但我推薦使用一個(gè)管理型交換機(jī)來連接你自己的裝配的路由器,以創(chuàng)建 VLAN 來進(jìn)一步隔離和保護(hù)你的網(wǎng)絡(luò)。
Home computer lab PfSense
軟件
在選擇完你的虛擬化服務(wù)器、NAS 和防火墻/路由器后,下一步是探索不同的操作系統(tǒng)和軟件,以最大程度地發(fā)揮其作用。盡管你可以使用 CentOS、Debian或 Ubuntu 之類的常規(guī) Linux 發(fā)行版,但是與以下軟件相比,它們通常花費(fèi)更多的時(shí)間進(jìn)行配置和管理。
虛擬化軟件
KVM(基于內(nèi)核的虛擬機(jī))使你可以將 Linux 變成虛擬機(jī)監(jiān)控程序,以便可以在同一臺(tái)機(jī)器中運(yùn)行多個(gè)虛擬機(jī)。最好的是,KVM 作為 Linux 的一部分,它是許多企業(yè)和家庭用戶的首選。如果你愿意,可以安裝 libvirt 和 virt-manager 來管理你的虛擬化平臺(tái)。
Proxmox VE 是一個(gè)強(qiáng)大的企業(yè)級解決方案,并且是一個(gè)完全開源的虛擬化和容器平臺(tái)。它基于 Debian,使用 KVM 作為其虛擬機(jī)管理程序,并使用 LXC 作為容器。Proxmox 提供了強(qiáng)大的網(wǎng)頁界面、API,并且可以擴(kuò)展到許多群集節(jié)點(diǎn),這很有用,因?yàn)槟阌肋h(yuǎn)不知道何時(shí)實(shí)驗(yàn)室容量不足。
oVirt(RHV)是另一種使用 KVM 作為虛擬機(jī)管理程序的企業(yè)級解決方案。不要因?yàn)樗瞧髽I(yè)級的,就意味著你不能在家中使用它。oVirt 提供了強(qiáng)大的網(wǎng)頁界面和 API,并且可以處理數(shù)百個(gè)節(jié)點(diǎn)(如果你運(yùn)行那么多服務(wù)器,我可不想成為你的鄰居!)。oVirt 用于家庭實(shí)驗(yàn)室的潛在問題是它需要一套最低限度的節(jié)點(diǎn):你將需要一個(gè)外部存儲(chǔ)(例如 NAS)和至少兩個(gè)其他虛擬化節(jié)點(diǎn)(你可以只在一個(gè)節(jié)點(diǎn)上運(yùn)行,但你會(huì)遇到環(huán)境維護(hù)方面的問題)。
網(wǎng)絡(luò)附加存儲(chǔ)軟件
FreeNAS 是最受歡迎的開源 NAS 發(fā)行版,它基于穩(wěn)定的 FreeBSD 操作系統(tǒng)。它最強(qiáng)大的功能之一是支持 ZFS 文件系統(tǒng),該文件系統(tǒng)提供了數(shù)據(jù)完整性檢查、快照、復(fù)制和多個(gè)級別的冗余(鏡像、條帶化鏡像和條帶化)。最重要的是,所有功能都通過功能強(qiáng)大且易于使用的網(wǎng)頁界面進(jìn)行管理。在安裝 FreeNAS 之前,請檢查硬件是否支持,因?yàn)樗蝗缁?Linux 的發(fā)行版那么廣泛。
另一個(gè)流行的替代方法是基于 Linux 的 OpenMediaVault。它的主要功能之一是模塊化,帶有可擴(kuò)展和添加特性的插件。它包括的功能包括基于網(wǎng)頁管理界面,CIFS、SFTP、NFS、iSCSI 等協(xié)議,以及卷管理,包括軟件 RAID、資源配額,訪問控制列表(ACL)和共享管理。由于它是基于 Linux 的,因此其具有廣泛的硬件支持。
防火墻/路由器軟件
pfSense 是基于 FreeBSD 的開源企業(yè)級路由器和防火墻發(fā)行版。它可以直接安裝在服務(wù)器上,甚至可以安裝在虛擬機(jī)中(以管理虛擬或物理網(wǎng)絡(luò)并節(jié)省空間)。它有許多功能,可以使用軟件包進(jìn)行擴(kuò)展。盡管它也有命令行訪問權(quán)限,但也可以完全使用網(wǎng)頁界面對其進(jìn)行管理。它具有你所希望路由器和防火墻提供的所有功能,例如 DHCP 和 DNS,以及更高級的功能,例如入侵檢測(IDS)和入侵防御(IPS)系統(tǒng)。你可以偵聽多個(gè)不同接口或使用 VLAN 的網(wǎng)絡(luò),并且只需鼠標(biāo)點(diǎn)擊幾下即可創(chuàng)建安全的服務(wù)器。pfSense 使用 pf,這是一種有狀態(tài)的數(shù)據(jù)包篩選器,它是為 OpenBSD 操作系統(tǒng)開發(fā)的,使用類似 IPFilter 的語法。許多公司和組織都有使用 pfSense。
考慮到所有的信息,是時(shí)候動(dòng)手開始建立你的實(shí)驗(yàn)室了。在之后的文章中,我將介紹運(yùn)行家庭實(shí)驗(yàn)室的第三方面:自動(dòng)化進(jìn)行部署和維護(hù)。