3202年了,网络已经成为了人们离不开的东西之一,而正确的上网姿势,能够使人身心愉悦(,因此家庭的网络结构、硬件选择、走线就显得很重要了,毕竟,办了百兆以上的宽带还在用百兆都跑不满的垃圾路由器的用户比比皆是,网速慢体验不好不说,宽带钱也白交了。这里博主分享一下自己的家庭组网方案经验,希望能帮到有需要的人。

本文仅供参考,请根据自身的条件和需求选择合适的硬件设备,切勿创造需求

首先贴出我家的网络拓扑图:

关于其中一些令人迷惑的细节,之后会有讲解,这里先不提。

何为All in one?如何搭建?

顾名思义,all in one指的就是一台主机包揽多项工作,比如软路由、NAS、服务器等。
而要实现这些,需要关注机器的三项指标:

1、网口数量、网口速率、网卡型号:
因为要实现软路由的功能,因此机器至少要有2个网口(一进一出,很好理解吧),如果还有多拨、链路聚合之类的需求,则需要更多网口。如果家庭宽带速率为1000M及以上的话(办的起千兆以上的宽带的富哥应该也不会看我这个文章吧……),则需要网口的速率至少为2.5G,普通的千兆网卡因为物理极限实际上是跑不满千兆的,一般在950M左右。而网卡型号则和all in one虚拟化平台的选择有关。

2、CPU、内存、硬盘
因为all in one主机需要同时运行多个客户机系统,因此需要关注下需要消耗多少CPU资源还有内存,盲目堆核也不可以,因为7x24运行的主机功耗表现也很重要。如果有NAS的用途,还需要考虑购置能够7x24稳定的硬盘。除此之外,CPU型号还影响着虚拟化平台的选择。

3、虚拟化平台的选择
要实现一台机器同时运行多个客户机系统,我们需要一种软件,或者系统,能够将硬件虚拟化为资源统一分配给不同的系统,目前用作all in one的虚拟化平台主要有这三种:
3.1、VMware ESXi
VMwareWorkstation相信大家应该都不陌生,而ESXi是直接装在主机的一个操作系统,专为运行虚拟机设计,虽然说是基于Linux内核但魔改程度比较高,已经把Linux的代码扔的差不多了,几乎没有什么可折腾的地方,但操作简便,硬件利用率高,而且很稳定。最致命的缺点是兼容性很差,对硬件要求较多(主要体现在网卡上),如果你的网卡是螃蟹卡(Realtek),那就只能使用6.7及以下的版本,如果用intel 12代大小核的CPU安装ESXi,还容易出现紫屏的问题无法安装。
3.2、Proxmox Virtual Environment(PVE)
是基于Debian的Linux系统,虚拟机内核为KVM。硬件兼容性优秀,几乎是台电脑就能装。界面功能不强,很多操作要靠命令行,硬件利用率稍逊ESXi但差不了多少,扩展能力几乎是无限的(毕竟是Linux),如果你是非常爱折腾的资深Linux用户,并且不在意稍微差一点点的稳定性,那么pve是你最好的选择。
3.3、WindowsServer的Hyper-V虚拟机和unRaid
前者是直接在主机上安装WindowsServer,然后启用Hyper-V功能,再安装自己需要的虚拟机,熟悉Windows操作的用户很容易上手,不过Windows的硬件利用率……至于unraid,就是个基于Linux的nas系统,虚拟机内核也是KVM,磁盘阵列管理非常有特色,灵活性很高。同时还有很不错的插件、Docker和虚拟机支持。

了解了这些基本的常识,下面我就把我的机器的配置贴出来:
虚拟化平台:ESXi 6.7
主板:华南X99-CH8
CPU: E5 2680v4 2.4G 14c28t
内存: DDR4 2666 8Gx4 32G
硬盘:用于安装ESXi和存放虚拟机:英睿达MX550 1TB
直通给黑群晖的4T西数紫盘
网卡:4口8125BG 2.5G网卡,直通给ikuai
另外还有一块直通给Windows10的tesla p4,用于跑stable diffusion和waifu2x

选择ESXi是因为安装操作上比较简便和小白,运行稳定,而且网络上有大量的教程文档,出了问题很容易自己解决。
主板选择华南是因为3年质保,他质量再怎么差,至少坏了有人找(
CPU和内存的选择,因为我要同时挂ikuai、openwrt、黑群晖、Windows 10、Ubuntu22.04的虚拟机,因此就选了个核比较多的,D3的内存放到现在也有点太老了,因此选的2680v4
网卡方面,其实2.5G这种上不去下不来的速度挺尴尬的……但对于目前的我来说已经能够满足需求(切记不要创造需求),网上也有封装好8125BG驱动的ESXi完美镜像,教程较多。

安装过程不做赘述,如果有需要可以自行在视频网站搜索“all in one主机”,有很多的安装教程,包括镜像的分享。

值得注意的是,安装时需要用网线直接连接电脑和主机,ip手动获取和主机在同一网段。安装完ikuai并配置后,主机内部有了dhcp功能,即可将ip改为自动获取。

软路由配置

前文提到,我为ikuai直通了4个网口(eth1-4),eth0是esxi内部的虚拟网卡。
因为光猫的网口全是千兆的,想要外网网速突破千兆,从而白嫖冗余的带宽,则需要多线负载均衡。(如果你的光猫为桥接模式,则需要多拨)
因此我将eth1、2分配为wan1、wan2,eth3分配为lan1,并绑定其余接口(eth0、4)

将wan1、wan2连接至光猫,lan1连接至主卧的交换机。
进入进入流控分流→分流设置→多线负载,点击右上角的添加,按图所示配置并保存启用。

这样负载均衡就配置好了,打开测速软件测试一下速度:

可以看到网速已经突破1000M了。
其实光猫改为桥接模式用多拨可能会更好一些,但我这里的光猫密码已经是随机了,我也懒得致电客服battle,就这样了(

OpenWRT旁路由的配置:

因为博主比较依赖openwrt上较多的科学插件,因此又额外装了个openwrt作为旁路由,如果你没有这个需求,可以忽略这个步骤。
网络→接口→LAN→点击修改,将ipv4网关设置为ikuai的地址

ikuai中将DHCP网关设置为openwrt的地址

这样旁路由就配置完成了,但这样没有办法使用ipv6上网,因此接下来我们还需要配置下ipv6:
openwrt需要新建接口配置防火墙等操作较为繁琐,因此这里可以直接看这个视频操作:https://www.bilibili.com/video/BV1fg411T7sb

ikuai那边的设置如图所示:

其中外网的地址均为自动获取,内网配置中的首选备选DNS全部填openwrt的ipv6地址
配置完成后测试下ipv6是否正常:

注意:如果你启用了科学插件,请检查是否启用了类似“允许IPv6类型DNS解析”的选项,否则不管你怎么配置,ipv6都是通不了的(你猜我为什么知道这个)(悲)

宏观的组网方案

All in one主机内部的网络配置好后,就可以着手整个家庭的网络布局了
我家分为东北西南两个卧室,在房间的最两边,光猫在客厅,分布较远,只用一个路由器是不可能覆盖全信号的。

因此在主次卧各放置一路由器,使用有线AP Mesh组网实现全屋WiFi漫游。(有线APMesh即主路由为有线中继模式,Mesh路由以有线方式与主路由连接至同一网络)
注意:为了尽量减少NAT转换带来的网络性能下降,因此应尽量让接入aio主机的路由器处于有线中继AP模式。这样全屋的网络负载都来到了软路由上,要事先保证分配给ikuai和openwrt的硬件资源充足。

再结合文章开头的网络拓扑图,是不是就很清晰明了(


逸一时,误一世