Cloudflare WARP 讓德雞連上ipv4
前言
之前德雞失聯,我弄了個新帳號。害我搞好的warp設定通通消失!!本地編譯
apt-get update
apt-get upgrade
apt-get install -y libmnl-dev libelf-dev build-essential pkg-config golang git
下載wireguard-go原始碼,並編譯
git clone https://git.zx2c4.com/wireguard-go
cd wireguard-go
export GOPATH="/tmp/gobuild/"
go build -v -o "wireguard-go"
然後就能看到目錄下有一個wireguard-go檔案了
丟去德雞的 /bin 裡面,記得chmod 755
============以上作廢===================
忙了半天連不上,結果是最新版wireguard-go有bug,直接用舊版的就行了
去這裡下載 wireguard-go-linux-amd64.tar.xz ,解壓後丟去 /bin ,完事
https://github.com/AlexanderOMara/wireguard-go-builds/releases/tag/0.0.20181222
註冊WARP
我們從這裡下載wgcf二進制檔。一般來說挑_ linux_amd64 結尾的,重命名成wgcf和chmod 755
接著在WSL裡面註冊wgcf帳號,並產生設定檔。
WSL可以用任何一台ip乾淨的linux VPS代替。我手邊WSL最方便
這一步請準備乾淨的IP,不然cf不給註冊
應該也不用太乾淨,但是德雞裡面總是出現429 Too Many Requests,死活註冊不了(坑2)...
最後我在本地WSL才註冊成功...
./wgcf register ./wgcf generate
到這裡,應該就有wgcf-account.toml wgcf-profile.conf 這2個檔案了。
接下來這一步非常重要,務必注意。否則你的德雞會失聯
請把wgcf-profile.conf裡面的 AllowedIPs = ::/0 註解掉或刪掉
因為warp會同時代理ipv4流量和ipv6流量。
但是我們的ssh連線是透過ipv6,ipv6流量被代理我們就沒辦法ssh進去了
所以我們要註解掉ipv6部分的設定,只讓warp代理ipv4的流量
然後把DNS 改成 2606:4700:4700::1111 或是其他ipv6 DNS
改DNS則是為了重新開機還能運作。因為設定檔會把系統DNS改成 1.1.1.1 ,但是重新開機以後沒有改回來, 1.1.1.1 又連不上,導致連不上WARP
如果你是會去配置路由表,讓自家ssh不走代理,或是透過cf内網穿透ssh的進階玩家當我沒說
然後把 wgcf-profile.conf 這個檔案丟進德雞的 /etc/wireguard 就行了。資料夾不存在就建一個
德雞配置wgcf
apt-get install git wireguard-tools net-tools openresolv
export WG_I_PREFER_BUGGY_USERSPACE_TO_POLISHED_KMOD=1 wg-quick up wgcf-profile wg-quick down wgcf-profile
如果沒有出錯,就可以配置成systemd服務了
首先修改 /lib/systemd/system/[email protected] 文件,改成以下內容
[Unit] Description=WireGuard via wg-quick(8) for %I After=network-online.target nss-lookup.target Wants=network-online.target nss-lookup.target PartOf=wg-quick.target Documentation=man:wg-quick(8) Documentation=man:wg(8) Documentation=https://www.wireguard.com/ Documentation=https://www.wireguard.com/quickstart/ Documentation=https://git.zx2c4.com/wireguard-tools/about/src/man/wg-quick.8 Documentation=https://git.zx2c4.com/wireguard-tools/about/src/man/wg.8 [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/bin/wg-quick up %i ExecStop=/usr/bin/wg-quick down %i Environment=WG_ENDPOINT_RESOLUTION_RETRIES=infinity Environment=WG_I_PREFER_BUGGY_USERSPACE_TO_POLISHED_KMOD=1 [Install] WantedBy=multi-user.target
建立開機自啟動
systemctl enable wg-quick@wgcf-profile
systemctl start wg-quick@wgcf-profile
感想
我感覺下來,比起半年前配置這個,ubuntu20.04 搞起來起來真的輕鬆好多!
18.04的時候套件都是舊的,不相容wireguard-go
首先要先編譯go。再用編出來的go編譯wireguard-go。還有GCC版本要搞,搞了我大半天
20.04真的要啥有啥,只有wireguard-go需要編譯一下,剩下的apt-get都能搞定
速度還行,新帳號相比以前變慢了。以前有120mbps左右,現在剩50mbps。
留言
張貼留言