VPN、代理与过滤器
Mac 上 VPN 已连接但无法上网
VPN 通过隧道发送流量。如果隧道、隧道的路由或 DNS 出了问题,VPN 会显示“已连接”,但网站打不开。
症状
- VPN 显示“已连接”,但任何网站都打不开。
- 用 IP 地址能打开网站,用名称却不行。
- 公司网站正常,公共网站打不开,或者反过来。
- 断开 VPN 后一切恢复正常。
可能的原因
- VPN 底层的网络。VPN 需要可用的 Wi-Fi 或以太网连接。强制门户或信号弱都会让隧道无法工作。
- 路由。全隧道 VPN 会把所有流量发往 VPN 服务器。如果该服务器无法访问互联网,就什么都打不开。
- DNS。VPN 可以设置自己的 DNS 服务器。如果这些服务器不应答,名称就无法解析。
- 地址重叠。如果本地网络与公司网络使用相同的地址范围,流量可能会发错地方。
- 其他 VPN 或过滤器。第二个 VPN、防火墙或内容过滤器可能会阻挡隧道流量。
如何检查
断开 VPN,确认不用 VPN 时网站能打开。
重新连接 VPN。显示 VPN 服务及其状态。
scutil --nc list显示默认路由当前使用的接口。
route -n get default输出 全隧道 VPN 打开时,
interface一行会显示utun接口。显示完整路由表。
netstat -rn显示 VPN 添加的 DNS 服务器。
scutil --dns分别测试名称和地址。地址有回复而名称没有,说明是 DNS 的问题。
ping -c 3 1.1.1.1 ping -c 3 example.com
如何修复
断开 VPN 后重新连接。
如果你在使用公共 Wi-Fi,请先断开 VPN,完成网络登录页面,再连接 VPN。
退出其他 VPN、代理和防火墙 App,然后再次测试。
如果 DNS 失败,请向 VPN 提供商或 IT 团队询问正确的 DNS 设置。未经他们建议,不要自行更改。
如果 VPN 仍然不可用,请重新启动 Mac。
移除 VPN 配置后重新添加。选取苹果菜单 >“系统设置”>“网络”,或使用 VPN App。
使用 Kilobat
Kilobat 的连接检查会比较直连路径与 VPN 路径,还会检查 VPN 的私有解析器。
kilobat why intranet.example.com列出物理接口和 VPN 接口及其计数器。
kilobat interfaces --json找出问题出在 Wi-Fi、路由器、互联网还是 DNS。
kilobat diagnose这些命令都是免费的。App 中的操作步骤请参阅找出某个网站或 API 连不上的原因。
常见问题
为什么用 IP 地址能打开网站,用名称却不行?
隧道正常,但 DNS 不正常。可能是 VPN 的 DNS 服务器不应答,或者 Mac 把名称发给了错误的服务器。
可以同时运行两个 VPN 吗?
有时可以,但许多 VPN 会阻挡不走其隧道的流量。如果可以,一次只用一个 VPN。
参考资料
- Apple 支持:在 Mac 上设置 VPN 连接
- scutil(8),macOS 27.2 自带的 man 手册页
- route(8),macOS 27.2 自带的手册页
- netstat(1),macOS 27.2 自带的手册页
参考资料核查于 2026年10月29日。man 手册页为 macOS 自带版本;在“终端”中用 man <name> 打开。