Featured image of post 在 Asus Merlin 上設置 Cloudflare Tunnel

在 Asus Merlin 上設置 Cloudflare Tunnel

在 Asus Merlin 上設置 Cloudflared,並將內網服務通過 Cloudflare 進行代理,以提高服務的可用性和安全性。

最後更新
約 443 字

前言

Asus Merlin 是一個基於 Asus 官方韌體的第三方韌體,提供了更多的功能和選項。在原生韌體上,無法安裝 Cloudflared,因此需要使用 Asus Merlin 來安裝 Cloudflared。 使用 Cloudflared 可以將內網服務通過 Cloudflare 的全球 CDN 服務進行代理,以提高服務的可用性和安全性。而且可以在無公網 IP 的情況下,通過 Cloudflare 公開服務。

只需要幾個步驟,就可以在 Asus Merlin 上設置 Cloudflared,並將內網服務通過 Cloudflare 進行代理,進行內網穿透。

下載 Cloudflared

連接到 SSH,然後下載 Cloudflared。

1
2
3
4
curl -O -L \
  https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm \
&& chmod +x cloudflared-linux-arm \
&& mv cloudflared-linux-arm /opt/bin/cloudflared

設定開機啟動

1
2
touch /opt/etc/init.d/S99cloudflared
chmod +x /opt/etc/init.d/S99cloudflared

編輯 S99cloudflared

Cloudflare 上創建一個 Tunnel,並獲取 token。 位置: Networks -> Tunnels -> Create Tunnel

建立後,隨便選擇一個安裝環境,最後面長長的字串就是 token

以下指令會修改 /opt/etc/init.d/S99cloudflared,並新增以下內容,請將 REPLACE_WITH_YOUR_CLOUDFLARED_TOKEN_HERE_FIRST 替換為您的 Cloudflared Token。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
cat >> /opt/etc/init.d/S99cloudflared << EOF
#!/bin/sh
ENABLED="yes"
PROCS="cloudflared"
ARGS="--no-autoupdate tunnel run --token $REPLACE_WITH_YOUR_CLOUDFLARED_TOKEN_HERE_FIRST"
WORK_DIR=""
DESC=$PROCS
PREARGS=""
PRECMD=""
POSTCMD=""
. /opt/etc/init.d/rc.func
EOF

啟動及測試 Cloudflared

1
2
/opt/etc/init.d/S99cloudflared start
/opt/etc/init.d/S99cloudflared check

應該會看到以下輸出:

1
2
 Starting ...              done. 
 Checking ...              alive. 

使用 Hugo 建立
主題 StackJimmy 設計