家庭网络改造记录:旁路由

缘由

今年夏天的高温天气都快结束了,但家里的网络却越发卡顿。终于在一个工作日的晚上,我把光猫和 J1900 软路由都拔电重启了一下。重启后发现,软路由再也不肯工作,家里就上不了网了。一番操作之后,确认了是软路由罢工。好在几年前淘汰下来的华硕 AC66U 还没有扔掉,于是接上去替代了软路由顶过了一天。

改造过程

我家里的网络布局是光猫拨号,接 J1900 软路由作为主路由,下面连接了 4 个组建了 Mesh 网络的 Linksys 路由器(开启桥接模式)作为无线 AP。软路由作为主路由的设置是最方便的,毕竟智能音箱的联网和 Apple TV 看油管都需要走外网。但软路由作为主路由也有不合理的地方,因为大多数设备都不需要联外网。30 多个设备都通过软路由走一遍,看起来不是经济的选择。J1900 这样的 x86 软路由发热量比较大,在夏天稳定性下降也是个麻烦事。最近拔电重启的频率明显增加,想不到这次拔电之后就再也起不来了。

于是趁着这个机会,干脆还是试试旁路由。原本的 Linksys 路由器设置的是桥接模式,现在就改成了路由模式,作为主路由。把原来的软路由刷机之后做成旁路由。目前 J1900 软路由至少是固件有损坏,重启数次,都不能正确运行。给这货刷固件需要找 HDMI 线连接显示器、找个 USB 键盘、找个 U 盘来协助写固件,虽然这些东西家里都有,但是折腾起来还是比较痛苦的,于是想干脆还是买个友善 R4S 软路由。我目前办公室里在用一个 R2S 的软路由,非常稳定,看了一下已经连续开机四百多天了,因此对这样的 ARM 设备增加了信心(当然办公室的气温和使用环境比家里电视柜要强多了)。另外,这友善的固件可以写到 TF 卡里,而往 TF 卡写固件比较方便,放在读卡器里插到电脑里就行了。这期间也有朋友提到了给 Apple TV 刷 TVOS17 的测试版固件,然后装某些 App 作为软路由,但考虑到稳定性,还是买个 R4S 的专职软路由可能更合适。于是有了这些操作:

  • 将 Linksys 改成路由模式。这个比较简单,Web 方式登录路由器后台一键修改;
  • 给 R4S 找个合适的 OpenWRT 固件。目前固件很多,也比较成熟了。
  • 把 R4S 设置成旁路由模式。这个在油管上也有不少教程,我参考的是 洋葱的教程
  • 更改一些需要连接外网的设备的网络设置,包括电脑、Apple TV、Google Home、Amazon Echo Dot 等等,把他们的网关和 DNS 都指向 R4S。但修改过程中发现智能音箱不支持修改网络设置,而 Linksys 也不能修改 DHCP 参数。研究了一番,只有关闭了 Linksys 主路由的 DHCP 功能,打开了 R4S 的 DHCP 功能。这样一来,就算是入侵式的旁路由模式了。局域网内的流量都需要通过旁路由走一遍,看起来跟软路由作为主路由没有差别,但在稳定性上还是有一些好处,如果旁路由出问题了,打开主路由的 DHCP 功能就可以了。

于是形成了这样的网络模式:

家庭网络.png

有待观察的地方

  • Linksys 在路由模式下其实是一个节点管理所有设备,目前对它的稳定性还没有足够的信心,只能先观察一阵子。
  • 目前 R4S 拖这么多设备的信心也不是很足,稳定性也有待观察,希望目前这个固件能够重复出 R2S 的稳定性,动辄能连续开机一年以上。 如果稳定性解决不了,可能得升级无线 AP 或者把 R4S 改成主路由,到时又是一番折腾。