软路由
为了进一步发挥 NAS 的作用,我决定在它上面部署一个软路由。因为软路由可以更好地管理流量,部署科学上网,特别是在主路由小米 AC2100 MT7621
方案性能有限的情况下,x86 架构的软路由能够进行的加解密运算能力远远超过主路由。我的 NAS 只有板载千兆单网口,实现起来没有多网口路由器那么优雅,好在还是能够用单臂路由的方法实现软路由。
网络拓扑规划
设备一览
在规划网络之前,需要先清点一下我有哪些设备,这些设备分别有哪些上网的需求。
路由器,我有
- 一台联通的光猫
- 一台小米 AC2100
- 一台小米 R3
- 一台老旧的小米 3C(大概就不用了)
终端设备我有
- 若干 PC
- 若干手机
IoT 设备我有
- 遍布房间的传感器
- 智能插座
- 开关
因此,我打算将光猫作为拨号终端;小米 AC2100 作为主路由,保留小米原有系统(后来我把它刷成 OpenWRT 了);小米 R3 无线桥接 AC2100,作为 IoT 的接入点(因为位置的原因,AC 2100 摆放在光猫边上,2.4G 没有办法很好地覆盖整个屋子,所以要用 R3 中继)。光猫的无线功能关闭,避免影响其他网络的速度。
拓扑规划
NAS 使用网线连接小米 AC2100。UNRAID 系统通过网桥(一般为 br0)让虚拟机和 Docker 上网,可以理解为一个二层交换机。我简单做个一个拓扑图,解释我打算规划的拓扑结构。
我的规划如图,光猫负责拨号,小米 AC2100 作为主路由处理流量,R3 通过无线中继服务 IoT 设备,NAS 虚拟化各种服务和软路由提供功能。其中,主路由的 IP 地址为 192.168.31.1,软路由的 IP 地址为 192.168.31.2。为了让所有流量在转发至公网时经过软路由处理,由 AC2100、R3 所有通过 AP 接入的设备和有线接入的设备都要以 192.168.31.2(软路由) 作为网关,而软路由要以 192.168.31.1(主路由) 作为网关。为了实现这个功能,整个 LAN 中只能由软路由一个 DHCP 服务端。即,让新加入的设备自动以软路由作为网关。