---
title: "macOS 上安裝 Tailscale 的三種方法"
description: "比較 Mac App Store、Standalone 與開源 tailscaled 三種 macOS 版本的差異、功能支援與選擇建議"
---

> Documentation Index
> Fetch the complete documentation index at: https://tailscale.tw/llms.txt
> Use this file to discover all available pages before exploring further.

# macOS 上安裝 Tailscale 的三種方法

在 macOS 上跑 Tailscale 有三種版本：**Mac App Store 版**、**Standalone 版**和**開源 `tailscaled` CLI 版**。三種版本的核心連線功能完全一樣，差別在打包方式、與 macOS 的互動機制，以及隨之而來的功能限制。本文整理三者的差異、功能比較、怎麼判斷自己裝的是哪一版、怎麼切換，以及該怎麼選。

> 本文以 Tailscale v1.102（2026 年 10 月）為準；三種版本目前都要求 macOS 12.0（Monterey）以上。

## 三種版本是什麼

### Mac App Store 版

從 [App Store](https://apps.apple.com/app/tailscale/id1475387142) 安裝的版本。安裝最簡單、更新全交給 App Store 自動處理，但上架 App Store 的 app 必須跑在 macOS 的 [App Sandbox](https://developer.apple.com/library/archive/documentation/Security/Conceptual/AppSandboxDesignGuide/AboutAppSandbox/AboutAppSandbox.html) 裡，並以 [Network Extension](https://developer.apple.com/documentation/networkextension) 的方式實作 VPN。沙盒把 app 和系統其他部分隔離，安全，但代價是一些功能限制——最常見的坑是和「螢幕使用時間」（Screen Time）的網站內容過濾器相衝突。

### Standalone 版

從 Tailscale 官方下載 `.pkg` 安裝的版本（[下載頁](https://pkgs.tailscale.com/stable/#macos)）。macOS 10.15（Catalina）起提供了 [System Extension](https://developer.apple.com/system-extensions) 這個新架構：以 root 權限執行，但仍然關在沙盒裡、與核心隔離，比舊式的核心擴充功能（kernel extension）安全，而且**不經過 App Store 也能發佈**。Standalone 版就是走這條路：

- 不需要 Apple ID，打開 `.pkg` 就能裝
- 更新由 app 內建的更新器（Sparkle）處理，不用等 App Store 審核，安全修正推出更快
- 能偵測其他工具干擾 VPN 隧道，並主動提醒你

Tailscale 官方目前最推薦的就是這個版本。

### 開源 tailscaled 版

Tailscale 的核心是[開放原始碼](https://github.com/tailscale/tailscale)的，可以直接在 macOS 上跑 `tailscale` 和 `tailscaled` 這兩支 CLI 程式（例如用 Homebrew 安裝）。它不走 Network/System Extension，而是直接用核心的 [utun 介面](https://en.wikipedia.org/wiki/TUN/TAP)建立隧道。代價是：

- 沒有 GUI：沒有選單列圖示，一切用指令操作，也不會出現在 macOS 系統設定的 VPN 清單裡
- 測試程度不如另外兩版

好處是完全開源、可以在登入前（開機時）就跑起來、可以當 Tailscale SSH server 等。官方的定位是給有經驗的 macOS 系統管理員做無人值守（unattended）的部署。

## 怎麼安裝

### Mac App Store 版

直接從 App Store 安裝。想用指令自動化部署的話，可以用 [mas-cli](https://github.com/mas-cli/mas)：

```bash
mas install 1475387142
```

### Standalone 版

從官方下載頁取回 `.pkg`（[Tailscale-latest-macos.pkg](https://pkgs.tailscale.com/stable/Tailscale-latest-macos.pkg)），點兩下安裝；慣用 Homebrew 的話，`brew install --cask tailscale-app` 裝的也是同一個 `.pkg`。

### 開源 tailscaled 版

用 Homebrew 安裝並啟動：

```bash
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](https://github.com/tailscale/tailscale/wiki/Tailscaled-on-macOS)）。最後一樣執行 `sudo tailscale up` 登入。

> 開源版的 MagicDNS 由 `tailscaled` 自動設定：它會用 macOS 的 split DNS，在 `/etc/resolver/` 底下為 tailnet 網域建立設定檔，把這些網域指到 `100.100.100.100`，不會動到機器的全域 DNS。

## 功能差異比較表

完整差異如下（整理自[官方比較表](https://tailscale.com/kb/1065/macos-variants)）：

| 功能                     | 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](/features/serve/) 與 [Tailscale Funnel](/features/funnel/)。官方的版本比較表把 Funnel 標成 GUI 版不支援，但 [`tailscale funnel` 指令參考](https://tailscale.com/kb/1311/funnel)與原始碼都只擋檔案與資料夾，本站以後者為準。
- App Store 版的金鑰與狀態存在使用者 Keychain、跟著登入的使用者走，也因為沙盒的關係沒辦法在使用者登入前執行；開源版能辦到這點，斷電重開後不用登入就能連回這台機器（例如遠端 VNC）。

## 怎麼判斷自己裝的是哪一版

- **完全沒有選單列圖示、只能用指令**：就是開源 tailscaled 版，它沒有 GUI。
- **有選單列圖示**：是兩個 GUI 版之一。兩版都裝在 `/Applications/Tailscale.app`，介面一模一樣，從外觀分不出來。

兩個 GUI 版可以用 App Store 的收據檔分辨——只有 App Store 版的 app 裡會有 `_MASReceipt`：

```bash
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 的擴充功能無法啟動。要換版本時照這個順序：

1. 把目前的 `Tailscale.app` 丟進垃圾桶
2. 清空垃圾桶
3. 重新開機
4. 再安裝另一個版本

換到開源版也一樣：先照上面的步驟把 GUI 版移乾淨，再 `brew install --formula tailscale`。反方向（開源版換回 GUI 版）則先把服務停掉並移除：

```bash
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](/features/serve/) 一文的說明。

## 參考資料

- [Three ways to run Tailscale on macOS（官方文件）](https://tailscale.com/kb/1065/macos-variants)
- [tailscaled on macOS（官方 wiki）](https://github.com/tailscale/tailscale/wiki/Tailscaled-on-macOS)
- [Homebrew formula：tailscale](https://formulae.brew.sh/formula/tailscale)
- [mas-cli：App Store 指令安裝工具](https://github.com/mas-cli/mas)

Source: https://tailscale.tw/platforms/macos-install/index.mdx
