用一台被淘汰的 Mac mini 来做软路由

技术

其实在之前的文章里就提到过,我一直是一个垃圾佬节俭主义者,所有的东西我会本着能用就用的原则让它发挥余热。最近手上拿到了一台已经退役的 Mac mini,它有多老呢?

截屏2024-01-16 18.25.34.png

这是一台 2014 Late 版本的 mini,双核四线程的 i5 处理器,8G 的内存,硬盘已经被升级成了 256G 的 SATA SSD。这样一台主机,现在到小黄鱼上几百块就能拿下,可能很多人的软路由都比它的纸面性能要好。而我在它发布十年后的今天,依然选择其作为软路由却是看中了它的几个独特优势。

Mac mini 的优势

对我来说,其最大最核心的优势就是 macOS,是的你没有看错,很多人拿到这类过时的苹果电脑,第一时间就是格式化掉硬盘,然后装一个 ubuntu 之类的 Linux。但如果你要装 Linux 真的没必要用苹果电脑,还要解决一堆兼容性问题。反之如果我继续沿用 macOS 则可以享受其完善的软件生态还有原生的硬件兼容性。当然,最重要的一点,我是 Surge 的用户,这样软路由的软件就不用再去重复投资了。

颜值,即使已经到 2024 年了,你要找一台能摆上台面 PC 主机依然还是很难,这代 Mac mini 的设计已经沿用了至少十年,看上去依然优雅毫不过时。我打算把它放在客厅的电视柜,这么一个每天都能看到的地方可不能放一个看着糟心的玩意。我个人比较欣赏的是它把电源集成进了机箱,不像现在很多迷你主机虽然看着很小,但还得配一个巨大的外置电源。

macOS 配置

首先我们要为这台机器装上最新的 macOS 操作系统,通过这个网址查询得知,这台 2014 年末的 Mac mini 最高只能装到 macOS 12 Monterey。选择尽量新的操作系统可以让系统更好地获得安全补丁,因此我把之前的系统抹掉,重新安装了 macOS 12。

截屏2024-01-24 15.58.48.png

为了让这台 Mac mini 胜任软路由的角色,我们还需要对其系统进行一些配置。路由器是全年 24 小时常开的服务,所以稳定性是第一要务,同时我们还要考虑一些特殊情况,比如停电后的恢复。

截屏2024-01-24 16.02.34.png

所以我们进入“设置/节能”,第一个钩一定要打上,要不然一会儿系统会自动进入睡眠模式,软路由就噶了。如果有“如果可能,使硬盘进入睡眠”这个选项(比如你外接了硬盘),把这个钩可以点掉,不需要节约这一点电量,反而有时候硬盘休眠再唤醒会有 Bug。“断电后自动启动”这个选项也要打开,这可以让你的机器在停电后再来电时自动开机,从而实现网络的自动恢复。要不然家里没人,就只能干瞪眼了。

截屏2024-01-24 16.12.46.png

再进入“用户与群组/登录选项”,把自动登录打开,选择当前的用户登录即可。Surge 运行在用户态,如果没有登录是无法启动的,所以我们要保证这台机器只要一开机就能自动进入系统,然后启动相应的服务。

截屏2024-01-24 16.17.24.png

在“软件更新”的设置里,把所有自动检查和自动更新的钩都去掉,你不希望网上着好好的,软路由自己重启去更新系统了吧。

其它设置:

  1. 建议把 WIFI 网络禁用掉,我们只需要用到有线网卡。
  2. 建议把声音静音,Mac mini 是有自带扬声器的,你的某些操作可能会触发音效,你应该不希望自己的路由器发出莫名其妙的声音吧。

软路由/Surge 配置

在配置软路由之前,我们面临一个选择,是让这台路由成为主路由还是旁路由。我的考虑是前者虽然节省了一台设备,但系统的容错性比较低,软路由虽然我们做到尽量稳定,但它的宕机概率还是高过硬路由。如果你把它作为主路由,届时很可能会面对整体无法上网的情况。而作为旁路由就要灵活得多,这台 Mac mini 你可以随时拿掉去升级/修理,我只需要把子网络的出口网关地址改一下就行了。

Untitled-2022-06-08-1159.png

