---
title: "Mac 上 VPN 已连接但无法上网：原因与解决方法 · Kilobat 指南"
url: "https://kilobat.app/zh-hans/guides/vpn-connected-no-internet.html"
description: "VPN 显示已连接但什么都打不开时，检查路由、DNS 和 VPN 底层的网络，然后重新连接，或一次只改一项设置。"
---

VPN、代理与过滤器

# Mac 上 VPN 已连接但无法上网

VPN 通过隧道发送流量。如果隧道、隧道的路由或 DNS 出了问题，VPN 会显示“已连接”，但网站打不开。

适用于：“系统设置”部分适用于 macOS 13 Ventura 及更高版本。命令适用于所有当前 macOS 版本。 · 核查日期：2026年10月29日

## 症状

- VPN 显示“已连接”，但任何网站都打不开。
- 用 IP 地址能打开网站，用名称却不行。
- 公司网站正常，公共网站打不开，或者反过来。
- 断开 VPN 后一切恢复正常。

## 可能的原因

- **VPN 底层的网络。**VPN 需要可用的 Wi-Fi 或以太网连接。强制门户或信号弱都会让隧道无法工作。
- **路由。**全隧道 VPN 会把所有流量发往 VPN 服务器。如果该服务器无法访问互联网，就什么都打不开。
- **DNS。**VPN 可以设置自己的 DNS 服务器。如果这些服务器不应答，名称就无法解析。
- **地址重叠。**如果本地网络与公司网络使用相同的地址范围，流量可能会发错地方。
- **其他 VPN 或过滤器。**第二个 VPN、防火墙或内容过滤器可能会阻挡隧道流量。

## 如何检查

1. 断开 VPN，确认不用 VPN 时网站能打开。
2. 重新连接 VPN。显示 VPN 服务及其状态。

   ```
   scutil --nc list
   ```
3. 显示默认路由当前使用的接口。

   ```
   route -n get default
   ```

   输出 全隧道 VPN 打开时，`interface` 一行会显示 `utun` 接口。
4. 显示完整路由表。

   ```
   netstat -rn
   ```
5. 显示 VPN 添加的 DNS 服务器。

   ```
   scutil --dns
   ```
6. 分别测试名称和地址。地址有回复而名称没有，说明是 DNS 的问题。

   ```
   ping -c 3 1.1.1.1
   ping -c 3 example.com
   ```

## 如何修复

1. 断开 VPN 后重新连接。
2. 如果你在使用公共 Wi-Fi，请先断开 VPN，完成网络登录页面，再连接 VPN。
3. 退出其他 VPN、代理和防火墙 App，然后再次测试。
4. 如果 DNS 失败，请向 VPN 提供商或 IT 团队询问正确的 DNS 设置。未经他们建议，不要自行更改。
5. 如果 VPN 仍然不可用，请重新启动 Mac。
6. 移除 VPN 配置后重新添加。选取苹果菜单 >“系统设置”>“网络”，或使用 VPN App。

## 使用 Kilobat

1. Kilobat 的连接检查会比较直连路径与 VPN 路径，还会检查 VPN 的私有解析器。

   ```
   kilobat why intranet.example.com
   ```
2. 列出物理接口和 VPN 接口及其计数器。

   ```
   kilobat interfaces --json
   ```
3. 找出问题出在 Wi-Fi、路由器、互联网还是 DNS。

   ```
   kilobat diagnose
   ```
4. 这些命令都是免费的。App 中的操作步骤请参阅[找出某个网站或 API 连不上的原因](https://kilobat.app/zh-hans/guides/recipes/why-cant-it-connect.html)。

## 常见问题

**为什么用 IP 地址能打开网站，用名称却不行？**

隧道正常，但 DNS 不正常。可能是 VPN 的 DNS 服务器不应答，或者 Mac 把名称发给了错误的服务器。

**可以同时运行两个 VPN 吗？**

有时可以，但许多 VPN 会阻挡不走其隧道的流量。如果可以，一次只用一个 VPN。

## 参考资料

- [Apple 支持：在 Mac 上设置 VPN 连接](https://support.apple.com/en-us/guide/mac-help/mchlp2963/mac)
- scutil(8)，macOS 27.2 自带的 man 手册页
- route(8)，macOS 27.2 自带的手册页
- netstat(1)，macOS 27.2 自带的手册页

参考资料核查于 2026年10月29日。man 手册页为 macOS 自带版本；在“终端”中用 `man <name>` 打开。

## 相关指南

- [连接 VPN 时内部名称无法解析](https://kilobat.app/zh-hans/guides/vpn-split-dns-internal-names.html): macOS 可以把某个域名的查询发给一台 DNS 服务器，把其他查询发给另一台。
- [Mac 上 Tailscale 与其他 VPN 冲突](https://kilobat.app/zh-hans/guides/tailscale-vpn-routing-conflicts.html): Tailscale 为每台设备分配一个 100.64.0.0/10 中的地址。
- [Mac 上 DNS 查询绕过了 VPN](https://kilobat.app/zh-hans/guides/vpn-dns-leak-mac.html): 打开 VPN 时，通常希望 DNS 查询发往 VPN 的服务器。
- [Mac 上 Little Snitch、LuLu 与其他网络扩展的冲突](https://kilobat.app/zh-hans/guides/network-extension-conflicts.html): macOS 上的防火墙、VPN 和内容过滤器都使用网络扩展。
- [Mac 上不显示 Wi-Fi 登录页面](https://kilobat.app/zh-hans/guides/captive-portal-not-appearing.html): 公共网络通常会拦截所有流量，直到你在登录页面上完成登录。
