使用 Cloudflare Tunnel 建立可遠端 SSH 存取的 Synology NAS
發佈於 2025年5月13日 (最後修改於 2025年5月31日) • 2 分鐘 閱讀 • 675 字公司放置了一台 Synology NAS,僅能透過行動 5G 路由器上網,無法對外開 port。希望能遠端從家中電腦或筆電以 SSH 操作這台 NAS,同時預留未來存取 Docker 上的其他服務(如 Metabase、HAPI-FHIR)。
myn8n.dpdns.org
Betelgeuse
ssh.myn8n.dpdns.org
docker run -d \
--name cloudflared \
--restart unless-stopped \
cloudflare/cloudflared:latest tunnel \
--no-autoupdate run \
--token <你的_Tunnel_Token>
✅ 容器啟動後即自動連線 Cloudflare 並掛載於
ssh.myn8n.dpdns.org
在任一 Linux/MacOS 上:
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o cloudflared
chmod +x cloudflared
./cloudflared login
mkdir -p /volume1/docker/cloudflared
mv ~/.cloudflared/cert.pem /volume1/docker/cloudflared/
mv ~/.cloudflared/<UUID>.json /volume1/docker/cloudflared/
新增 /volume1/docker/cloudflared/config.yml
:
tunnel: <UUID>
credentials-file: /etc/cloudflared/<UUID>.json
ingress:
- hostname: ssh.myn8n.dpdns.org
service: ssh://192.168.1.13:22
- service: http_status:404
至 Cloudflare Zero Trust > Tunnels > Betelgeuse > Private Network:
新增內網 CIDR:192.168.1.0/24
Cloudflare Zero Trust > Access > Applications > Add Application
ssh
myn8n.dpdns.org
cloudflared access ssh --hostname ssh.myn8n.dpdns.org
系統會開啟瀏覽器要求登入 Cloudflare 驗證,成功後建立 SSH Proxy。
也可以手動執行:
ssh -o ProxyCommand="cloudflared access ssh --hostname %h" admin@ssh.myn8n.dpdns.org
本篇展示如何在不開 port 的情況下,透過 Cloudflare Tunnel 安全存取內網 NAS。未來可進一步新增如 Metabase 等 Docker 應用,並用相同 Tunnel 提供外部安全服務入口。