Mac 睡眠时 VPN 断开

Mac 睡眠时,网络连接会断开,大多数 VPN 隧道也会随之断开。唤醒后 VPN 必须重新连接。本指南会找出断开发生的时间,以及哪项设置能让 VPN 重新连接。

让你的智能体来解决拷贝一条提示词,适用于 Claude Code、Codex 或任何能使用终端的智能体。

我的 Mac 出现了这个问题:Mac 睡眠时 VPN 断开。请阅读 https://kilobat.app/zh-hans/guides/vpn-disconnects-after-sleep.md,并和我一起逐步处理。如果缺少 Kilobat CLI,请安装:brew install seifip/kilobat/kilobat。请你自己运行指南中的终端和 kilobat 检查,并告诉我发现了什么。列出只有我才能完成的步骤。更改任何设置之前先问我。

适用于:所有当前的 macOS 版本。VPN App 中的设置取决于厂商。核查日期:2026 年 11 月 7 日

症状

  • 打开盖子后,VPN 显示为已断开。
  • VPN 在其 App 中显示已连接,但唤醒后没有任何流量通过。
  • 通过 VPN 的下载或 SSH 会话在每次 Mac 睡眠时停止。
  • 唤醒后内部网站会失败一分钟,然后又恢复正常。

可能的原因

  • 睡眠期间网络链路断开。隧道依赖于 Wi-Fi 或以太网连接。当 Mac 重新加入网络时,VPN 必须重新连接。
  • VPN 没有自动重新连接。VPN 按需连接和 VPN App 中的重新连接选项会重新启动隧道。没有它们时,你需要手动连接。
  • “VPN 按需连接”无法询问你的密码。Apple 表示,“VPN 按需连接”需要无需用户交互的认证,例如证书。
  • 唤醒后 Wi-Fi 加入缓慢。在 Mac 有可用网络之前,VPN 无法连接。请参阅Mac 的 Wi-Fi 在睡眠后断开。
  • 服务器结束闲置或旧的会话。有些 VPN 服务器会关闭长时间没有活动的会话。请向管理员询问超时设置。

如何检查

  1. 显示最近的睡眠和唤醒事件及其时间。

    pmset -g log | grep -E ' (Sleep|Wake|DarkWake) ' | tail -20
  2. 下次唤醒后,显示每个 VPN 配置的状态。

    scutil --nc list
  3. 显示网络状态。确认在 VPN 尝试连接之前,Wi-Fi 或以太网已可访问。

    scutil --nwi
  4. 将唤醒时间与 VPN 断开的时间对比。

如何修复

  1. 在 VPN App 中,打开其自动连接或重新连接选项。名称因厂商而异。

  2. 将 VPN App 更新到最新版本。

  3. 对于受管理的 VPN,请让管理员在描述文件中打开“VPN 按需连接”。

  4. “VPN 按需连接”需要证书或其他非交互式认证。如果你用密码登录,请申请证书。

  5. 要在长时间传输期间让 Mac 保持唤醒,请在传输运行期间阻止睡眠。请参阅Mac 上的 caffeinate:从“终端”保持唤醒。

  6. 如果唤醒后 Wi-Fi 加入缓慢,请先解决这个问题,然后再测试 VPN。

使用 Kilobat

  1. 显示 VPN 现在是否在承载流量,以及使用它的是全部流量还是部分流量。

    kilobat ip
  2. Kilobat App 的“历史记录”会列出 VPN 何时开启或关闭。将它与 pmset 得到的睡眠时间对比。

  3. 显示 App 记录的断开和网络变化。

    kilobat outages
  4. 在通过 VPN 运行命令(例如拷贝)期间,让 Mac 保持唤醒。

    kilobat awake -- rsync -a server:/data ./data
  5. 使用 Kilobat Pro 时,VPN 断网开关会在 VPN 断开期间阻止新连接。这样 App 在 VPN 恢复之前不会在开放网络上建立新连接。

常见问题

“唤醒以供网络访问”能让 VPN 保持连接吗?

不能。该设置让 Mac 为文件共享等请求而唤醒,但它不会让 VPN 隧道保持连通。请参阅在 Mac 上使用“唤醒以供网络访问”。

Mac 上的“始终开启 VPN”能用吗?

Apple 的 VPN 概览列出了 iOS、iPadOS 和 visionOS 的“始终开启 VPN”,没有列出 macOS。

合上盖子时 Mac 能保持 VPN 连通吗?

只有 Mac 保持唤醒时才行。它睡眠时,网络就会断开。请参阅合盖后让 MacBook 保持唤醒。

参考资料

核对于 2026 年 11 月 7 日。