上图就是一个简单的家庭网络拓扑示意图,可以看到我们分了两个网络(黄色和绿色),一般的家庭联网设备都运行在绿色的网络(192.168.10.0/24)中。它们只与一个主路由连接(一般是一个 WIFI 路由),与上层设备之间是隔离的,不需要关心自己的流量经过了哪些设备,连上就可以用。

而对于黄色网络(192.168.1.0/24),WIFI 路由的网关设置到软路由(192.168.1.10)上就可以通过软路由上网,如果软路由出故障了,就可以把网关设置到主网关(192.168.1.1)继续使用,上层设备可以做到无感知切换。这种组网的方式比较简单可靠,也兼顾了灵活性,是一种不折腾的选择。

截屏2024-01-24 16.36.04.png

而如果你跟我一样选择 Surge,那么软路由的设置就相当简单了,只需要打开它的增强模式即可。注意两点:

  1. 不要打开 DHCP 模式,因为你只是个旁路由,DHCP 服务已经由主路由承担了,你只需要承担网络流量即可。
  2. 记得给 Mac mini 设置一个固定的 IP 地址,而且要避开主路由的 DHCP 自动分配的址段。

截屏2024-01-24 17.13.44.png

接下来就是给绿色网络的 WIFI 路由器设置出口网关了:

  1. 把它的出口(WAN)配置为固定 IP(Static IP)模式,网关地址(Gateway)设置为这台软路由的地址。
  2. 还有一个比较特殊的,你要把它的 DNS 设置为如上图所示 Effective DNS 的地址。

至此,所有的软路由配置已经完成了,如果不出意外的话所有的上层网络流量都会经由这台 Mac mini 再联向互联网。而 Surge 本身还有不少玩法,比如你可以把 Surge Ponte 打开,这样如果你在多台设备上运行了 Surge,它们之间就可以组成一个加密的虚拟网络,我一般来连 VNC 查看这台 Mac mini 的运行状态。

后话

WechatIMG1278.jpg

一图胜千言,垃圾佬的快乐谁能懂😂

已有 6 条评论
  1. 大大的小蜗牛
    大大的小蜗牛

    个人还是喜欢 OpenWRT 软路由,目前在用 j4125,屌爆了,常年 CPU 使用率低于 1%。

  2. 目前用 MikroTik rb5009 做主路由,J4125 OpenWRT 做软路由,用支持 Mesh 的硬件路由作为 AP 使用

    RouterOS 可以实现为每台设备指定不同的网关
    也可以定时检测旁路由在线状态,实现宕机自动切换网关到主路由
    这两点还挺实用的

  3. 主路由用的是硬路由,软路由用OPENWRT,其实国产的系统也不错,只不过生态很难做起来,看之前DD-WRT、X-WRT这类也快名存实亡了,不仅有些唏嘘。

    MacOS做软路由应该可以吧,不过路由最好配个UPS,小的也不贵。

  4. 哈哈,复制的烂梗:
    二三十岁的人了,不要再讨论什么 NAS, 内网穿透, OpenWrt 了。
    你摆弄一坨铁在家并不能给你带来任何实质性作用,朋友们兜里掏出一大把钱跟对象吃喝玩乐,你默默的在家里摆弄你的破主机。亲戚朋友吃饭问你收获了什么,你说我组了台 8 盘位的 All in One ,亲戚们懵逼了,你还在心里默默嘲笑他们,笑他们不懂你的电影刮削器,不懂你的 Auto Backup ,笑他们换个手机电脑手忙脚乱的到处传输旧数据,也笑他们看爱奇艺还要忍受会员专属广告。你父母的同事都在说自己的子女一年的收获,儿子买了个房,女儿买了个车,孩子订婚成家了,孙子会打酱油了,你的父母默默无言,说我的儿子装了个黑盒子,开起来嗡嗡响,家里电表还走得越来越快了。

      1. 十三少
        十三少

        残酷的现实,我最近也在思考这个黑盒子没法传承的问题,觉得可能还是一个简单的大U盘来得实际?

          1. 十三少
            十三少

            所以楼主这种macmini可能也是一种好的传承方法,简单一台完备的电脑,孩子们一接上就是一个完整的系统和数据存在。如果是all in one,你孩子妻子家人本身也要懂的概率其实不高。