前言:为什么要安装WARP?
因为WARP可以为你的服务器出口增加一层代理,也可以让你的Nat服务器变为拥有IPv4出口,或者让你的IPv4服务器拥有IPv6出口。

第一种方法(简单好用)

wget -N https://gitlab.com/fscarmen/warp/-/raw/main/warp-go.sh && bash warp-go.sh

或者(这种也可以刷warp+流量)

wget -N https://gitlab.com/fscarmen/warp/-/raw/main/menu.sh && bash menu.sh

第二种方法(繁琐,效果也不是很好,大多数时候hk地区也无法使用)

首先安装客户端

echo "deb http://deb.debian.org/debian buster-backports main" | tee /etc/apt/sources.list.d/buster-backports.list
apt update
如果报错,则执行
apt install gnupg
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0E98404D386FA1D9

然后继续安装客户端

apt install wireguard

使用wgcf生成WireGuard配置文件

安装wgcf

curl -fsSL https://raw.githubusercontent.com/P3TERX/script/master/wgcf.sh | bash

注册WARP账户,将生成wgcf-account.toml文件保存账户信息

wgcf register

生成WireGuard配置文件wgcf-profile.conf

wgcf generate

配置

编辑配置文件

cp wgcf-profile.conf /etc/wireguard/wgcf.conf
vi /etc/wireguard/wgcf.conf

如果需要获取IPv6就删掉 AllowedIPs = 0.0.0.0/0
如果需要获取IPv4就删掉 AllowedIPs = ::/0
不要两个同时启用,不然会导致你vps原本的ip地址无法连接上去

# 公网IP
PostUp = ip rule add from 101.17.32.124 lookup main
PostDown = ip rule delete from 101.17.32.124 lookup main

# 局域网IP(重要,很多失联的情况是因为这里没有添加)
PostUp = ip -4 rule add from 192.168.0.80 lookup main
PostDown = ip -4 rule delete from 192.168.0.80 lookup main

# IPv6
PostUp = ip -6 rule add from xxxx:b030:a42d:5dcd::50 lookup main
PostDown = ip -6 rule delete from xxxx:b030:a42d:5dcd::50 lookup main

最终的配置文件如下

[Interface]
PrivateKey = XXXXccLk0koKXBEwdUKs+OV62RDTK9cemms5lC16zUI=
Address = 172.16.0.2/32
Address = 2606:4100:220:852f:6fa4:b23c:2668:6b72/128
DNS = 1.1.1.1
MTU = 1280

PostUp = ip rule add from 101.17.32.124 lookup main
PostDown = ip rule delete from 101.17.32.124 lookup main
PostUp = ip -4 rule add from 192.168.0.80 lookup main
PostDown = ip -4 rule delete from 192.168.0.80 lookup main
PostUp = ip -6 rule add from xxxx:b030:a42d:5dcd::50 lookup main
PostDown = ip -6 rule delete from xxxx:b030:a42d:5dcd::50 lookup main

[Peer]
PublicKey = DDDDC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo=
AllowedIPs = 0.0.0.0/0
Endpoint = engage.cloudflareclient.com:2408

测试启动(临时启动)

wg-quick up wgcf

如果上面的启动命令可以完整执行(ssh没有退出),那就成功了,查看下情况

ifconfig|grep wgcf

如果报错找不到resolvconf,则进行安装
apt install openresolv

如果报错不支持,类似如下错误则可以尝试在上面安装wireguard后重启机器
[#] ip link add wgcf type wireguard
RTNETLINK answers: Operation not supported
Unable to access interface: Protocol not supported
[#] ip link delete dev wgcf
Cannot find device "wgcf"

关闭

wg-quick down wgcf
注意:有的时候会发现配置和启动都没有问题,但是就是无法正常使用(例如无法ping通google.com等),这是因为没有获取到IP,这个情况比较常见,可能上一次启动还可以获取IP,下一次重启都无法获取到IP了,这个时候需要不停重启wgcf服务,直到可以正常联网为止。

做为服务的方式启动(启用守护进程)

systemctl start wg-quick@wgcf

开机启动

systemctl enable wg-quick@wgcf

测试

测试IPv4

curl -4 https://tool.kyzy.cc/ip

测试IPv6

curl -6 https://tool.kyzy.cc/ip

第三种方法

安装官方 Warp 客户端和 proxychains4

apt update && apt install -y curl gnupg lsb-release proxychains4
curl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg |  gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/cloudflare-client.list
apt update && apt install -y cloudflare-warp

注册设备

warp-cli registration new # 看提示输入Y
warp-cli mode proxy
warp-cli proxy port 1835 # 可以自己改本地监听端口
warp-cli connect
warp-cli trusted wifi enable

修改配置

vi /etc/proxychains4.conf

最后一行 socks4 开头的内容改成

socks5 127.0.0.1 1835 # 上面那个端口

测试

proxychains4 curl ip.sb

应该会输出 cloudflare ip

使用

支持 socks5 代理的应用直接设置 sock5 代理,不支持的在命令前面加上 proxychains4,v2ray系需要添加一个 socks5 outbound 作为出口

参考文章
《Cloudflare WARP 教程:给 VPS 额外添加“原生” IPv4/IPv6 双栈网络出口》
《手动安装Cloudflare WARP》
《安装Wgcf 使用CF WARP 解锁Netflix》