使用 Tailscale,讓 Home Assistant 在無法開 Port 的環境下實現外網連線

一般用戶版:不用開 Port 也能連回家的 Home Assistant!用 Tailscale 一鍵搞定外網連線

很多人在架設 Home Assistant 之後,下一個問題就是:「我要怎麼在外面(公司、咖啡廳、出差)連回家裡的 HA?

一般教學都會叫你在路由器上設定 Port Forwarding,把 8123 Port 打開給外網使用。但現實情況常常是:

  • 社區網路或租屋,你根本碰不到路由器
  • 使用 4G / 5G 分享器,背後是 CGNAT,無法開 Port
  • 公司或宿舍網路,所有 Port 都被封死

這篇文章會教你用 Tailscale 來解決這件事,重點是:不用開任何 Port、不用固定 IP,也不會把 Home Assistant 直接暴露在公網上,而是透過一個「只有你自己設備能進來」的私有 VPN 網路來連回家。


先搞清楚:Tailscale 不是讓「全世界」連你,而是讓「你的設備」像在同一個家

很重要的一點:Tailscale 不是開一個公開的 100.x.x.x IP 給全世界用,而是建立一個只有你自己(或你授權的人)才能加入的「私人虛擬網路」。

所以流程會長這樣:

  1. 在 Home Assistant 上安裝 Tailscale Add-on,讓 HA 成為 Tailscale 網路中的一台節點。
  2. 在你常用的外部設備(筆電、桌機、手機、平板)上也安裝 Tailscale 客戶端。
  3. 當你人在外面時,先在裝置上啟動 Tailscale → 再輸入 HA 的 Tailscale IP 或 MagicDNS 名稱。

只有登入同一個 Tailscale 帳號、加入同一個網路的設備,才能看到那個 100.x.x.x 的 IP,外面的公網完全看不到你的 HA,安全性也更高。


Tailscale 是什麼?為什麼適合 Home Assistant?

Tailscale 是基於 WireGuard 的 Mesh VPN 服務,它會幫你在所有登入的設備之間建立一個加密且私有的網路,就像你把「家裡的 HA、你的手機、你的筆電」全部插在同一台虛擬路由器上。

它非常適合這些情境:

  • 家裡網路無法設定 Port Forward
  • 使用 4G / 5G 分享器,IP 是 CGNAT
  • 社區 / 學校 / 公司網路,封鎖對外連線
  • 你不想把 HA 暴露在公網,只想自己安靜用

整體架構概念示意

你可以想像成這樣一個模型:

  • Home Assistant OS 裝了 Tailscale Add-on → 變成 Tailscale 網路裡的一台「伺服器節點」。
  • 你的手機 / 筆電 / 平板裝了 Tailscale App → 變成這個私人網路中的「客戶端節點」。
  • 兩邊都登入同一個 Tailscale 帳號後,就像插在同一個內網裡,用 IP 或主機名稱就能互相連線。

這也是為什麼:光是讓 HA 登入 Tailscale 還不夠,你一定要在外部設備也安裝 Tailscale 才能透過那個 IP 存取


步驟 1:準備一個 Tailscale 帳號

你可以用以下任何一種方式登入 Tailscale:

  • Google 帳號
  • Microsoft 帳號
  • GitHub 帳號
  • Apple ID(部分平台)

先到官方網站註冊 / 登入:

https://tailscale.com/

登入後暫時不用做什麼,下一步我們會先讓 Home Assistant 加入這個 VPN。


步驟 2:在 Home Assistant OS 安裝 Tailscale Add-on

2-1. 打開 Add-on Store

  1. 在 Home Assistant 左邊選單點 Settings(設定)
  2. 點選 Add-ons(附加元件)
  3. 右下角點 Add-on Store

2-2. 搜尋並安裝 Tailscale

  1. 在搜尋框中輸入 Tailscale
  2. 找到後點進去,按下 Install(安裝)

2-3. 啟動並登入 Tailscale

  1. 安裝完成後,按 Start 啟動 Add-on。
  2. Open Web UI 或查看 Add-on 頁面中的登入連結。
  3. 系統會開啟一個 Tailscale 登入頁面,請使用你在步驟 1 準備的帳號登入。
  4. 登入後,你會在 Tailscale 後台看到一台新的設備(例如:homeassistant)。

到這裡為止,代表:你的 Home Assistant 已經是 Tailscale VPN 的一員,但目前只有「HA 這一端」接上去,還沒有人可以從外面連進來。


以下是小編目前已經加入 Tailscale 的設備。基本上只要 Windows 或者 平板或手機。啟用 Tailscale 後隨時可以互聯。不須額外設定路由器。Tailscale 的主要特色包括基於 WireGuard 的點對點(P2P)安全連接、簡單易用的零配置網狀網路(Mesh VPN)架構、跨平台支援,以及豐富的進階功能。 它透過建立一個私有的虛擬網路 (tailnet),讓不同位置的設備能夠像在同一局域網內一樣,安全、快速地互相連接。

