靈活版的 Cloudflare Warp – WGCF

前言

前一篇文章 我們介紹了 Cloudflare Warp。但你可曾想過,他是否可以安裝在 Linux 上?以及,由於 Warp 同時支援 IPv4 及 IPv6,若我的主機上只有 IPv4 或 IPv6,我是否可以透過 Warp 來補足缺少的另一個?答案是 YES!

在 Github 上,有大神開發了一款名為 WGCF 的軟體。由於 Warp 是基於 Wireguard 開發而來的,因此 WGCF 能提取出 Warp 的金鑰。如此一來,我們要連上 Warp 就不一定要透過 Cloudflare 自己的軟體啦,也可以直接使用 Wireguard!

Github 連結:https://github.com/ViRb3/wgcf

安裝 Wireguard

由於我們是要直接使用 Wireguard 來連上 Warp,因此我們這邊需要安裝 Wireguard。

sudo apt-get install -y wireguard

如果你正在使用 Debian,建議是安裝一下 resolvconf,等等連上 Wireguard 比較不會出問題。

sudo apt-get install -y resolvconf

安裝完 resolvconf 可能需要重啟機器。

安裝 WGCF

WGCF 這款軟體是跨平台的,可以在 這裡 下載到。本次文章實驗的環境會在 Linux 上,且方法更為簡單。

在 Linux 上,我們可以直接使用 curl 執行一段網址,就可以直接裝上 WGCF 囉!

curl -fsSL git.io/wgcf.sh | sudo bash

001.jpg

安裝完之後,執行以下命令來註冊 Warp。(安裝過程中會遇到是否接受服務條款,請選擇 Yes

wgcf register && wgcf generate

002.jpg

接著,我透過 ls 命令,可以看到他建立了兩個檔案,分別是 wgcf-account.toml 以及 wgcf-profile.conf

003.jpg

wgcf-account.toml 是相關的註冊資訊,這篇文章不會介紹到他。

wgcf-profile.conf 這就是 Wireguard 文件,待會會使用到。

wgcf-profile.conf

我透過 cat 來顯示目前 wgcf-profile.conf 檔案內的內容。這邊有些許複雜,但是我盡可能的講解。

004.jpg

名稱 解釋
PrivateKey 就是你的私鑰,這個我們不要動。
Address 我們可以看到有兩個,一個是 IPv4、另一個是 IPv6。
DNS 目前是 1.1.1.1,有需要你也可以改成你喜歡的。
MTU 你可以針對你的網路環境調整,看不懂建議不要動。
AllowedIPs 符合條件的才走 Wireguard,0.0.0.0/0::/0 就都是代表全體的意思。

回覆前言所說的,如果我的機器上只有 IPv4 或是 IPv6,你就可以透過 WGCF 只獲得其中一個協定:

協定 處理方式
IPv4 註解掉上方 Address 的 IPv6 部分,也註解掉下方 AllowedIPs 的 ::/0
IPv6 註解掉上方 Address 的 IPv4 部分,也註解掉下方 AllowedIPs 的 0.0.0.0/0
IPv4 及 IPv6 保持預設即可。

連上 Warp

我們需要將 wgcf-profile.conf 這個檔案移至 /etc/wireguard 目錄底下。通常,我也會將這個檔案重新命名。

wgcf-profile.conf 重新命名成 wgcf.conf

sudo mv wgcf-profile.conf wgcf.conf

將檔案 wgcf.conf 移到 /etc/wireguard 底下。

sudo mv wgcf.conf /etc/wireguard

接著,我們就可以透過 wg-quick 命令來連上 Warp 囉!

sudo wg-quick up wgcf

005.jpg

若要將其下線,則使用:

sudo wg-quick down wgcf

若想要開機就起動這個 Wireguard,你可以:

sudo systemctl enable wg-quick@wgcf

測試可用性

透過 mtr 命令,我可以看到目前 Warp 的 IPv4 及 IPv6 都在正常運作!

mtr www.google.com -4

006.jpg

mtr www.google.com -6

007.jpg

結語

這就是這次介紹使用 WGCF 來連上 Warp 的方法啦!這樣的方式具有非常大的靈活性,你甚至可以結合其他 Wiregaurd 的功能來玩這個隧道!