sell安全
vpn_lock

Cloudflare Tunnel

一條從你機器連到 Cloudflare 的安全通道 —— 不用公開 IP、不開連接埠、伺服器不外露。

0 ports對外開放的連接埠
Outbound-only連線方向
Freecloudflared 程式
lightbulb

Cloudflare Tunnel 是什麼?

Cloudflare Tunnel 讓你把跑在自己電腦或內網裡的服務安全地對外發佈 —— 而且不用給它公開 IP、也不用在防火牆上開洞。

你跑一支叫 cloudflared 的小程式。它不是被動等訪客連進來,而是從你的機器主動往上連到 Cloudflare(outbound,向外連線)。訪客連到 Cloudflare,Cloudflare 再把他們的請求順著這條通道送到你的服務。

swap_vert

把它想成…

一位專屬接待員主動走出去迎接客人、再帶他們進門 —— 而不是把你家大門敞開不鎖。你家完全不必對著馬路露出任何入口。

help

為什麼用它?

傳統上要讓家用伺服器或辦公室應用程式能從網路連到,你得有公開 IP、設定連接埠轉發(port forwarding),還要開對內的防火牆規則 —— 每一項都是資安風險又麻煩。Tunnel 把這些全省掉。

block

不開連接埠

你可以在防火牆封掉所有對內流量,卻依然能被連到。

wifi_off

不用公開 IP

在家用路由器、CGNAT、會一直變動的浮動 IP 後面都能用。

shield

隱藏來源主機

你伺服器的真實 IP 從不外露,攻擊者沒辦法直接鎖定它。

https

免費 HTTPS

Cloudflare 在邊緣處理 TLS 加密,你的公開網址自動就是加密的。

target

什麼時候該用?

home

家用實驗室/自架服務

把樹莓派應用、NAS 或興趣專案發佈出去,不用動路由器設定。

terminal

本機開發示範

用一個真正的公開網址,把跑在 localhost 的網站分享給客戶或同事。

lan

內部工具

不用架整套 VPN,就能連到內部儀表板或資料庫。

terminal

SSH/遠端桌面

安全地遠端管理機器,又不用把那些連接埠暴露出去。

rocket_launch

怎麼建立一條通道?

有兩種做法:用儀表板(遠端管理,最適合新手)或用命令列。以下是裝好 cloudflared 後的經典命令列流程。

  1. 安裝 cloudflared

    在跑著你服務的機器上安裝這支連接器程式(以下示範 macOS)。

    bash
    # macOS (Homebrew)
    brew install cloudflared
    
    # or download a binary for Linux/Windows from Cloudflare
  2. 登入授權

    這會開啟瀏覽器,授權 cloudflared 並選擇這條通道要綁哪個網域。

    bash
    cloudflared tunnel login
  3. 建立通道

    幫它取個名字。Cloudflare 會產生一個唯一的通道 ID,並在你機器上建立一個憑證檔。

    bash
    cloudflared tunnel create my-tunnel
  4. 把網址指到這條通道

    建立 DNS 紀錄,讓 app.example.com 指向你的通道。

    bash
    cloudflared tunnel route dns my-tunnel app.example.com
  5. 對應你的本機服務

    在 ~/.cloudflared/config.yml 裡,把網址對應到你的本機服務(例如跑在 localhost:8080 的網站)。

    yaml
    tunnel: my-tunnel
    credentials-file: /Users/you/.cloudflared/<TUNNEL-ID>.json
    
    ingress:
      - hostname: app.example.com
        service: http://localhost:8080
      - service: http_status:404   # catch-all, required
  6. 啟動它

    啟動通道。你的本機服務現在就上線在 https://app.example.com 了。之後可把它裝成系統服務,開機就自動跑。

    bash
    cloudflared tunnel run my-tunnel
    
    # run automatically on startup (Linux/macOS):
    # sudo cloudflared service install
school

重點概念

memory

cloudflared

建立並維持通道的輕量 daemon(背景程式)。

fingerprint

通道(Tunnel)

一個有唯一 UUID 的長期物件,把你的來源主機跟 Cloudflare 連起來。

north_east

只往外連

cloudflared 主動撥出去連 Cloudflare,沒有任何東西能反過來連進你這裡。

alt_route

Ingress 規則

把每個公開網址對應到某個本機服務的設定。

hub

連接器(Connector)

每個正在跑的 cloudflared 程序;可同時跑多個做備援。

settings_remote

遠端管理

從 Zero Trust 儀表板設定整條通道,不用本機設定檔。

tips_and_updates

小提示與計費

badge

用 Access 加上登入門檻

把 Tunnel 搭配 Cloudflare Access,在任何人連到你服務前先要求登入(Google、GitHub、email 一次性密碼)—— 拿來保護私人內部工具超合適。

  • cloudflared 與 Cloudflare Tunnel 都免費使用。
  • 通道一旦能用,就把防火牆所有對內連接埠都封掉 —— 只往外連正是它的精髓。
  • 把 cloudflared 跑成系統服務,讓通道在重開機後依然存活。
  • 儀表板(遠端管理)流程最好上手;命令列則透過 config.yml 給你更多掌控。