步驟 3:在外部電腦安裝 Tailscale 客戶端

接下來,我們要讓「你平常用來操作的那台電腦」也加入同一個 Tailscale 網路。

3-1. 在 Windows / macOS 安裝 Tailscale

  1. https://tailscale.com/download
  2. 下載對應的版本(Windows / macOS)。
  3. 安裝完成後啟動 Tailscale。
  4. 登入 同一個帳號(這點很重要)。

登入成功後,這台電腦就會出現在 Tailscale 管理後台裡,和 Home Assistant 在同一個私有網路中。

3-2. 確認 Home Assistant 的 Tailscale IP / 名稱

  1. 在瀏覽器登入 Tailscale 管理後台。
  2. 你應該會看到兩台設備,例如:
    • homeassistant (100.74.22.18)
    • your-laptop (100.101.20.5)

這裡的 100.74.22.18 就是你的 Home Assistant 在 Tailscale 網路裡的 IP 位址,只有加入這個 Tailscale 網路的設備看得到,外面的公網是看不到的

3-3. 從外部電腦連線到 Home Assistant

  1. 確定你的電腦右下角(或 macOS 狀態列)中的 Tailscale 已顯示「已連線」。
  2. 開啟瀏覽器,直接輸入:
  3. 如果設定正確,你就會看到熟悉的 Home Assistant 登入畫面。

這時你人其實可以在公司、在咖啡廳、甚至在國外,只要 Tailscale 有連線,你就等於「回到家裡同一個內網」,這就是 Tailscale 的威力。


步驟 4:在手機上安裝 Tailscale,讓 App 也能外網連線

如果你想用手機 App 直接控制 Home Assistant,一樣要先讓手機加入 Tailscale。

4-1. 安裝 Tailscale App

  • Android:打開 Google Play,搜尋「Tailscale」。
  • iPhone:打開 App Store,搜尋「Tailscale」。
  1. 下載並安裝後,開啟 Tailscale App。
  2. 使用和前面相同的帳號登入(一定要同一個)。
  3. 允許建立 VPN 連線。

4-2. 手機連線 Home Assistant 的方式

  1. 先打開 Tailscale App,確認狀態為「Connected / 已連線」。
  2. 打開手機瀏覽器或 Home Assistant 官方 App。
  3. 輸入:

    或者使用 MagicDNS 的名稱(下一節介紹)。

從此之後,你只要記得出門前不用特別設定,人在外面時先打開 Tailscale,再開 Home Assistant App 就行了


步驟 5:啟用 MagicDNS,免記 IP 用名稱就能連

如果你不想記 100.x.x.x 這種 IP,可以啟用 Tailscale 的 MagicDNS 功能,讓你用一個類似主機名稱的網址來存取 HA。

5-1. 在 Tailscale 啟用 MagicDNS

  1. 登入 Tailscale 管理後台。
  2. 左側選單選 DNS
  3. 啟用 MagicDNS

啟用後,你會看到類似這樣的名稱:

5-2. 用 MagicDNS 連線 Home Assistant

之後,在任何一台已連上 Tailscale 的設備上,你都可以直接輸入:

注意:這個名稱一樣只在 Tailscale VPN 網路內有效,外面的公網 DNS 根本不知道這個網域是誰,所以不會有被亂掃的風險。


常見問題(FAQ)

Q1:為什麼我在別人家網路輸入 100.x.x.x:8123 連不到?
因為 Tailscale 的 IP 只在「登入 Tailscale 的設備」之間有效。如果那台裝置沒啟動 Tailscale,看到的就是普通網路,根本不知道 100.x.x.x 是誰。
Q2:Tailscale 會不會很慢?
不會。Tailscale 底層用的是 WireGuard,速度和延遲都相當優秀,而且很多時候會建立「點對點」連線,並不經過中間中繼。
Q3:我可以讓家人也用手機連進來嗎?
可以,你可以邀請家人的帳號加入你的 Tailscale 網路,或直接讓他們用你的登入(視安全需求而定)。只要加入同一個 Tailscale 網路,就能在外面連回家裡的 HA。
Q4:這樣算不算把 Home Assistant 開在外網?
嚴格來說不算。HA 並沒有暴露在「全世界都能掃到的公網 IP」上,而是只對你自己的 Tailscale VPN 節點開放,安全性比直接 Port Forward 高很多。
Q5:那跟 Nabu Casa / Cloudflare Tunnel 有什麼差別?
簡單說:Tailscale 是「你自己的私人內網」,連進來的人都要安裝 Tailscale;Nabu Casa 與 Cloudflare Tunnel 是把 HA 對外提供一個網址,較適合「隨手用瀏覽器就要連」的情境。