在 macOS 上跑 Tailscale 有三種版本:Mac App Store 版、Standalone 版和開源 tailscaled CLI 版。三種版本的核心連線功能完全一樣,差別在打包方式、與 macOS 的互動機制,以及隨之而來的功能限制。本文整理三者的差異、功能比較、怎麼判斷自己裝的是哪一版、怎麼切換,以及該怎麼選。
本文以 Tailscale v1.102(2026 年 10 月)為準;三種版本目前都要求 macOS 12.0(Monterey)以上。
三種版本是什麼
Mac App Store 版
從 App Store 安裝的版本。安裝最簡單、更新全交給 App Store 自動處理,但上架 App Store 的 app 必須跑在 macOS 的 App Sandbox 裡,並以 Network Extension 的方式實作 VPN。沙盒把 app 和系統其他部分隔離,安全,但代價是一些功能限制——最常見的坑是和「螢幕使用時間」(Screen Time)的網站內容過濾器相衝突。
Standalone 版
從 Tailscale 官方下載 .pkg 安裝的版本(下載頁)。macOS 10.15(Catalina)起提供了 System Extension 這個新架構:以 root 權限執行,但仍然關在沙盒裡、與核心隔離,比舊式的核心擴充功能(kernel extension)安全,而且不經過 App Store 也能發佈。Standalone 版就是走這條路:
- 不需要 Apple ID,打開
.pkg就能裝 - 更新由 app 內建的更新器(Sparkle)處理,不用等 App Store 審核,安全修正推出更快
- 能偵測其他工具干擾 VPN 隧道,並主動提醒你
Tailscale 官方目前最推薦的就是這個版本。
開源 tailscaled 版
Tailscale 的核心是開放原始碼的,可以直接在 macOS 上跑 tailscale 和 tailscaled 這兩支 CLI 程式(例如用 Homebrew 安裝)。它不走 Network/System Extension,而是直接用核心的 utun 介面建立隧道。代價是:
- 沒有 GUI:沒有選單列圖示,一切用指令操作,也不會出現在 macOS 系統設定的 VPN 清單裡
- 測試程度不如另外兩版
好處是完全開源、可以在登入前(開機時)就跑起來、可以當 Tailscale SSH server 等。官方的定位是給有經驗的 macOS 系統管理員做無人值守(unattended)的部署。
怎麼安裝
Mac App Store 版
直接從 App Store 安裝。想用指令自動化部署的話,可以用 mas-cli:
mas install 1475387142Standalone 版
從官方下載頁取回 .pkg(Tailscale-latest-macos.pkg),點兩下安裝;慣用 Homebrew 的話,brew install --cask tailscale-app 裝的也是同一個 .pkg。
開源 tailscaled 版
用 Homebrew 安裝並啟動:
brew install --formula tailscale
sudo brew services start tailscale
sudo tailscale up--formula 要記得帶:Homebrew 上還有個裝 Standalone 版 GUI 的 cask tailscale-app,而且它以前的名字就叫 tailscale,明確指定才不會裝錯。brew services 會透過 launchd 把 tailscaled 註冊成開機自動啟動的系統服務。不想用 Homebrew 也可以自己編譯:先安裝 Go,執行 go install tailscale.com/cmd/tailscale{,d}@main,再跑 sudo tailscaled install-system-daemon 把它裝成 launchd 服務(詳見官方 wiki)。最後一樣執行 sudo tailscale up 登入。
開源版的 MagicDNS 由
tailscaled自動設定:它會用 macOS 的 split DNS,在/etc/resolver/底下為 tailnet 網域建立設定檔,把這些網域指到100.100.100.100,不會動到機器的全域 DNS。
功能差異比較表
完整差異如下(整理自官方比較表):
| 功能 | App Store 版 | Standalone 版 | 開源 tailscaled 版 |
|---|---|---|---|
| VPN 實作方式 | Network Extension | System Extension | utun 介面 |
| GUI | 有 | 有 | 沒有 |
| CLI | 有 | 有 | 有 |
| 需要 Apple ID | 需要 | 不用 | 不用 |
| 登入前(開機時)執行 | 不能(沙盒限制) | 不能 | 能 |
| 金鑰與狀態存放 | 使用者 Keychain | 磁碟上的檔案 | 磁碟上的檔案 |
| 沙盒 | 有 | 僅系統擴充功能 | 沒有 |
| 自動更新 | 有,由 App Store 管 | 有,app 內建 | 沒有,需手動更新 |
| 開放原始碼 | 否 | 否 | 是 |
| MagicDNS | 支援 | 支援 | 支援 |
| Taildrop | 支援 | 支援 | 不完整 |
| Funnel | 僅連接埠 | 僅連接埠 | 支援 |
| Exit node | 支援 | 支援 | 部分:可當 exit node,不能用別的 |
| MDM 支援 | 有 | 有 | 沒有 |
| 當 Tailscale SSH server | 不能 | 不能 | 能 |
| 當 Tailscale SSH client | 能 | 能 | 能 |
tailscale ssh 指令 |
沒有,用一般 ssh |
有 | 有 |
| 支援 services collection | 沒有 | 有 | 有 |
| 與螢幕使用時間過濾器相容 | 不相容 | 相容 | 相容 |
| 產生支援用設定報告 | 有限 | 能 | 不能 |
幾個值得注意的地方:
- 兩個 GUI 版不能當 Tailscale SSH server,這只有開源版支援。
- Serve 與 Funnel 在 GUI 版上都受沙盒限制:只能分享連接埠,不能分享檔案或資料夾,詳見本站 Tailscale Serve 與 Tailscale Funnel。官方的版本比較表把 Funnel 標成 GUI 版不支援,但
tailscale funnel指令參考與原始碼都只擋檔案與資料夾,本站以後者為準。 - App Store 版的金鑰與狀態存在使用者 Keychain、跟著登入的使用者走,也因為沙盒的關係沒辦法在使用者登入前執行;開源版能辦到這點,斷電重開後不用登入就能連回這台機器(例如遠端 VNC)。
怎麼判斷自己裝的是哪一版
- 完全沒有選單列圖示、只能用指令:就是開源 tailscaled 版,它沒有 GUI。
- 有選單列圖示:是兩個 GUI 版之一。兩版都裝在
/Applications/Tailscale.app,介面一模一樣,從外觀分不出來。
兩個 GUI 版可以用 App Store 的收據檔分辨——只有 App Store 版的 app 裡會有 _MASReceipt:
ls /Applications/Tailscale.app/Contents/_MASReceipt有東西就是 App Store 版,顯示 No such file or directory 就是 Standalone 版。也可以回想當初怎麼裝的:從 App Store 裝、更新出現在 App Store 的是 App Store 版;下載 .pkg 裝、更新由 app 自己處理的是 Standalone 版。
切換版本
App Store 版和 Standalone 版不能同時裝在同一台機器上:兩個同時跑會讓 Tailscale 的擴充功能無法啟動。要換版本時照這個順序:
- 把目前的
Tailscale.app丟進垃圾桶 - 清空垃圾桶
- 重新開機
- 再安裝另一個版本
換到開源版也一樣:先照上面的步驟把 GUI 版移乾淨,再 brew install --formula tailscale。反方向(開源版換回 GUI 版)則先把服務停掉並移除:
sudo brew services stop tailscale
brew uninstall --formula tailscale自己編譯安裝的話,改用 sudo tailscaled uninstall-system-daemon 移除。
該怎麼選
- 一般使用者:選 Standalone 版。這是 Tailscale 官方的建議:更新更快、功能限制更少,更新也不用等 App Store 審核。App Store 版只有在沒辦法安裝
.pkg,或管理上必須仰賴 App Store(例如公司政策)的環境才考慮——它最省事,但要知道螢幕使用時間過濾器衝突這個坑。 - 開發者:選 Standalone 版。比起 App Store 版多了
tailscale ssh指令、完整的支援用設定報告,也和螢幕使用時間相容。如果需要用 Serve/Funnel 分享檔案或資料夾,或把這台機器當 Tailscale SSH server,就改用開源版(代價是沒有 GUI)。 - 伺服器 / headless(例如 Mac mini 當 home server):選開源 tailscaled 版。它能在使用者登入前就執行、能當 SSH server,斷電重開後不用登入就能連回,是無人值守情境的正解。
常見問題
- 兩個版本都裝了,Tailscale 連不上? App Store 版和 Standalone 版同時存在會讓擴充功能起不來。照「切換版本」一節的步驟移除其中一個,清空垃圾桶再重開機。
- 裝的是 App Store 版,瀏覽器打不開網頁? 檢查是不是「螢幕使用時間」的內容與隱私權限制(網站內容過濾器)和 Tailscale 相衝。這是 App Store 版的已知限制,無法相容;換 Standalone 版就能解決。
tailscale serve不能分享資料夾? GUI 版的沙盒限制:只能分享連接埠。見本站 Tailscale Serve 一文的說明。