近日,大家有架站、私有雲端 NAS、Portal、以及後台相關系統 … 等服務伺服器對外需求,但有考量是不想讓 IP 位址、Port 埠來連線裸奔,其中私有雲端 NAS 發生頻頻勒索病毒事件,非常極度具針對性地侵襲,其實不管那家廠牌都有可能發生,有一件事情可做得到,就是 Cloudflare Tunnel 取代對外連線裸奔,也是 Argo Tunnel 前身分出來做為免費版使用,是不是很佛心嗎?
什麼是 Cloudflare Tunnel?
Cloudflare Tunnel 是一款內網穿透的隧道軟體,也是 Argo Tunnel 前身分出來做為免費版使用,它可以快速建立安全地加密到任何服務的流量,可以保護您的伺務器免受直接攻擊,就像本身伺服器跟 Cloudflare 最近的資料中心之間,建立一條 Tunnel 私有通道,所以在 Router 防火牆不需開任何對外 Port 埠,避免資訊洩露。
Argo Tunnel 前身分出來 Cloudflare Tunnel 免費版:https://blog.cloudflare.com/tunnel-for-everyone/
Cloudflare Tunnel 優點
- 可隱藏真實 IP 位址
- 可隱藏對外 Port 埠
- 非固定制浮動 IP 位址也能用,像 DDNS 原理。
- 無流量限制
- WAF 防護
- DDoS 防禦(註:DDoS 防禦有分等級,依據你帳戶購買方案決定分配 DDoS 防禦等級)
- 全球各國快速連線
- 免費
- Free、Pro 方案,僅基礎 DDoS 防禦
- Business、Enterprise 方案,可進階 DDoS 防禦。
Cloudflare Tunnel 缺點
用戶 Free、Pro 方案沒有 TPE 台灣節點,若你位置在台灣的話,連 Cloudflare Tunnel 會繞道 LAX、SIN 美國節點,載入會延遲高,所以由於台灣 ISP 與 Cloudflare 有商業存在爭議問題,只能購買 Enterprise 方案,才會有 TPE 台灣節點,相對是價格非常貴,一個月至少 3,000 美金起跳。
事前準備
- 您需要有網域名稱,也可以向 Cloudflare 購買網域名稱。
- 網域名稱必須由 Cloudflare 託管 DNS 服務。
設定方法
先上到 Cloudflare Dashboard ( https://dash.cloudflare.com/ ) 登入後,左側點選 Zero Trust 進入平台。
在 Zero Trust 左側選單,點選 Tunnel 進入,新增 Create a tunnel 輸入自訂 name 名稱,按下 Save tunnel 儲存專案。
建立 Route tunnel 後,點選 Docker 會產生下方的 token 代碼,複製它下來。
依 Synology 操作範例,在套件中心,點選設定,新增 SynoCommunity 第三方套件。
然後,輸入 clouflared 搜尋,並且同意安裝它。
剛才複製下來 token 代碼,把它貼上並且確定保存。
回到 Cloudflare Zero Trust 頁面,切到 Public Hostname 標籤,點選 Add a public hostname 進入設定。
- Subdomain:輸入子網域(abc.examle.com)
- Domaina:選擇您的網域名稱(abc.examle.com)
- Serice:輸入要導進內部網路的 IP 位址、Port 埠(abc.examle.com → https://10.1.1.200:9000)
- No TLS Verify:開啟不檢查 TLS,因為內部網路有些是 https TLS,若不開啟的話,會顯示錯誤畫面。
以上設定完成後,請將所有對外的 Port 全部關閉,按下 Save hostname 儲存,回到 Tunnels 清單,您會看到 Status 狀態已 Active 生效了。
將網域對應 Cloudflare Tunnel 設定完成後,測試一下輸入網域是不是可以連嗎?記得去 Router 防火牆把對外 Port 埠對應可以拿掉了,那麼一來可以這樣連線,這樣完工囉~