在 macOS 上挑一款 VPN,难点通常不在价格,而在系统权限:装得上不等于授权通过,授权通过不等于 M 系列芯片上能稳定重连。这篇 macOS VPN 推荐按「权限、扩展、芯片兼容、订阅导入、分流」的顺序拆开讲,每一步都给出可验证的结果,读完可以对照自己的机器直接排查。

适用对象有两类:第一次在 Mac 上装客户端的人,以及装过但被「已阻止载入系统扩展」卡住、或者系统大版本更新后突然连不上的人。

macOS 上的 VPN 由哪几层组成

一条隧道在 macOS 上通常由三部分组成:菜单栏里的客户端界面、负责建立隧道的网络扩展,以及系统网络栈里多出来的 utun 接口和随之改写的路由与 DNS。界面只是遥控器,真正干活的是扩展。

这也是 macOS 装 VPN 比装普通 App 多一步的原因:客户端要把一个系统级组件注册进系统,由用户手动批准。早期方案用内核扩展(kext)实现,需要降低启动安全性才能加载,Apple 早已把这条路标为弃用,在 Apple silicon 上基本不可行。现在正规客户端走的是系统扩展加 NetworkExtension 框架,权限模型更窄,加载前必须经过签名校验。

在「系统设置 → 通用 → 登录项与扩展 → 网络扩展」里看到的条目,就是隧道本体。它被关掉时,客户端界面照样能打开、能点连接,但连接会立刻失败或者一直转圈,这是最常被误判成「服务挂了」的一幕。

安装后必须过的三道授权

首次安装并启动客户端后,按顺序确认下面几项。缺任何一项,后面都会以「连不上」的形式出现。

如果扩展列表里出现同名但版本更旧的条目,先移除再重装。残留条目会占住注册位置,新版本装上了也不会生效,而且报错信息通常不会说明原因。

授权失败的排查顺序

点了「允许」还是连不上,按下面顺序走,通常五分钟内能定位到具体环节。

  1. 确认是否真的需要重启:部分系统版本要求重启后扩展才加载,提示框里会写明,别跳过。
  2. 打开「登录项与扩展 → 网络扩展」,看条目是勾选状态还是灰色不可用。灰色通常意味着签名校验未通过或系统版本不支持。
  3. 检查机器是否被描述文件或 MDM 管理:被管理的设备,扩展白名单由管理方下发,个人无法自行批准。
  4. 暂时退出第三方安全软件与清理工具再试:它们会拦截系统级组件的注册流程。
  5. 彻底卸载后重装:用客户端自带的卸载入口,或删除 App 后一并清理其扩展条目,而不是把图标拖进废纸篓了事。

判断顺序:扩展未批准,客户端能开但连不上;扩展已批准但网络扩展未勾选,连接秒断;两者都正常,问题就在线路、DNS 或分流规则上。

M 系列芯片的兼容要点

换到 Apple silicon 之后,兼容性问题基本集中在下面四处,逐条对照即可。

原生 arm64 与 Rosetta 2

纯 Intel 版本的客户端靠 Rosetta 2 转译可以运行,但网络扩展属于系统级组件,在转译层下注册与唤醒的行为都不够稳定。优先选同时提供 arm64 与 x86_64 的通用版本;只提供 kext 的老客户端在 Apple silicon 上可以直接排除。

睡眠唤醒后的重连

合盖休眠会拆掉隧道,好的客户端在唤醒后自动重建。如果每次都要手动点一次连接,先看「登录项」里客户端是否被允许后台运行,再看客户端自身的「唤醒后自动连接」开关是否打开。

能效与低电量模式

加解密由 CPU 完成,长时间挂着隧道对续航有可见影响。开启低电量模式后系统会压低后台活动,如果发现唤醒后重连变慢,可以先关掉它做对照,再判断是不是客户端本身的问题。

系统版本

网络扩展的授权界面在大版本之间挪过位置,老系统对新版扩展 API 的支持也不完整。把系统保持在仍在安全更新期内的版本,能省掉一大半「莫名其妙连不上」的麻烦。

订阅怎么导入 macOS 客户端

macOS 客户端大致两类:厂商自研的原生 App,安装后登录或粘贴订阅链接即可;以及配置文件驱动的通用客户端,需要自己维护规则。两类都支持订阅链接,区别只在入口位置。

  1. 在用户面板复制订阅链接,整行复制,不要截断,也不要转发给他人,链接本身就是凭据。
  2. 在客户端里找到「添加订阅」或「从链接导入」,粘贴后保存并更新一次,让节点列表刷新出来。
  3. 选一条线路连接。首次连接会再弹一次网络配置授权,选择允许。
  4. 验证是否真的接管了流量,用下面三条命令对照。
