內網穿透-3 CloudFlare Tunnel
- 難度(滿分10分最簡單,0分最複雜):3分
- 使用軟體或服務:CloudFlare Tunnel
- 預計時間:視情況…至少也要半小時以上
- 價格:網域費用,基本也是一年一千多,最便宜的應該可以壓在幾百塊一年
- 優點:
- 不需要自行搭建伺服器
- 連接位址可以固定
- 功能相對較完整,介於Ngrok跟FRP之間的平衡點
- 服務與連線穩定
- 升級空間足夠
- 有基本防攻擊,例如抗DDoS之類的
CF真是太佛啦~~
- 缺點:
- 連接位址要自己擁有網域才能做使用,否則空想就是空想,你要給玩家敲IP也不反對…
- 可以使用自己的網域,但也只能使用自己的網域
- 設定非常複雜,還要跟Linux打交道
- 沒有可視畫面板,需要請自己去裝Pterdactyl或MCSM
- 基本上一定要花錢,多少而已(
你要開客家服也可以,但就是拿時間換錢,非常麻煩) - 使用者端要安裝一個介接程式
- 適用於:開較大型的伺服器,或需要長期維護下去的伺服器(尤其允許玩家課金那種)
先上架構圖:
原理跟Ngrok相似,但CF Tunnel會直接與你的網域連接(代表連接位址是固定的),而且是免費的!!!但要注意一點,Minecraft用的是一種名為TCP的通訊協議,這種協議CF不知道是不能做還是懶得做,反正你連線得要在電腦安裝一個叫Cloudflared的軟體,它會在本地架一個25565端口的TCP伺服器,並用一些魔法將麥塊傳的要求轉發給服主那邊(總之就是要裝軟體…說那麼複雜幹嘛)
上教學,其實我不太想講但還是講一下:
CF Tunnel註冊教學
首先先前往CF註冊帳號並綁訂一個網域到上面,教學網路有很多這裡不細講(我絕對不會說我懶),接著要做的事情就是前往one.dash.cloudflare.com。
第一次進入時會需要設定 team 的名稱(未來還是可以改的),以及要選擇方案以及填入付款資訊a.k.a.信用卡,可以選$0的免費方案。不過就算選了$0還是要填信用卡以及跑過付款流程,雖然實際上並不會被收費(你可以在叫你填信用卡的時候直接一閃重新回到上面連結,就可以跳掉填卡號的流程了)
無論如何,進到Zero Trust頁面後都是英文,選左邊Network>Tunnels(我記得不是Access還是Gateway嗎,反正能用即可…),按Create A Tunnel

Connector選擇Cloudflared,你用Linux可以選WARP啦我沒用過…Next之後名稱看你心情,然後Save。接著你會看到一堆下載按紐,這是下載伺服器端,你選自己系統就好,我自己是用Win10 64bit,跟我一樣的話你可以直接點下面連結:

安裝視窗通常開起來UAC同意後就關掉了,接著按Windows+X之後按Windows Powershell (系統管理員)
,如此會叫出一個終端機視窗背景藍色的,我有另外裝Windows Terminal因為預設的好醜w,接著回到網頁下方會給你一組指令如圖:

Token
先前忘記第幾篇介紹DCSRV時,在設定Token時就有說過Token不能給人知道,這個也不例外。我敢放截圖是因為那串Token長的跟什麼一樣,所以截圖給的是有截斷的。千萬不要把完整的代碼給別人!!
Store your token carefully. This command includes a sensitive token that allows the connector to run. Anyone with access to this token will be able to run the tunnel.
記得用點選的方式複製,直接照著打沒用的。複製後右鍵即可貼上在剛剛開的終端機中(一定要管理員權限),Ctrl系列組合鍵在那沒用我先提醒你!
$ cloudflared.exe service install abcdEFg13...
2024-07-08T01:39:57Z INF Installing cloudflared Windows service
2024-07-08T01:39:57Z INF cloudflared agent service is installed windowsServiceName=Cloudflared
2024-07-08T01:39:58Z INF Agent service for cloudflared installed successfully windowsServiceName=Cloudflared
如果你也看到類似上方的訊息,恭喜你成功了!回到網頁面板會在Connectors中看到這個畫面:

按右下角的Next,接著去設定連線位址:

Subdomain是子域名名稱,隨便輸入,不要太長不然玩家記不住;Domain是主域名,用下拉選單選擇,記得這之前要先至少一個網域掛上CF的Nameserver,否則你現在做的都只是玩笑…Path我通常不會填寫,看你。記得這個就是玩家未來做 外網連接 用的位址,最好不要用內部位址
Type選TCP,URL是本機URL,請輸入localhost:25565
,記得如果你端口不是用25565要換成自己的端口,然後會出現以下畫面:

恭喜你,完成了。Status如果出現Healthy就是完成!
使用Cloudflared連線伺服器
接著前往以下網站下載Cloudflared,它是開源的:
Winget與Homebrew
如果你的電腦是Win11系統,一般都有內建Winget程式,可以用以下指令安裝:
winget install --id Cloudflare.cloudflared
蘋果的MacOS則是可以用Homebrew安裝,如下:
brew install cloudflared
而企鵝(Linux)則是用以下連結下載:
檔案類型 | 64位元版 | 32位元版 | ARM架構系統 | ARM 64位元 |
---|---|---|---|---|
二進位格式 | 點我下載 | 點我下載 | 點我下載 | 點我下載 |
Debian格式(.deb) | 點我下載 | 點我下載 | 點我下載 | 點我下載 |
RPM格式(.rpm) | 點我下載 | 點我下載 | 點我下載 | 點我下載 |
下載後建立一個資料夾,這檔案每個要進福的都要用,所以你還是做一個快速啟動包給玩家用吧~~建立一個BAT文件(建TXT將副檔名改.bat),右鍵編輯輸入以下程式碼:
cloudflared access tcp --hostname <剛設定的子域名> --listener <本地IP:端口>
基本上來說listener都會打這樣:127.0.0.1:25565
,二級域名就是你先前設定的。玩家連伺服器只要輸入127.0.0.1即可加入喔~~
早安