使用 Cloudflare Warp 为单栈 VPS 添加双栈网络访问
Warp 是 Cloudflare 提供的一项基于 WireGuard 的网络流量安全及加速服务,能够让你通过连接到 Cloudflare 的边缘节点实现隐私保护及链路优化。
由于 Cloudflare 官方的 Warp Client 过于臃肿,导致我看到安装包大小后就决定直接放弃安装,于是我选择了 ViRb3/wgcf 替代。
安装依赖
可以前往 Releases 页面 下载编译好的二进制文件以供使用。
安装好之后运行 wgcf --help
,得到类似下图的输出即为安装成功:
另外还需按照 WireGuard 官网 上的说明安装 WireGuard 。
根据需求可能还需要安装 resolvconf
。
生成 WireGuard 配置文件
先使用 wgcf register
命令注册 Warp ,使用键盘上的方向键选择 「Yes」 并回车确认:
注册成功后的提示:
之后使用 wgcf generate
命令生成配置文件。
修改 WireGuard 配置文件
这是一份生成出来的配置文件:
[Interface]
PrivateKey = ******
Address = 172.16.*.*/32
Address = fd01:******/128
DNS = 1.1.1.1
MTU = 1280
[Peer]
PublicKey = ******
AllowedIPs = 0.0.0.0/0
AllowedIPs = ::/0
Endpoint = engage.cloudflareclient.com:2408
- 添加 IPv4 网络访问
- 删去
[Interface]
中的Address = fd01:******/128
; - 删去
[Peer]
中的AllowedIPs = ::/0
; - 将 Endpoint 的域名替换为解析出来的 IPv6 地址,如
[2606:4700:d0::a29f:c001]:2408
。
- 删去
- 添加 IPv6 网络访问
- 删去
[Interface]
中的Address = 172.16.*.*/32
; - 删去
[Peer]
中的AllowedIPs = 0.0.0.0/0
; - 将 Endpoint 的域名替换为解析出来的 IPv4 地址,如
162.159.192.1:2408
。
- 删去
如果不需要使用 Cloudflare 的 DNS 服务可以删去 DNS = 1.1.1.1
这一行,使用的话需要安装 resolvconf
。
启动 WireGuard 隧道
将刚才修改好的配置文件移动到 /etc/wireguard/
目录下,推荐命名为 wgcf.conf
,下面的操作以这个文件名为准。
使用 systemd enable --now wg-quick@wgcf
命令启动隧道,然后使用 wg show wgcf
命令查看隧道状态。
如果在启动时出现了错误,可以使用 systemd status wg-quick@wgcf
命令查看错误信息,修复后使用 systemd start wg-quick@wgcf
启动隧道。
之后就可以享受双栈网络带来的便利了~
注:日常如果需要重启隧道可以使用 systemctl restart wg-quick@wgcf
命令。
后记
折腾这些的原因是我从某个 Player IX 那里嫖的 VM 没有提供 IPv4 网络访问权限,这让我日常的维护工作麻烦了很多,于是我想到了 Cloudflare Warp 这个东西。CloudFlare Warp 提供的网络访问相较于 TunnelBroker.net 、 TunnelBroker.ch 等一众隧道要好很多,延迟并不像其他隧道那样高。
在查找资料的过程中我也发现了很多博客里面所描述的内容有误或已经过时,所以综合其他文章的内容加上自己的实践,写下了这篇文章。