ifconfig | grep -E "^utun"
scutil --dns | grep nameserver
route -n get default

判断标准:出现新的 utun 接口;scutil --dns 输出的第一个 resolver 指向隧道内的地址;route -n get default 的 interface 是 utun 开头。若使用分流模式,默认路由可能仍留在物理网卡上,这是正常的,此时要看的是目标网段有没有被单独路由进隧道。

分流规则与 DNS 泄漏

DNS 泄漏指的是隧道已经建好,域名解析却仍然走本地运营商。查询包从物理网卡出去,结果既可能被污染,也会把访问意图暴露给本地网络,还会让「连上了但打不开」变成常态。验证方法很简单:scutil --dns 看第一个 resolver 的 nameserver 是不是隧道内地址,或者用两台设备分别查一次出口与 DNS 归属做对照。

分流(规则模式)是 macOS 上更实用的默认:常用站点直连,其余走隧道,速度与兼容性都更好。全局模式留给排障用,当你怀疑「是不是规则写错了」,切全局再试一次,能快速把问题归因到规则还是线路。

无论哪种模式,私有网段都要放行直连:10.0.0.0/8、172.16.0.0/12、192.168.0.0/16。否则隔空投送、局域网打印机和 NAS 会一起失联,很多人把它误判成「VPN 把网卡搞坏了」。

与 Apple 服务共存的四个注意点

iCloud 私人中继

私人中继本身也走代理,和 VPN 同时开启会争抢代理配置,表现为部分网站能开、部分一直转圈。两者二选一,或在使用 VPN 时关掉私人中继。

限制 IP 地址跟踪

Safari 的这项功能会改写部分请求路径。排查「只有浏览器打不开」的问题时,先关掉它做对照,再判断是不是隧道的 DNS 出了问题。

商店与媒体库区域

App Store、Apple Music 的区域跟随账号,不跟随出口 IP。换线路不会改变商店区域,也不会让已购内容重新授权,这一点经常被误解。

时间与证书

系统时间偏差会导致 TLS 握手失败,症状是「显示已连接,但所有网页都打不开」。先确认「日期与时间」是自动同步,再去怀疑线路。

线路类型与使用场景对照

选线路之前先分场景。三类线路的差别不在「快不快」,而在路径与拥塞。

线路类型 路径特点 适合场景 需要注意
直连 入口与出口在同一地区,路径最短 就近访问、轻量网页与文档 跨境段质量取决于本地运营商
中转 先接入中转节点,再出国际段 本地到出口链路质量差时的折中方案 多一跳,延迟略高于专线
IEPL 专线 独立链路,不经过公共互联网拥塞段 视频会议、直播、晚高峰长连接 成本高,通常只在高价值地区部署

再补一条经验:视频会议对丢包比对延迟更敏感,直播更怕抖动,大文件下载只看带宽。三类需求对应的线路选择并不相同,不必用一条线路打天下。具体到地区与城市,可以在线路页按场景筛选。

在 VPNAF 这边怎么选

VPNAF 覆盖 90+ 国家、160+ 线路,macOS 客户端走系统扩展,授权一次之后可以设为开机自连,之后只需要在需要时切换线路。

90+ 覆盖国家与地区
160+ 线路,含直连、中转与专线
60 天 无理由退款

计费上,月订阅分三档:¥9.9 含 60GB、¥18 含 250GB、¥28 含 500GB,流量按开通日每月重置,中途升级按差价折算剩余天数。流量包三档:¥158/300GB、¥358/1000GB、¥658/3000GB,用完为止,永久不过期。支付支持支付宝、微信与 USDT,续费和升级都在面板里完成。

注册只需要用户名和密码,无需邮箱地址;同一账号不限台数,Mac 与手机可以同时在线。订阅期内不满意,60 天内可以无理由退款。套餐档位与流量包的完整对照在套餐页。

常见问题速查

显示已连接,但浏览器打不开网页

依次查 DNS、系统时间、分流规则三项。三者都排除之后,再换一条线路做对照,基本就能确定问题出在隧道还是线路。

每次开机都要手动连一次

把客户端加入登录项,并打开「开机自动连接」。若仍不生效,检查是否被低电量模式或第三方清理工具限制了后台启动。

系统大版本更新后连不上

更新会重置部分扩展授权。回到「登录项与扩展」重新批准一次,通常就能恢复,不需要重装客户端。

Intel Mac 还能继续用吗

能。选仍在维护、提供通用二进制的客户端即可;只提供内核扩展的老版本不建议继续使用,后续系统更新随时可能彻底失效。

一句话结论:macOS 上的 VPN 连不上,先查权限,扩展是否被允许、网络扩展是否勾选;权限确认无误,再去比线路与套餐。