这几天时间线上,「路由器里怎么装 VPN」那几条帖加起来 360 多万浏览。大家要的都一样:全家连上 Wi-Fi,打开就能刷 X、看 YouTube。

我看别人评论区给的路子就两条,小米路由器刷 OpenWrt 装 OpenClash,或者去闲鱼买一台别人刷好的。

还有条帖子说,连上朋友家 Wi-Fi 不开 VPN 就能上 X,78 万浏览。我在底下回了一句:一个 Surge 什么都搞定。这篇就把这句话摊开讲。

如果你家里本来就有一台常开的 Mac,手上是 iPhone,其实不用再买软路由:Mac 装上 Surge 当全家的网关,iPhone 回家自动停代理,出门自动接上,手机不用一天到晚挂着代理耗电。

先说清楚,这篇不是劝你买 Surge。它贵,iOS 版 49.99 美元,Mac 版还得另买。好在 iPhone 和 Mac 都能先免费试 7 天,Mac 版买完 30 天内觉得比别的软件慢,还能退款。Stash、小火箭用着顺的,接着用就行。

我自己为了省钱从 Surge 换过 Stash,路由器装 OpenClash、Linux 小主机当旁路由也都试过,折腾一圈又回到 Surge。下面是这一趟怎么搭的。只用手机的,看到「只用 iPhone」那段就够了,Mac 当网关那部分跳过也不影响。

嫌步骤多的,把我这篇链接发给 Codex 或 Claude Code,配置文件和路由器那几行让它帮你弄,Surge 界面上那几个开关自己点一下就行。

我家的网络怎么走:在家全家设备的网关指向 Mac mini,按规则分直连、自建、机场三路;出门 iPhone 上的 Surge 自己接上
我家的网络怎么走:在家全家设备的网关指向 Mac mini,按规则分直连、自建、机场三路;出门 iPhone 上的 Surge 自己接上

一、三条路,我家都走过

先把词说清楚。旁路由的正经叫法是旁路网关:主路由照旧拨号、给设备发地址,旁边再挂一台机器,设备把「网关」改成它,流量先过它,国内的直连,国外的走节点。

软路由是拿 N100、J4125 这类小主机装路由系统,当主路由、当旁路由都行。

第一条:路由器里装 OpenClash

家里的小米 AX6 早就刷了 OpenWrt,OpenClash 我也装过,太垃圾了。路由器那点 CPU 和内存带不动它,隔三差五就断,一断就是全家一起断网。后来就不用了,AX6 老老实实只当主路由。

第二条:Linux 小主机当旁路由

9 月底我在家里那台 Linux 小主机上搭了一套 mihomo 旁路由,先只接了一台 iPhone 试。DNS、防火墙、开机顺序、定时同步订阅,全得自己写、自己管。

10 月 1 日小主机系统自动升级,把网络服务重启了一遍,DNS 退回被污染的上游,代理规则也没了,那台机器自己先断了网。那天我就不想再当家里的网管了。

第三条:Mac mini 装 Surge

前两条有个共同的毛病:只管家里。出了门断了 Wi-Fi,手机还得另装一个 App、另配一套节点和规则,两边各改各的。

Surge 的 Mac 版和 iPhone 版配置格式一样,规则写一份两边用。在家 Mac 替全家走代理,手机自己停;出门手机自己接上。Mac mini 本来就 24 小时开着,网关模式在界面里点几下就开了,不用自己写脚本。

算笔账:路由器装插件不花钱,可我那台带不动;小主机当旁路由要多一台机器,还得自己维护;Surge 得花钱买授权,好在 Mac 是现成的。

三条路对比:路由器里装 OpenClash、Linux 小主机当旁路由、Mac mini 装 Surge,比花钱、搭起来、要提防的坑、出门手机
三条路对比:路由器里装 OpenClash、Linux 小主机当旁路由、Mac mini 装 Surge,比花钱、搭起来、要提防的坑、出门手机

家里没有 Mac 的

家里没 Mac 又想全家都走,就只剩前两条:换一台带得动插件的路由器,或者买台小主机当旁路由,这篇不展开。专门为这个去买台 Mac mini,除非你本来就想买,不然不划算。

二、我为了省钱换过 Stash

Surge 我以前就买过。它的更新按年续费,到期不续也能一直用老版本,我当时就没续,转去用 Stash。

Stash 是真便宜:iOS 版 5.99 美元买断,一个授权 6 台设备;Mac 版另收,按年付费。它吃 Clash 配置,机场给的订阅贴进去就能跑,VLESS 也支持。

