家庭网络改造项目Restart——NAS、Router、AC配置

这个项目从三年前就已经开始实施,可惜时间紧迫,学业繁忙,愣是没有抽出空隙来完成。现在,最重的负担已经被卸下,是时候一展身手了。当然,技术水平会有倒退,请大家不吝赐教。

硬件配置介绍

本次使用的Server一体机依旧是C236 WSI主板和Intel E3-1235L V5,搭配4口千兆网卡BCM5709C(为啥用这个?因为这个是白嫖的),还有8盘位NAS机箱,使用SFP反向线连接主板上的8个SATA接口。系统盘使用USB3.0的移动固态硬盘,小巧方便,接到主板直插USB上,不外露。

事后发现BCM5709C不支持SR-IOV单根虚拟化,性能有些限制。

主板和PCI-E网卡一共6个Ethernet接口,设置其中5个给软路由,剩下一个给服务器应急管理使用。

具体的拓补图:

批注 2020-09-08 091040.png

软件配置介绍

预置Windows Server 2019 Datacenter (Windows To Go安装在移动硬盘上),防止占用SATA接口的机械硬盘。

以Windows作为宿主系统来提供Samba服务实现网络共享,下置Koolshare作为软路由系统。如有必要,可增加OpenMediaVault系统,然后直通硬盘来提供NAS服务。

Hyper-V和Koolshare配置

  1. 首先创建虚拟机,使用Starwind V2V Converter转换从Koolshare上下载的虚拟机转盘专用映像为VHDX格式。这里尽量使用非UEFI的映像(创建第一代虚拟机),原因未知。
  2. 创建虚拟交换机,分别创建LAN、WAN口。添加后类型选择外部,取消勾选允许管理操作系统共享此网络适配器,然后点击适配器名称前的+号,根据情况,选择是否打开SR-IOV单根虚拟化(可以提升性能,但是需要硬件支持)。如有必要,LAN和WAN都可以创建多个。注意需要创建一个类型为内部的虚拟网卡来作为专用LAN,这个LAN仅用于虚拟机和宿主机的通信,否则就需要外置网线来连接为宿主机预留的网口和虚拟机的LAN口了。不仅性能会有损失(内部的10Gbps降为1Gbps的速度),且稳定性不如内部
  3. 修改虚拟机的配置信息。首先调整内存大小和CPU/内核数量,按实际情况而定,我测试1核(Intel E3-1235L V5 @ 2.00Ghz)可以承受NAT约200Mbps的带宽。
  4. (可选)调整虚拟硬盘大小。点击调整,一般扩展到1GB左右就足够Koolshare使用了。注意调整后需要进一步创建调整分区大小才能真正使用到。
  5. 添加刚才创建的虚拟交换机到系统。注意根据之前的设置勾选SR-IOV单根虚拟化,并且选择MAC地址欺骗。如有必要,可设置静态MAC。添加网卡的顺序为:专用LAN->LAN->WAN。也就是说,需要用来访问Koolshare的端口一定要第一个添加(LAN)。
  6. 然后将所有LAN接口都使用网线与设备连接,防止第一次进入系统检测不到其它网口。
  7. 开启虚拟机电源。
  8. 等待2~3分钟之后打开浏览器,访问192.168.1.1,进入路由器的Luci界面。
  9. 输入默认用户名root和密码koolshare
  10. 然后立即到网络选项卡下的接口,将IP更改为需要的IP段,如有必要更改子网掩码。
  11. 更改网卡IP(可以重启网卡或者手动修改IP地址),使设置的电脑和路由在一个IP段下,以便下一步操作。
  12. 更改WAN的类型为DHCP客户端或者PPPoE,并填写相关设置。
  13. 保存配置并退出。
  14. (可选)连接到互联网之后,可以下载酷软商店里的软件使用,例如NAT加速魔改BBR内核等等。有些软件不会在官方商店提供,可以自己下载安装。

AC&AP设置

(过几天更新)
AC+AP配置过于复杂(主要是VLAN的划分上),所以等到我摸索清楚再分享吧。

Q&A

Q1: 为何使用Hyper-V,而不是使用性能更好的KVM虚拟环境如ESXI和PVE呢?
A1: 在通过仔细斟酌和可行性试验后,我认为Hyper-V配置对我来说较为熟悉,并且Windows系统的兼容性稍好,且可以充分利用USB移动硬盘的空间。如果使用Linux,虚拟机存储地址就会很难指定在系统盘,从而造成磁盘空间浪费。再者,Linux维护并没有Windows熟悉和好用(GUI)。当然这只是我个人的运维偏好,如果你喜欢Linux那就大胆使用吧,Linux平台的支持文档更多,可玩性更高,还支持ZFS等特性。

Q2: 为什么需要另外创建一个专用LAN来和宿主机通信,而不是选择允许管理操作系统共享此网络适配器呢?
A2: 这个问题我查了很多资料。该选项如果开启,那么就会在宿主机创建一个虚拟网卡,用来和虚拟机通信。该选项若在WAN启用,会将宿主机暴露在WAN的环境下,如果WAN是因特网,那么宿主机就不安全。该选项若在LAN启用,可能会导致宿主机和外接网卡的配置冲突。当然勾选此选项后可以使用VLAN ID来分离LAN的物理端口的流量和宿主机的流量,但是没必要这么麻烦(这样进入Koolshare的Luci就比较困难,并且还要修改VLAN设置来做到分离),创建另外的网卡省去了很多麻烦。

存在的问题

  1. 使用的BCM5709C无法使用SR-IOV单根虚拟化(在虚拟交换机状态里面显示降级),原因应该是不支持。
  2. AC设置时无法理解多SSID时的VLAN设置,亦可能是TP-Link的802.1Q协议不规范,于是放弃了VLAN的使用。
本文距离最后一次更新已超过180天,部分内容可能会随着时间的推移变更或失效。

相关文章

此处无声胜有声