Tailscale 用於遠端連接 NAS

你好。

我想分享我最近安裝 Tailscale 來遠端連接家裡 NAS 的經驗。我過去幾年一直用 OpenVPN,避免使用 QNAP MyCloud Link。OpenVPN 伺服器就是我的 QNAP NAS,我設定了 Qfirewall 來接受連線,也在家裡的路由器/數據機上設置了端口轉發。最近我遺失了路由器的設定,只好重新設置端口轉發。然後我發現路由器一啟用端口轉發就開始發出很多警告。我以前也看過這些警告,但不知道是端口轉發造成的。

我查了一下資料,才發現端口轉發從一開始就不是好主意。然後我發現了 Tailscale,它承諾超簡單又安全的連線。你去官網會看到這段說明:「A Zero Trust identity-based connectivity platform that replaces your old VPN, SASE, and PAM and connects remote teams, multi-cloud environments, CI/CD pipelines, Edge & IoT devices, and AI workloads.」:unamused_face::man_shrugging: 我只是有一台 NAS 存照片,完全看不懂這些東西。

這個工具可以做很多事,但主要功能是建立多台裝置之間的安全網路連線。這樣你就可以對這些裝置做很多操作。沒有伺服器或客戶端,只有同儕(peers)。你可以從一台裝置開始使用。它需要驗證,他們決定用外部驗證,所以你必須用外部帳號(Google、GitHub、Microsoft、Apple)登入。

這個頁面 Access QNAP NAS from anywhere · Tailscale Docs 說它支援 ARM 64 處理器,而我的 QNAP TS-216G 是 ARM 處理器。如果你在應用中心找不到這個 app(像我一樣),可以到這個連結下載:https://pkgs.tailscale.com/stable/#qpkgs。有很多版本:arm-x19、arm-x31、arm-x41、arm-64、x86、x86_64、x86_ce53xx。我不太知道差別,只知道我的 NAS 是 ARM 處理器。我查了很多資料,但找不到要用哪一個。最後我手動安裝了 arm_64 檔案在 NAS 上,結果成功了。

打開 app 會看到一個大按鈕,會開啟 tailscale 註冊頁面。你需要用其中一個提供者驗證。你選擇的 email 地址會成為網路名稱和擁有者。完成這步後,qnap 就連上網路並取得一個開頭是 100 的 ip 地址。你可以用同一個 email 地址(使用者)把更多裝置加進網路,每台裝置都會有自己的 ip 地址。我想之後也可以加更多使用者(email 地址)進網路,讓他們加更多裝置。

我在我的 Android 手機安裝了 tailscale,用同一個 email 地址登入。現在兩台裝置都連上自己的 tailscale 網路,可以用各自的 tailscale ip 地址 互相連接,即使在不同網路。每台裝置現在都有兩個 ip 地址,一個是原本網路的 ip,一個是 tailscale ip 地址。我沒有改路由器任何設定,但現在 NAS 可以從外部網路的 Android 手機存取。

很容易設定任何 tailscale 裝置開啟路由到原本網路的其他 IP。例如,NAS(已連接 tailscale)可以開路由到家裡網路的印表機。這樣我的手機在旅館就可以用印表機的家裡 ip 地址連接。若印表機能裝 tailscale 就不用 NAS 開路由。這對無法安裝 tailscale 的裝置很有用。

我在手機的 qfile 設定了 NAS 的本地 ip 地址,所以在家裡可以直接連接 NAS。以前用 openvpn,我啟動 VPN 就能連 NAS,因為等於在本地網路。但用 tailscale 時,手機在旅館看到的是 NAS 的 tailscale ip 地址,不是本地 ip。一個方法是把 qfile app 的 ip 地址改成 tailscale ip 地址,但回家後又要改回本地地址。不理想,因為 qfile 本來就是設定一次 ip 就不用再管。

我正在測試另一個解決方案,就是開一條路由到 NAS 本身。這樣 qfile 又可以用原本的本地 ip 地址連 NAS。我覺得這有點奇怪但確實有效。另一個方法是用本地主機名稱代替 ip 地址。這方法在本地有效,但我家網路的子網路對主機名稱支援不好,所以沒深入研究。

目前為止,我可以確認 tailscale 能建立 NAS 的遠端連線。不過我還不知道長時間連線的速度和穩定性如何。現在了解多一點後,我覺得它真的很容易設定。我認為這是 VPN 的一個很好的替代方案。

最佳選擇永遠是在路由器上設置 VPN 端點,而不是在 NAS 上。

此致

另請參閱這篇文章

基本上,你用 TailScale 做的事情,和你用 QNAP 及其 MyQNAPCloud.com 入口網站做的是一樣的。你是在用 TailScale 作為你 NAS 的代理。

TailScale 可能會比較快,因為 MyQNAPCloud 入口網站必須經過 QNAP 在台灣的伺服器。不過它確實運作得相當不錯,完全不需要任何設定。

不過我同意,在路由器上設置 VPN 才是真正最好的做法。

TailScale 可能會更快,因為 MyQNAPCloud 入口網站必須通過 QNAP 在台灣的伺服器。

