前言
最近刚入手了一台极空间 Z4Pro 性能版,这玩意有 16G 和 8 核 CPU,想着只是拿来跑 NAS 就有点太浪费了,于是准备动手部署很久之前就想折腾的软路由,但是最终评估后还是临时选择了旁路由的方案 (为什么说临时,因为我后面没忍住又下单了一台 R4S 搞软路由。。。)
软路由
本来是打算搞个虚拟机部署,但是后面了解了下发现风险还是有点高,问题出在成品 NAS 的更新频率普遍较高,以极空间举例:几乎每个月都有更新 (并且需要重启机器),遇到小更新时可能 5 分钟就搞定了,要是来个大更新,更个 10 分钟也不是啥稀奇的事。
因为软路由充当了网关的角色,在 NAS 上部署软路由就相当于把所有设备挂到这台虚拟机上,而虚拟机又是运行在 NAS 上,一旦 NAS 关机重启或者出故障,内网所有设备全部断网,连内网都无法访问,当然此时也可以拔掉软路由直接用硬路由接管,但切换灵活性上就很低了。
网络拓扑图如下
此方案要求机器必须有
双网口,优点是网络结构简洁统一,且不会增加网络 NAT,缺点是对稳定性要求很高,需要保证长期稳定不掉线。
旁路由
了解到除了软路由外,还有一种旁路由的部署方案,这种方案也是部署一台虚拟机,只不过这次是挂载在硬路由下,由硬路由担任外网网关,内网设备需要访问时只需要把网关指向旁路由,经过处理后再将数据包发给硬路由访问外网,拓扑图如下
此方案机器无需双网口,单网口也可部署成单臂路由,优点是不改变现有网络拓扑,即使宕机也只影响指向旁路由的设备 (手动分配一下网关和 IP 也能恢复网络),其他设备上网完全不受影响。缺点是可能需要手动设置一次需要接入旁路由设备的网关,且部分品牌的路由可能需要额外增加一层 NAT 才能正常使用。
部署前准备
修改极空间网口模式
打开极空间的设置-》 网络设置,把双网口设置成网桥模式 (适用于软路由)模式,这样就可以让虚拟机绑定到任意网口上了,且此模式只要从机器上链接一条网线到路由器即可,虚拟机和主系统可以共用一个网口。
下载 iStoreOS 镜像
这里用的系统是 iStoreOS,图形化支持的非常到位,很适合新人上手,不怎么折腾。
首先去官方项目地址下载 iStoreOS 的镜像文件,国内网络环境更推荐去酷友社的服务器下载,版本选择 x86_efi 即可,下完上传到 NAS 中
正式部署
创建虚拟机
进入极空间的虚拟机功能,点击左上方添加-》 新建虚拟机
然后选择使用虚拟硬盘安装
配置页填写虚拟机名称,选择之前上传的 istoreOS 镜像,固件选择 Legacy BIOS,虚拟机框架选择 q35,这里不要选择 UEFI,否则可能会导致安装失败。视频设备和 SR-IOV 保持默认即可,不跑视频编解码的话这些不太重要,远程端口是用来 VNC 访问的,非后台端口,随便分一个没被占用的就好。
配置这里,其实跑 OpenClash、去 AD、zerotier 这些常见的服务分个 1C1G 就够用了,这里的 CPU 是与主系统共享的所以可以分 2C 留点冗余,但内存一旦分配就是固定占用了,如果资源紧张分配 1G 就可以了,我这里资源相对宽裕所以先分了 2G,填好配置后点击下一步。
硬盘这里,建议放到 SSD 上运行,空间取决于你的需求和资源,一般来说 8G 就够用了,16G 就已经非常宽裕了,填好后继续点击下一步
网络配置模式选择 bridge 桥接模式,物理网口选择网口 1 即可 (确保网口 1 连接到路由器上了),点击创建后虚拟机就创建好了
初始化 iStoreOS
创建好虚拟机后就可以通过 VNC 链接虚拟机了,等待系统初始化完毕,看到 iStoreOS is ready 字样就说明安装成功了,此时按回车就会看到 root 用户了。
此时可能还无法通过 IP 访问 istoreOS 后台,需要手动设置一下 IP 和子网掩码。
设置起来也很简单,直接输入 quickstart 指令,然后按照提示输入你想要的 IP 即可,这里的网段需要与路由器保持一致,子网掩码都填 255.255.255.0 的情况下,IP 倒数第二位和路由器 IP 保持一致就是同个网段了。
设置好 IP 后会弹出选项,此时可以用小键盘上下控制,选择 1-Change LAN IP 后会提示设置成功,再选择 q-QUIT 退出即可
退出 IP 设置后输入 service network restart 重启网络服务
此时输入你设置的 IP 就能访问 iostreOS 后台啦!默认用户名是 root,密码是 password,输入后就能登进后台了
配置旁路由
左侧菜单点击 网络向导-》 配置为旁路由
在这里填写你前面配置的 IP 和子网掩码,其中网关需要走主路由,填主路由的后台 IP 地址即可,DNS 服务器也可以填主路由网关,也可以用公共 DNS,比如这里就是填的 223.5.5
这里的 DHCPv4 和 DHCPv6 建议都不开,统一走主路由分配,这样的好处是旁路由挂掉后可以进主路由后台迅速接管,切换灵活性会更高一些,当然会牺牲一些配置成本,需要去主路由后台手动为设备指定网关才能把流量导向旁路由 (设备端手动设置也可)。
进入主路由后台配置,这里建议保持主路由 DHCP 开启,默认网关也建议保留主路由的地址,仅在静态地址分配里手动指定设备走旁路由,旁路由宕机后删掉配置在设备重新连接网络后就能恢复了,非常方便。
当然,也可以把默认网关就指向旁路由,然后给不需要走旁路由的设备分配静态地址让其固定走主路由网关,这样后续新连接的设备默认就是走旁路由了,省下一些配置成本。
我这里用的路由器是中兴,不同品牌的设置思路大差不差,小米和华为的路由器可能需要额外配置一层 NAT 转换才行,这个就不太清楚了。
我把 PC 指向了旁路由,禁用以太网重新连接一下就能生效,这里可以验证一下旁路由是否运行正常,在 cmd 中分别 ping 一下主路由的网关和旁路由的网关,都能 ping 通说明配置无误。
此时旁路由就正式部署成功了,后续可以继续搭建各种插件和服务来达成不同的需求,不过建议折腾期间只让少部分设备走旁路由,等状态稳定后再扩大范围,避免搞崩后大面积断网。
部署 OpenClash
(未完待续。。。)