---
title: "Mac 上 VPN 已連線卻無法上網：原因與解決方法 · Kilobat 指南"
url: "https://kilobat.app/zh-hant/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-hant/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 內建的 man 頁面
- netstat(1)，macOS 27.2 內建的 man 頁面

資料來源檢查日期：2026年10月29日。man 頁面為 macOS 內建版本；在終端機中用 `man <name>` 開啟。

## 相關指南

- [連上 VPN 後內部名稱無法解析](https://kilobat.app/zh-hant/guides/vpn-split-dns-internal-names.html): macOS 可以把某個網域的查詢送往一台 DNS 伺服器，其他查詢則送往另一台。
- [Mac 上 Tailscale 與其他 VPN 衝突](https://kilobat.app/zh-hant/guides/tailscale-vpn-routing-conflicts.html): Tailscale 會給每部裝置一個 100.64.0.0/10 範圍內的位址。
- [Mac 上的 DNS 查詢繞過 VPN](https://kilobat.app/zh-hant/guides/vpn-dns-leak-mac.html): 開啟 VPN 時，你通常會希望 DNS 查詢送往 VPN 的伺服器。
- [Little Snitch、LuLu 等網路延伸功能在 Mac 上互相衝突](https://kilobat.app/zh-hant/guides/network-extension-conflicts.html): macOS 上的防火牆、VPN 和內容過濾器都使用網路延伸功能。
- [Mac 上沒有出現 Wi-Fi 登入頁面](https://kilobat.app/zh-hant/guides/captive-portal-not-appearing.html): 公共網路通常會攔住所有流量，直到你在登入頁面上登入。
