2025/03/07

Raspberry Pi #25 跨網存取技巧 Tailscale 全球存取(1) - Internet access to your Raspberry Pi

⭐⭐大家好,歡迎來到 Stonez56 創客工坊!今天我們要來教大家一個超實用的技巧,

讓你隨時隨地都能安全地訪問家裡的樹莓派。 Tailscale 是一個非常方便的 VPN 工具, 它能讓你建立一個安全的私人網路,讓你從任何地方都能像在區域網路一樣訪問你的裝置。 而且設定非常簡單,即使是新手也能輕鬆上手。最重要的是,它非常安全, 不用擔心資料外洩的問題。

Tailscale 的應用:
使用 Tailscale,您可以將手機連接到您的 tailnet 中的各種服務。以下是常見可連接服務的列表:

  1. 資料庫:遠程管理或查詢 MySQL、PostgreSQL 或 MongoDB 等資料庫。

  2. MQTT 中介代理:訪問使用像 Mosquitto 的 MQTT 中介代理的物聯網設備或系統。

  3. 網頁伺服器:連接到託管網站或應用程序的網頁伺服器(如 Apache、Nginx)。

  4. 檔案共享服務:使用 SFTP 或 SMB 協議訪問共享檔案或目錄。

  5. 遠端桌面:使用 RDP 或 VNC 遠程控制設備。

  6. 媒體伺服器:從 Plex、Emby 或類似的媒體伺服器串流內容。

  7. 開發環境:訪問遠端的開發環境,例如 SSH 或代碼伺服器。

  8. 網絡附加存儲(NAS):管理或檢索 NAS 設備中的檔案。


首先,我們要在樹莓派上安裝 Tailscale。打開你的樹莓派終端機,然後輸入以下指令:

Bash curl -fsSSL https://tailscale.com/install.sh | sh


安裝完成後,我們需要啟用 Tailscale。輸入以下指令:

Bash sudo tailscale up



這時候你會看到一個 URL,用你的瀏覽器打開它,然後登入你的 Tailscale 帳號。

接下來,我們要在你的手機或電腦上也安裝 Tailscale。到 Tailscale 的官網下載

對應的應用程式,然後用剛剛在樹莓派上登入的同一個帳號登入。

現在,我們要找到樹莓派的 Tailscale IP。在樹莓派終端機輸入以下指令:

Bash tailscale ip -4


這個 IP 就是我們用來遠端訪問樹莓派的地址。


現在,我們要實際演示如何使用手機或電腦連線到樹莓派。這裡我會針對幾種常見的使用情境 做說明:

1. SSH 連線(用於遠端終端機操作):

  • 電腦 (Windows/macOS/Linux):

    • 打開終端機(Windows 使用 PowerShell 或 Windows Terminal,macOS/Linux 使用 Terminal)。

    • 輸入以下指令,並將 [樹莓派的 Tailscale IP] 替換成你剛剛找到的 IP:

    • Bash ssh pi@[樹莓派的 Tailscale IP]

  • 按下 Enter 後,系統會提示你輸入樹莓派的密碼。預設密碼通常是 raspberry, 但如果你已經更改過,請輸入你設定的密碼。

  • 成功登入後,你就可以在終端機中操作樹莓派了。

  • 手機 (iOS/Android):

    • 下載並安裝 SSH 客戶端應用程式,例如 Termius 或 JuiceSSH。

    • 在應用程式中新增一個連線,輸入樹莓派的 Tailscale IP、使用者名稱 (通常是 pi) 密碼。

    • 點擊連線,即可透過手機操作樹莓派的終端機。

2. MQTT 控制(用於物聯網應用):

  • 電腦/手機:

    • 安裝 MQTT 客戶端應用程式,例如 MQTT Explorer 或 MQTT Dash。

    • 在應用程式中新增一個連線,輸入樹莓派的 Tailscale IP 作為 Broker 地址, 並設定相應的 Port (預設為 1883)。

    • 訂閱或發布 MQTT 主題,即可與樹莓派上的 MQTT Broker 進行互動。

3. Web 服務):

  • 電腦/手機:

    • 打開瀏覽器,在網址列輸入 http://[樹莓派的 Tailscale IP]:[Port], 並將 [Port] 替換成你樹莓派上 Web 服務使用的 Port。 例如,如果你的 Web 服務使用 80 Port, 則輸入 http://[樹莓派的 Tailscale IP]

    • 按下 Enter,即可瀏覽樹莓派上的網頁。

成功連線到樹莓派後,你可以執行一些簡單的指令來測試連線是否正常。例如,在 SSH 連線中,你可以輸入 hostname 來查看樹莓派的主機名稱,或者輸入 uptime 來查看系統運行時間。對於網頁,可以查看網頁是否正常顯示。

對於MQTT可以發布一個簡單的測試資訊,然後讓樹莓派回覆。


為了讓 Tailscale 在每次樹莓派開機時自動啟動,我們需要啟用 systemd 服務。 在樹莓派終端機輸入以下指令:

Bash sudo systemctl enable tailscaled


這樣就設定完成啦!下次樹莓派開機,Tailscale 就會自動啟動,你就能隨時隨地訪問它了。

如果你想要驗證服務是否成功啟動,可以輸入:

Bash sudo systemctl is-enabled tailscaled


如果遇到問題,你可以使用以下命令來查看日誌:

Bash sudo journalctl -u tailscaled


恭喜你!現在你已經學會如何使用 Tailscale 遠端訪問你的樹莓派,並且設定了開機自動啟動。是不是很簡單呢?趕快試試看吧!如果你有任何問題,歡迎在下方留言。



如果時間不夠的朋友, 也可以從以下的時間軸挑選想看的部份即可! 

00:00 開始

01:53 下載安裝 Tailscale 到樹莓派

05:17 手機上安裝 Tailscale App

07:12 Tailscale 免費使用額度

08:03 由外網連回樹莓派

12:32 設定 Tailscale 開機自動執行


資源:

 🍗Tailscale : https://tailscale.com 

 🍗 Setting up Tailscale on Pi: https://tailscale.com/kb/1174/install-debian-bookworm  

No comments:

Post a Comment