用了一阵,毛病一个个冒出来。流量一上来就间歇性卡死,整个网卡住。点开链接要等一下才开始加载,连接建立就是慢。推送、切网后断连这些小毛病也有。

最烦的是在家也得挂着。Stash 回家停代理靠 iOS 的按需连接,手动填家里 Wi-Fi 的名字排除掉。回家能停,出门经常不自己恢复,要点开手动连。

Stash 的按需连接:在 Wi-Fi 下启用、排除的 SSID 要自己一个个填
Stash 的按需连接:在 Wi-Fi 下启用、排除的 SSID 要自己一个个填

Stash Mac 版也能当网关,可出门那一段还是一样的问题。所以才有了上面那台 Linux 小主机。

三、这么贵,凭什么活了 11 年

Surge iOS 下载免费,解锁 Pro 是 49.99 美元一次,能装 3 台 iPhone 或 iPad,绑上 iCloud 能扩到 6 台。第一年送新功能更新,之后续 14.99 美元一年,不续也行,已经有的功能一直能用。

Mac 版另买,1 台 49.99 美元起,同样含一年更新。续费 19.99 美元一年起,不续就停在到期前的最后一版。iPhone 加一台 Mac mini,第一年 99.98 美元。先别急着掏钱,两边都能免费试 7 天,用着 OK 再买。

算完这笔我也犹豫过。后来心想,我每个月 AI 付费都付了这么多,也不在乎这点了。

iPhone 代理 App 怎么选:Surge、Stash、小火箭、Loon 的价格、Mac 版、回家自动停、VLESS 对照
iPhone 代理 App 怎么选:Surge、Stash、小火箭、Loon 的价格、Mac 版、回家自动停、VLESS 对照

它 2015 年 10 月上架,一个月左右就全区下架,2016 年 1 月又回来。到现在 11 年,价钱一路往上走,人还在。

留住我的头一条是苹果全家通用。iPhone、iPad、Mac、Apple TV 都有 Surge,Apple TV 那版不用另买,跟着 iOS 授权走。配置放 iCloud 里,几台设备自己同步。

Mac mini 没接显示器也没关系,开了 Surge 自己的 Ponte,在 iPhone 上就能给它切节点、管网关下面的设备。

快。同一个节点,Surge 建连接就是比 Stash 快,点开链接那一下最明显。我没拿测速软件比过,就是天天用的体感。Surge Mac 6 还加了一条:买了 30 天内,同等条件下吞吐或延迟比别的软件差,可以全额退款。

短处也明摆着。它不支持 VLESS / Reality,机场只给 VLESS 节点的就用不了。中国区 App Store 没有,得用外区 Apple ID;Mac 版也不在 Mac App Store,只能去官网下。

四、只用 iPhone:照着点就行

没有 Mac 也能用,手机这一半最简单。

第 1 步:换个外区 Apple ID 去下载

切到外区 Apple ID,在 App Store 搜「Surge 5」。港区、美区都有,下载免费,能先试 7 天全功能。

第 2 步:复制机场的 Surge 订阅

去机场后台找 Surge 格式的订阅链接,复制下来。

只有 Clash 配置也没事,丢给你的 AI,让它改成 Surge 格式,改好的配置导进 Surge 就能用。只有 VLESS 节点改不过去,Surge 本身不支持这个协议。

第 3 步:从链接导入

打开 Surge 进配置列表,选从 URL 下载,弹出「下载配置」框,把链接粘进去点「好的」。从链接装的叫托管配置,Surge 打开的时候会自己去拉新节点。

第 4 步:启动

回首页点启动。系统弹窗问要不要添加 VPN 配置,点允许,输一次锁屏密码。出站模式保持规则模式,国内的直连,国外的走节点。

左:配置列表里弹出「下载配置」框,粘订阅链接(链接已打码);右:启动后的首页,运行中,出站模式选规则模式
左:配置列表里弹出「下载配置」框,粘订阅链接(链接已打码);右:启动后的首页,运行中,出站模式选规则模式

新导入的配置没有历史选择,每个组默认用第一个节点。我日本组的第一个两轮测试都连不上,进组里手动换一个就好。

如果你只有一台 iPhone,到这里就可以停了。

五、Mac mini 变全家网关

我那台是 M4 的 Mac mini,本来就 24 小时开着。Apple 给这款的待机功耗是 4 瓦,一般的 N100 小主机待机也要 6 瓦往上。

第 1 步:装好,导入同一个订阅