「Tailscale 使用 WireGuard 協定在您的裝置之間建立直接且加密的連線。在這種情況下,您的資料會直接透過公共網路從一台裝置傳送到另一台裝置,而不會經過任何 Tailscale 擁有的伺服器。」

太好了!我之前不確定 Tailscale 是否會經過他們的伺服器。確實快多了……

非常感謝您的寶貴分享!您的經驗與反饋對我們以及社群中的其他用戶都非常有幫助。再次感謝您對我們產品的支持!

感謝大家的留言。我的家用路由器/數據機本身無法運行 VPN,但 tailscale 到目前為止運作得很順利。:grin:

感謝你的精彩分享。我已經使用 Tailscale 將近一年了,感到非常非常滿意。我用它來做一些不同的事情,所以想分享一下我的用途和整體經驗。

因為已經有一段時間了,我不太記得之前是怎麼做的。不過,我想我以前是用 myQNAPcloud 連接到我的家庭網路,並在路由器和 QNAP TS-464 上開啟 VPN 連接埠,運行 QVPN Server。雖然這樣可以運作,但結果是我每天會多次收到對管理員帳號的嘗試登入。當然我已經停用了該帳號,但這還是讓人擔心。

我的用途有兩個。一個是我想在旅行時能夠存取 NAS 上的資料,但更重要的是,我住在美國,在歐洲(斯洛伐克)有一間公寓,想要能夠讓我的 Apple TV 通過美國的住家路由,這樣我就可以觀看 Netflix、Prime Video 等等。當你從國外存取這些串流服務時,你能看的內容會被大幅限制,而且用一般的 VPN 對我來說沒有效,因為大多數服務都會偵測並封鎖這些連線。

整體來說,QNAP 的 VPN 解決方案還算可以,但不是最穩定的,再加上被駭客嘗試入侵讓我很困擾,所以我開始尋找替代方案,這時就發現了 Tailscale。真的很慶幸我找到了它。

正如原始發文者所說,Tailscale 不是傳統的客戶端-伺服器架構,而是點對點的網路。每個節點都會運行 Tailscale 軟體並連接到這個網路。好處之一是我可以把路由器上的 VPN 連接埠關掉,因為連接我的網路已經不需要它了。

另外,你可以指定一個或多個節點作為「出口節點(Exit node)」,當你連接到網路時,可以選擇一個出口節點,然後所有非本地的流量都會經過那個節點。所以我在 Apple TV 上安裝了 Tailscale 應用程式,讓它一直連接到我的網路,並設定 QNAP 作為出口節點。這樣一來,所有串流服務都能正常運作。我也可以在旅行時用 Mac、iPhone 或 iPad 連線並觀看串流內容。

最近我遇到一個情況,需要存取斯洛伐克政府網站,但無法連上。該網站在斯洛伐克以外地區被封鎖,且也會封鎖來自 VPN 的連線。不過,我可以把 Apple TV 設為出口節點,然後從美國連接到我的 Tailscale 網路,指定 Apple TV 為出口節點!

最後,Tailscale 還可以設定子網路,讓你能夠存取網路上沒有安裝 Tailscale 軟體的資源。例如,我可以透過 QNAP 或 Apple TV 存取家裡的路由器或其他裝置。

總結來說,我真的很高興發現了 Tailscale。我用的是免費方案,限制為 3 位使用者(不是裝置),但這已經足夠讓我和我太太的 MacBook、iPhone、iPad 以及那台 Apple TV 都能隨時隨地串流內容。非常推薦!

感謝你提供關於 Tailscale 的精彩資訊。這聽起來非常有趣,尤其是你還可以指定出口節點等功能,真的很酷!

回想起來,我想我是因為搜尋「如何在旅行時觀看影片」才找到它的。這是一個很棒的使用情境。同樣重要的是,不需要在我的路由器上開啟端口,也不用擔心被大量駭客攻擊。

哦,而且真的很容易嘗試。只要安裝在你的 QNAP 和裝置上即可。它是免費的。你也可以在保留其他 VPN 設定的同時使用它。我就是這麼做的。當我確認它運作良好後,才移除其他設定。

你好。

我一定要在手機上運行這個應用程式嗎?還是只要訪問分配的地址就可以了?沒有這個應用程式我無法訪問NAS。

不太清楚你的問題是什麼,這是一個 VPN 連線,當然你的客戶端需要運行才能訪問你的目標

另外,請確保使用正確的語言發帖

嗨,我已經在我的 TS-453A 上設置好了。我可以看到 NAS 已經在 Tailscale 上可用,但無法通過 https://mynas.<tailscale_domain>/cgi-bin 訪問。在本地網路中,我是用 https://mynas/cgi-bin 來進入 QTS 管理介面。

想請問正確的管理介面連接埠(port)是多少?

有什麼建議或解決方法都非常感謝,提前謝謝大家!

你好,使用 tailscale 時,我通常會用 (tailscale) IP 位址來存取 QTS 入口。舉例來說,我會把筆電連到 tailscale,然後在瀏覽器中輸入這個位址:100.x.x.x:8080/cgi-bin。你可以在系統列的 tailscale 圖示中,選擇「我的裝置」下的裝置來找到 IP 位址。