改造家庭网络,这不是第一次,但肯定是迄今为止花销最大的一次。

首先要明确自己的改造目标:

  1. 设备易于安装、管理、维护 (可远程管理)
  2. 设备需要稳定可靠
  3. 带机量需要足量 (考虑可能会后续部署IoT)
  4. 设备功能齐全 (威胁管理、防火墙、生成树、vlan、Muti-SSID)

在网上搜寻了一番,主流的解决方案有3种。首先是家用AC+AP方案,这些设备功能不齐全、且大多不能保证多设备(150+)连入的稳定性;其次就是OpenWRT + 虚拟机软AC + AP的方案,这种方案确实经济实惠、功能齐全,但是设备不易于安装和维护,在某些情况下还不稳定(到断网的那种);最后一种方案是企业级AC+AP方案,这些设备大多比较昂贵,但稳定可靠、功能齐全,不过大多都不易于维护,需要很高的学习成本。最终决定选择第三种方案。

常见提供企业级AC+AP方案的品牌有TP-Link、新华三H3C、华为、锐捷、优倍快UBNT、ARUBA、思科CISCO。考虑到自己的预算和目标,最终决定使用优倍快UBNT的产品试个水。

旧方案

old_topology

▲ 简化版拓扑图

旧方案使用了OpenWRT作为主路由,3个TP-Link路由器使用有线回传充当AP,确保了家中信号覆盖无死角。此外,在主路由下额外接了一个小米路由器,供IoT设备联网使用。

在这几年的使用中,整套系统还算稳定,不过还是有以下问题:

  • 一个路由器负责全家的IoT设备,导致有很多信号盲区,造成IoT设备连接不稳定。
  • OpenWRT有时候会有奇怪的Bug,导致全家断网

新方案

new_topology

▲ 简化版拓扑图

新方案使用了UniFi Dream Router作为主路由,并连接了一个U6-Lite AP放在房间增强信号。原来装OpenWRT作为主路由的小主机,先安装了PVE虚拟机系统作为底层,OpenWRT作为一个虚拟机在PVE中运行,不过该虚拟机设置了网口直通至eth1 (后来发现不设置也能用),PVE内还安装了一个Win10 LTSC虚拟机。

由于PVE本身就是个Linux系统。为了减少损耗,Docker是直接跑在PVE的Linux系统里的。安装Docker的目的是为了运行Jellyfin媒体影音服务器,以读取NAS里的视频资源。

设备是05月09日到货的,原计划一个星期内搞定,没想到陆陆续续折腾了一个月才完工。哎~

现在给大家详细讲解一下这整套方案。

UniFi (UBNT)

UniFi 作为整次升级的重头戏,目前是家里的主路由。负责提供DHCP服务、Vlan划分、Muti-SSID。

ubnt-console01

▲ UniFi Console

不得不承认,他们家UI/UX确实在一众路由器厂商中脱颖而出,很好看也很直观。(除了有不少Bug~)

ubnt-console02

▲ UniFi Console - Muti-SSID

为了解决IoT设备的连接问题,我创建了多个SSID并将它们划分到了不同的网段内,易于管理。

目前定义了以下三种网段:

  • 192.168.100.0/24 主网段,家里所有物理网口的默认网段,开启强制WPA3为确保设备安全

    • 默认网关: 192.168.100.5
    • 默认DNS: 192.168.100.5
    • 加密方式: WPA3
  • 192.168.101.0/24 IoT网段,用于连接家里所有的IoT设备

    • 默认网关: 192.168.101.1
    • 默认DNS: 192.168.101.1
    • 加密方式: WPA2
  • 192.168.102.0/24 访客网段,用于访客连接

    • 默认网关: 192.168.102.1
    • 默认DNS: 192.168.102.1
    • 加密方式: WPA2/WPA3

PVE

pve01

▲ PVE虚拟机管理后台

OpenWRT

OpenWRT目前连入了主网段,并分配了一个静态IP: 192.168.100.5。担任全家网络中旁路由的作用,用于实现一些更为高级的功能。

当然,这么做也是有弊端的。如果它出现故障,那么整个主网段通过DHCP连入的设备都会断网,解决方法是将DHCP中默认分配的网关和DNS改为默认配置。因此,即使出现故障,也不会造成长时间断网,提高了网络整体的稳定性。

TrueNAS

truenas01

TrueNAS主要为内网提供存储服务,由于之前几个风扇太吵,这次维护换了几个更安静的风扇,顺便更换了硅脂。

总结

这次网络升级看起来让整个内网系统更加复杂,实际上提高了整体的可靠性。UniFi到目前已经用了一个多用了,虽然UI有不少小毛病,但是整体WIFI质量非常稳定,起码家里目前连接的接近20台IoT设备没有出现过掉线的情况。最近的3.0.17系统也支持了中文,好评!只不过感觉翻译地有些奇怪,所以又改回英文了。

文章目录