允許 Cloudflare Tunnel 使用 IPv6 連線

前言

許多人應該使用過 Cloudflare 的 Zero Trust 來讓自己的設備連上 Cloudflare 吧,不論你怎麼使用他,應該大部分的人都是使用 Cloudflared 這個客戶端。但是當我打開 Zero Trust 面板試幾次之後,發現這個工具似乎不會自己使用 IPv6 連線?!

如果你想在只有 IPv6 的裝置上使用他,一開始可能會直接失敗。因此,我翻閱了一些文件,最終找到了解決方式。

解決方法

其實 Cloudflared 是支援 IPv6 的,只是預設並不會好好的啟動他。這個就令我很困惑了,Cloudflare 應該是一間非常響應推廣 IPv6 的公司,但在這個癥結點竟然預設關閉。

而解決方案則是需要在服務設定檔裡面啟用他,我們需要編輯 cloudflared.service

sudo systemctl edit --full cloudflared.service

我們需要在 ExecStart 的命令裡加上 --edge-ip-version auto 讓他自動選擇 IPv6 或是 IPv4,就如同下方這樣。但實際上可以使用 --edge-ip-version 4 或是 --edge-ip-version 6 來強迫他維持在你希望的協定上。

001.jpg

完成後保存離開,並使用下面命令重新啟動 cloudflared

sudo systemctl restart cloudflared

這時候,你的 Tunnel 應該就會正常使用你所期望的協定囉!