Surge Mac 去官网下载,每年能免费试 7 天。装好在菜单里点「从 URL 安装配置…」,粘跟手机同一个订阅链接。

第 2 步:把 Mac 自己的流量交给 Surge

打开「概览」,在「网络接管」下勾上「系统代理」和「增强模式」。勾了增强模式,终端、不认系统代理的 App 也会走 Surge。

第 3 步:开网关模式

点「网关模式」进向导。网络接口选网线口,别用 Wi-Fi,无线当网关会慢很多。勾「启用 Surge VM 网关」,在「Surge VM IPv4 地址」填一个家里没人用的地址。我家路由器分配的是 .100 到 .249,我填了 .250。

最后勾「阻止系统休眠」,Mac 一睡全家断网。

Surge Mac 上要动的三处,从上到下:「概览」里系统代理、增强模式、网关模式都开着;网关模式的「VM 网关」页,顶上写着当前跑在 Ethernet 上;「选项」页勾上阻止系统休眠。开好以后点网关模式卡片右下的「…」,选「修改配置…」就能回来改
Surge Mac 上要动的三处,从上到下:「概览」里系统代理、增强模式、网关模式都开着;网关模式的「VM 网关」页,顶上写着当前跑在 Ethernet 上;「选项」页勾上阻止系统休眠。开好以后点网关模式卡片右下的「…」,选「修改配置…」就能回来改

这里我踩了第一个坑。VM 网关一开,Mac 自己刷 X 的图明显变慢。后来让 Mac 本机走 Wi-Fi 上网,网线口只给 VM 网关,体感好很多。

第 4 步:让 Mac 一直在线

系统设置里点「能耗」,「接入电源时启动」选「断电后」。Surge 设成「在登录时启动 Surge」。

系统设置「能耗」:接入电源时启动选断电后
系统设置「能耗」:接入电源时启动选断电后

开着 FileVault 的,断电重启会停在解锁界面,没人输密码 Surge 就起不来,全家照样断网。我检查的时候才发现,自己这台就是这样。

六、全家设备怎么接上 Mac

三种接法,挑一种。

一台一台手动改

iPhone 进「设置 → 无线局域网」,点家里 Wi-Fi 右边的 ⓘ。「配置 IP」改成手动,路由器填 Mac 的 VM 地址;「配置 DNS」改成手动,只留 198.18.0.2,不是 192.168 开头那个。

我一开始手机就是这么手动设的:

左:iPhone 家里 Wi-Fi 详情,配置 IP 手动,路由器填 Mac 的 VM 地址 192.168.31.250;右:配置 DNS 手动,只留 198.18.0.2
左:iPhone 家里 Wi-Fi 详情,配置 IP 手动,路由器填 Mac 的 VM 地址 192.168.31.250;右:配置 DNS 手动,只留 198.18.0.2

路由器统一发

我家现在就是这种。路由器刷的是 OpenWrt,在 /etc/config/dhcp 的 lan 那一节加两行,3 是网关,6 是 DNS:

list dhcp_option '3,192.168.31.250'
list dhcp_option '6,198.18.0.2'

Mac mini 自己必须排除,它要是也拿到 .250,等于网关指向自己的 VM,直接绕死。建一个标签发回路由器自己的地址,再在 Mac 两块网卡的静态分配里各加一行 option tag 'direct':

config tag 'direct'
	list dhcp_option '3,192.168.31.1'
	list dhcp_option '6,192.168.31.1'

改完 reload 一下 dnsmasq,家里设备关一次 Wi-Fi 再连上就生效。我家 iPad 已经接上了,Mac 的设备列表里能看到它,手机也改回了自动获取 IP。Mac 的 Wi-Fi 私有地址记得关掉,地址一轮换,排除就失效。

Surge Mac 的设备列表:手机 .158 和 iPad .219 都走 Mac 这台网关
Surge Mac 的设备列表:手机 .158 和 iPad .219 都走 Mac 这台网关

有个副作用我改完才想到:家人设备的 DNS 不再经过路由器,路由器上的广告过滤对它们就不管用了。

让 Surge 发地址

原厂固件改不了下发网关的,用这种。向导里勾「启用Surge IPv4 DHCP服务器」,再关掉路由器自己的 DHCP。新设备默认不接管,在设备列表里右键选「使用 Surge 作为网关」。

要退回去:手动的改回自动;路由器那两行删掉再 reload;Surge 的关掉 Surge DHCP,再开路由器的 DHCP。

家里有 IPv6 的,只改 IPv4 网关,流量会从旁边漏。Surge 的「IPv6 RA 覆盖」得先开 VM 网关,而且只管设成用 Surge 当网关的设备,也就是第三种接法。用前两种接法的,干脆把整个网络的 IPv6 关掉,我家就是这么做的。

七、iPhone 回家自动停

回 Surge,有一大半是冲这个来的。

Surge iOS 5.11 起有个自动暂停,默认开着:手机发现当前网络被 Surge Mac 网关接管,自己就停下来。出门切到 4G / 5G,它自己接上,不用点,我出门试过。前提是手机的网关指向 Mac,路由器统一发的,连上家里 Wi-Fi 就是。

首页右上角,运行时是绿色的「停止」,连上家里 Wi-Fi 没几秒就变成橙色的「等待网络」,断开 Wi-Fi 又变回来:

下拉控制中心打开 Wi-Fi,几秒后变成等待网络;关掉 Wi-Fi 回到 5G,马上恢复运行(运营商名已打码)

我原来手机一天到晚挂着代理,电掉得快,就得反复充。iPhone 的电池本来就不耐用,充得越勤,电池健康掉得越快,这是我最在意的。

Surge 自己测的是常开一天多耗不到 2%,电池页里它占比高,是因为所有 App 的流量都记在它头上。可在家那十几个小时,手机上干脆没有代理在跑,能省一点是一点,少充一次是一次。

也不用惦记开没开,不会手机一层、Mac 一层,两层代理叠在一起。

这里有个大坑,在配置文件里。我那份当初为了让推送也走代理,写了 include-all-networks = true。暂停的时候 iOS 会把所有流量塞进已经停掉的隧道,首页显示等待网络,整台手机却上不了网,停掉 Surge 反而正常。

我卡在这儿一晚上,把它改成 false 就好了。手机界面里我没找到这个开关,是在配置文件的 [General] 里改的,这一行不写默认就是关的:

auto-suspend = true
include-all-networks = false

代价是手机端不能再接管推送,在家推送经 Mac 网关走代理,出门直连。

还碰到过停了 Surge,百度能开,X 打不开。手机和 Mac 用的是同一段 198.18 开头的假地址,手机拿着 Mac 发的旧地址去连,Mac 认不出来。把 Wi-Fi 关一下再开就好,后来我又在 Mac 规则里禁了手机经网关走 QUIC。

八、别只靠机场

机场节点多、地区全、便宜,可一个 IP 是一堆用户一起用。Claude、ChatGPT 这类账号看 IP,出口一跳就容易出事。

我是两样混着用。一台海外 VPS 自己搭节点,出口 IP 固定,只有我在用,默认出口、AI、苹果推送都走它。要指定国家的走机场,比如要美国 IP 的 Meta AI,自建挂了也拿机场顶。X 和交易所各单独一组,X 固定一个日本节点,不让它跳。

自建节点的协议选 Surge 支持的 Hysteria 2 或 AnyTLS,我是两台 Hysteria 2、一台 AnyTLS。原来 Stash 里的两条 VLESS 到 Surge 用不了,改成指向同一台服务器的 Hysteria 2。在 [Proxy] 里加一行就是一个节点:

我的日本 = hysteria2, 你的服务器IP, 443, password=你的密码
Surge Mac 的策略组:AI、X、电报、交易所各一组,有的指自建节点,有的指机场(节点名和机场名已打码)
Surge Mac 的策略组:AI、X、电报、交易所各一组,有的指自建节点,有的指机场(节点名和机场名已打码)

两边怎么合进 Surge,最省事的是交给 AI。把机场配置和自建节点的参数给它,说清楚 AI、X、交易所各走哪边,让它写成一份 Surge 配置。

我这套就是让 AI 写了个脚本,把两边合成一份订阅,Mac 和 iPhone 各拉一份。iPhone 那份单独出,自动暂停那几个参数跟 Mac 不一样。

想自己动手的,把机场订阅「转变为联动配置」,节点那段跟着机场自动更新,自建节点单独写一个文件引用进来,策略组和规则自己改。

机场节点的域名,我交给机场自己的 DNS 去解析。同一个香港节点,用机场 DNS 连上是 80 多毫秒,用公共 DNS 要 1.2 秒。

谁适合上 Surge:家里有台常开的 Mac、全家都是苹果、每天挂代理好几个小时的。只有一台 iPhone、偶尔刷一下的,小火箭 2.99 美元就够了。

配置卡住了、想要机场推荐,进群问:https://t.me/masonweb3_talk